TITLE: Method and apparatus for detecting possible correlations between signal patterns.
DESCRIPTION
Field of Application
The present invention relates to a method and to an apparatus for detecting possible correlations between signal patterns of a power signal used by an electronic device during execution of operations, comprising a phase of sampling a plurality of values of said power signal, at corresponding sampling time, a phase of setting couples of windows including respective couples of sequences of the sampling values and computing values of correlations between the couples of sequences.
Prior Art
As it is well known, an analysis of a power consumption on an electronic device may be indicative of the operations executed by the electronic device.
In particular, detecting devices and methods for detecting the power consumption of the electronic device provide to monitor a power signal consumed by such electronic device, hereinafter indicated as power signal.
Values of the power signal are sampled at sampling time intervals and stored in a memory of the detecting apparatus in order to detect a correlation between sampled values and/or a correlation between sequences of such sampled values.
In fact, a sequence of sampled values, also referred as signal pattern, repeated in a substantially same manner at different time intervals, may be indicative of a same operation performed in the corresponding time intervals.
More particularly, the detecting apparatus and methods mentioned above execute analysis on a plurality of signal patterns, stored in connection to corresponding time intervals, in order to identify correlations between two or more different signal patterns and to
retrieve information about the corresponding operations, executed by the electronic device.
For example, the detecting apparatus and methods for detecting power consumption may be used for establishing the security of an IC Card secure algorithm, i.e. a cryptographic algorithm. In this case, the analysis of the signal patterns is used to scan a vulnerability of the cryptographic algorithm: higher the correlations between signal patterns are, higher is the possibility to retrieve secure data, for example a cryptographic key stored inside the IC Card.
In other words, since the detection of repetition of signal patterns could be used to get information about the implementation of a cryptographic algorithm or to try to extract or identify data in the IC Card, detecting apparatus and methods must be used to test the vulnerability of the IC Card and to ensure its security, before its releasing.
A known method to detect repetitive patterns is based on a computation of a correlation function between sampled values of power signals: the correlation substantially result in a number, indicative of a degree of relationship between such sampled values and, consequently, a relationship between the operations performed by the electronic device.
More particularly, a correlation matrix is used to store correlations between sampled values, for example deriving by the sampling of a power signal S through a low pass filter, having a bandwidth determined empirically.
With reference to figure 1 a diagram 10 schematically shows sampled values of a power at corresponding sampling time intervals.
A window Bs is defined to detect correlations between sampled values in a corresponding time interval T0-T2 and a step (Step) is defined for advancing the window Bs, in order to detect correlations between sampled values in an advanced time interval T1-T3.
The length of the step Step is less than the length of the window Bs so that, when the window Bs is advanced, the correlation function may comprise some sampled values belonging to the corresponding time intervals TO-Tl, whereon the window Bs was previously set.
A sequence of sampled Si, including a plurality of sampled values may for example be processed according to the formula:
s, = S(t) Vt e [i - Bs, (i + 1)- Bs]
The correlation matrix, hereafter C, may be calculated as
,
where r is the correlation coefficient between the sequences Si and Sj, indicative of the degree of similarity between such sequences of sampled values.
The detecting apparatus and method may process the correlation matrix C for a plurality of samples values and display a result of the computation on a two dimensional image, for example on a monitor connected to the detecting device, representing the repetition of signal patterns.
As it is apparent from figure 2, the image representing the correlation matrix C, even if it is one of the best graphical results achievable through a known detecting apparatus and method, does not provide a clear representation of the correlation matrix.
More particularly, the correlation matrix C in figure 2 comprises sub- matrix wherein an high correlation between signal patterns is represented with a substantially grey square .
As it is apparent, in the matrix of figure 2, the grey square representing a correlation of two signal patterns is not clear, even when such patterns are strictly correlated so that it is really difficult to analyze the graphical representation of the correlation matrix C to determine different degrees of correlations.
According to the known method for detecting correlations, the graphical appearance of the correlation matrix C substantially depends on the length of the window Bs and on the step Step, used to process correlation matrix C. In order to obtain a good graphical representation of the correlation matrix C, several empirical executions must be processed. Moreover, even for a length of the window Bs and for a step
Step conveniently set, the graphical resolution may depend by the number of greys used to plot it.
Another known drawback is that a correlation matrix calculated with short Step, in order to determine correlations with high precision, are very large size matrix and require a- lot of memory to be stored.
Moreover long post-processing time are required if further elaboration are needed.
The technical problem at the basis of the present invention is that of providing a method for detecting possible correlations between signal patterns corresponding to the power consumption of an electronic device able to quicken the time and steps needed to process a correlation matrix, not memory size consuming and at the same time determining with high precision the correlations, providing deeper and faster test for the security of the electronic device and overcoming the limits that currently affects the detecting method for signal patterns.
Summary of the invention
The solution idea on which the present invention is based, is that of providing a method for detecting correlations between signal patterns of a power signal of the type described above, wherein, for each sequence Si of sampled values representing a signal pattern in a window Wi of the power signal, a maximum value of correlation is processed.
Such maximum value is determined with respect to a plurality of sequences Sik of sampled values that represents signal patterns in windows Wik, selected near the window Wi and having the same size.
The window Wi is reset, substantially advanced of the size of the window itself, in order to process the maximum value for a plurality of sequences Si, representing corresponding signal patterns. Only the maximum values so determined are stored in a correlation matrix, not requiring large memory size and determined without empirical selection of a specific Step for advancing the window Si.
This problem is solved, according to the present invention, by a method for detecting correlations between signal patterns of a power signal of
the type consumed by an electronic device during execution of operations, comprising:
- sampling a plurality of values of said power signal at corresponding sampling times;
- setting couples of windows including respective couples of sequences of said sampling values;
- computing values of correlations between said respective sequences, characterized by the fact that
each of said values is determined by computing a maximum value of correlation between one sequence of said couples and a plurality of sequences of sampled values, included in corresponding moving windows.
Further characteristics and the advantages of the method according to the present invention will be apparent from the following description of an embodiment thereof, made with reference to the annexed drawings, given for indicative and non-limiting purpose.
Brief description of drawings
Figure 1 represents in a diagram, values of a power signal consumed by an electronic device, the values being sampled by a method according to the prior art;
figure 2 is a plot of a correlation matrix processed on the sampled values of figure 1 by a method according to the prior art;
figure 3 represents in a diagram, the values of a power signal consumed by an electronic device, sampled by a method according to the present invention;
figure 4 is a plot of a correlation matrix processed on sampled values according to the detecting method of the present invention.
Detailed description
With reference to the annexed drawings, a method for detecting
correlations between signal patterns of a power signal S is hereafter described. More particularly, the power signal S is used or consumed by an electronic device during execution of operations.
The electronic device is for example an IC Card storing a plurality of data in a memory portion and intended to be connected to a read-write device, in order to be updated or read. The IC Card includes security means, for example a secure key and a cryptographic algorithm, in order to execute security operation for protecting sensible data stored inside its memory portion.
During execution of operations, the IC Card consumes the power signal
S, depending on a computational requirement of such operations.
According to the method of the present invention, a sampling of a plurality of values S1, SN of the power signal S is executed as follows:
S(th) = Sh,
where Sh is the value of S at time th, 1<= h <= N; in figure 3, a value of N is 0.01.
A sequence Si of sampled values Sh represents a signal pattern of the power signal S; the sequence Si comprises a plurality of sampled values Sh, for example filtered through a low pass filter, known in the art.
A plurality of sequences Si, Sj of sampled values Sh is stored in a memory portion of a detecting device, for example a personal computer connected to the read-write device, in order to process correlations between every couple of the sequences Si, Sj.
The correlations between couples of sequences Si, Sj of sampled values Sh is stored in a correlation matrix C(i,j).
According to the present invention a value of the correlation matrix C(i,j), for specified values of i and j, is determined by processing a maximum values of correlations between the sequence Si, and a plurality of sequences Sj k- varying the parameter k.
More particularly, for each i and j the power signal S is sampled on the base of a couple of windows Wi Wj comprising respective sequence Si, Sj
of Bs sampled values Sh. The windows Wi Wj of Bs sampled values arereset or moved to execute analysis on the repetitions of signal patterns associated to different portions of the power signal S.. For example, an advanced window Wj+t may include sampled values Sh already included in a previous sequence Si or it may include sampled values not previously considered.
Given a values of i and j for a corresponding couple of sequences Si and Sj of sampled values, a plurality of correlations r are processed for determining a corresponding value of the correlation matrix C(ij).
More particularly, given a couple of sequences Si, Sj of sampled values
Shthe correlation value is processed as follows:
C(/j ) = MαxAjφ,,/)|J, (l)
where
Sj = S(t) Vt e \/ - Bs + k,(f + 1)- Bs + k] k e [- Bs,Bs] (2)
k e [- Bs, Bs] (3) k e [θ,Bs] (4)
k] k s [- Bs, θ] (5) s, = S(t) Vt e [i ■ Bs, (i + 1) • Bs] (6)
In other words, a correlation value (Max( | r(Si, S,k) | )) for the correlation matrix C(ij) is not calculated only on the base of a couple of sequences Si, Sj of sample values Sh, belonging to respective windows Wi, Wj of Bs samples but on a plurality of couples of sequences obtained by coupling a sequence Si and a plurality of sequences Sj k of sampled values Sh.
In order to better understand the method of the present invention an example of sequences of sampled values are given for some values of i and j. With reference to formula (2), a plurality k of sequences S, are sampled for each value of j.
For example, for j=l,
Sik = S(t) with t ε [Bs+k, 2Bs+k] and k ε [-Bs, Bs]
According to the formula here above, when k is equal to its minimum value -Bs,
SrBs=S(t) with t ε [0,Bs] while,
when k is equal to its maximum value +Bs,
Similarly, for j=2,
S2k = S(t) with t ε [2Bs+k, 3Bs+k] and k ε [-Bs, Bs]
More particularly, when k is equal to its minimum value -Bs,
S2-Bs=S(t) with t ε [Bs, 2Bs];
when k is equal to its maximum value +Bs,
S2 +Bs=s(t) with t ε [3BS, 4BS]
With reference to formula (6), sequences Si are sampled for each value of i, for example
S1 = S(t) with t ε [Bs, 2Bs];
S2 = S(t) with t ε [2BS> 3Bs];
With reference to figure 3 the sequences SrBs, Si+Bs, S1 1 and S1 are schematically represented.
The sequences SrBs, Si+Bs, S1 1, as well as other sequences S ik not indicated in figure 3, are used to process corresponding values of a correlation with the sequence S 1.
The maximum value of such correlations, Max( | r(Si, Sjk) | ), is stored in the correlation matrix C(i,j). Such a computation is repeated for different values of i and j, varying the parameter k, for all the values of the correlation matrix C(ij).
More particularly, a cell of the correlation matrix C, reports the maximum values of all the correlation values processed on the couples of sampled values Si, Sj k, varying the parameter K.
As described by the formulas above, the method of the present invention set a range for the selection of the parameter K, such range being determined in order to include sampled values not only belonging to the window W, of Bs samples but also belonging to a plurality of window Wj k.
Moreover, , not only the sampled values belonging to the window Wj are used for determining a maximum value of correlation but also sampled values belonging to a window Wj-1, set by a previous execution of said phase for setting.
The window Wj, when the processing of the correlations inside it is finished, is advanced of a step equal to the size of the windows Wj .
Advantageously, no several empirical executions of the method of the present invention are required to optimize the determination of the correlation matrix, nor the rendering of its graphical representation.
In fact, a step for advancing the window Wj is equal to the window size
Wj itself; the parameter K provides to include the processing of sampled values included in a plurality of windows Wj k.
A formula (4) is used to determine the sequences S,k of sampled values when j=0, corresponding to a first sequences of sampled values. In fact, since no sampled values are available before the sampling time 0, in this case the parameter k is set to be included in the closed interval [0, Bs], in order to relate to sampled values in a windows Wo.
Similarly, the method defines a formula (5) to determine the sample values Sj when j=N, corresponding to the last sampled value. In fact, since no sampled values are available after the sampling value N, the parameter k is set to be included in the closed interval [-Bs, 0], so that k may relate to sampled values included in the windows prior to the current windows.
The setting of windows and the correlations are iterated, as well as the phase of processing a maximum value of said correlations, so that the power signal S is scanned and the corresponding signal patterns may be compared.
Figure 4 schematically represents a graphical representation of the correlation matrix C(ij) determined by a computation according to the method of the present invention, such graphical representation being a grey map rendering easier with respect to the prior art, the detection of repetition of signal patterns.
Advantageously, not only the correlation matrix C(ij) stores maximum values of correlations but also the graphical representation of the correlation matrix allows deeper and faster analysis, the gray scale map rendering signal pattern repetitions more distinguishable.
Advantageously, the method for detecting the correlations between signal patterns according to the invention represents such correlations in a well rendered graphical reproduction, quickening the time needed to determine the correlations and enforcing their evidence, distinctly indicate an high level of correlation and a low level of correlation.
The analysis of repetitive pattern through the method of the present invention results in a deeper and faster test for the security of the electronic device and overcomes the limits related to the prior art method.
The present invention also relates to an apparatus for detecting correlations between signal patterns of the type consumed by an electronic device during execution of operation.
The apparatus includes:
An electronic reader for the electronic device.
Without limiting the scope of protection of the present invention, the electronic device is for example an IC card and the electronic reader is an IC Card reader of the type comprising a slot for receiving the IC Card and a plurality of contact pads for coupling with corresponding contact pads on the IC Card.
The IC Card reader is connected, via standard communication channel, to a central processing device, intended to send instructions to the IC
Card. The instructions sent from the central processing device to the IC
Card reader are of the type requiring an execution of sensible
information on the IC Card.
Upon receipt of an instruction, the IC Card executes a plurality of operations, processes a result and returns it to the central processing device.
According to the apparatus of the invention, a sampling device is connected between the IC card reader and the central processing device, substantially along the standard communication channel, in order to detect a power signal consumed by the IC Card during execution of operations.
The sampling device is for example an oscilloscope.
More particularly, the power consumed by the IC Card is sampled during a plurality of time intervals; a plurality of values sampled is forwarded to the central processing device.
Such central processing device stores the sampled values in an internal memory and executes a detection of a correlation between the sampled values. More particularly, the sequences Si, Sjk of sampled values Sh are stored in a memory of the central processing device in order to be compared for detecting a correlation between couples Si, Sj of sequences of sampled values Sh.
Sequences Si, Sj of such sampled values Sh, repeated in a substantially same manner at different time intervals, are displayed through a graphical representation, plotted on a display connected in conventional way to the central processing device.
More particularly, the memory of the central processing device stores sequences Si, Sj of the sampling values Sh substantially representing a portion or a signal pattern of the power signal consumed by the IC Card.
Moreover, the memory of the central processing device also stores a plurality of subset of sampling values Si, Sj, representing different portions o of the power signal.
The memory portion of the central processing device also stores a
correlation matrix representing all the correlations between couples of sampled values Si, Sj . Each value stored in the correlation matrix inside the memory portion is a correlation value representing the maximum values of all the correlation values of sampled values Si, s,k.
Advantageously, the memory portion stores maximum values of correlations and the graphical representation displayed allows deeper and faster analysis. The graphical representation is a gray scale map rendering signal pattern repetitions easy distinguishable.
Advantageously, the apparatus for detecting correlations between signal patterns according to the invention stores correlations that may be displayed in a well rendered graphical reproduction, quickening the time needed to determine the correlations and enforcing their evidence distinctly indicate an high level of correlation and a low level of correlation.