WO2011000756A1 - Method for detecting an attempted attack, recording medium, and security processor for said method - Google Patents

Method for detecting an attempted attack, recording medium, and security processor for said method Download PDF

Info

Publication number
WO2011000756A1
WO2011000756A1 PCT/EP2010/058949 EP2010058949W WO2011000756A1 WO 2011000756 A1 WO2011000756 A1 WO 2011000756A1 EP 2010058949 W EP2010058949 W EP 2010058949W WO 2011000756 A1 WO2011000756 A1 WO 2011000756A1
Authority
WO
WIPO (PCT)
Prior art keywords
attack
processor
concomitance
events
value
Prior art date
Application number
PCT/EP2010/058949
Other languages
French (fr)
Inventor
Emmanuel Barau
Olivier Granet
Patrick Socquet
Original Assignee
Viaccess
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Viaccess filed Critical Viaccess
Priority to MX2011013513A priority Critical patent/MX2011013513A/en
Priority to EP10731487A priority patent/EP2449497A1/en
Priority to CN201080029645.8A priority patent/CN102473209B/en
Priority to RU2012102988/08A priority patent/RU2568298C2/en
Priority to US13/378,709 priority patent/US9600667B2/en
Priority to BRPI1013816A priority patent/BRPI1013816A2/en
Publication of WO2011000756A1 publication Critical patent/WO2011000756A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information

Definitions

  • the invention relates to a method for detecting an attempt to attack a security processor by the security processor itself.
  • the invention also relates to an information recording medium and a security processor for the implementation of this method.
  • Security processors are, generally, hardware components containing confidential information such as cryptographic keys or access rights that only legitimate users can use. To preserve the confidentiality of this information, they are designed to be as robust as possible against attack attempts by hackers.
  • a security processor is a smart card equipped with an electronic processor.
  • Security processors are subject to different types of attack. Some of these attacks are aimed at extracting or determining the confidential information contained in the security processor. For this purpose, a multitude of attacks have been developed. For example, some of these attacks seek abnormal operation of the security processor by processing messages built by hackers. Other more invasive methods seek to disrupt the operation of the security processor at key moments in its operation by changing its supply voltage or using a laser beam directed to the security processor.
  • Card sharing is to decipher by the same security processor several encrypted control words from different receivers. As before, all these receivers can then descramble the scrambled multimedia content while only one of these receivers is entitled to access the content.
  • the countermeasure is an action that aims to prevent the attack against the security processor from lasting or can not be fruitful.
  • the difficulty is that events representative of an attempted attack may also occur in the absence of an attempted attack.
  • it is necessary to avoid producing false detections of attempted attack because they can result in the untimely execution of countermeasures which then impede the legitimate user of the security processor.
  • the predetermined threshold a value much higher than all the measurements that can be obtained in the absence of attack.
  • the choice of a high predetermined threshold makes some attacks undetectable or slows the detection of an attack attempt.
  • the invention aims to remedy this problem by proposing a method of detecting an attack attempt also comprising:
  • the above method takes into account the temporal proximity between different events occurring in the security processor. This makes it possible to detect an attack attempt more quickly or to detect an attack attempt that could not be detected by observing the measurement of a single event. Indeed, taken individually, the measurement of each of these events may not be quickly representative of an attack attempt since these events occur during normal operation of the security processor. On the other hand, when these events occur almost concomitantly when normally they must occur independently of each other, this indicates, with a high degree of confidence, that an attempted attack takes place. The above method therefore allows the security processor to detect quickly and with a high degree of confidence that it is the victim of an attempted attack. The execution of the appropriate countermeasures can then be triggered more quickly.
  • the value of the attack indicator is constructed from several indices of concomitance between different measured events and weighting the importance of these concomitance indices with respect to one another by means of a predetermined game weighting coefficients;
  • the method comprises constructing a plurality of attack indicator values by using a plurality of different sets of weighting coefficients between the same concomitance indices, each set of weighting coefficients being predetermined to be more sensitive to a different attack attempt. those to which the other indicators are more sensitive;
  • the weighting coefficient of the same concomitance index is the same in all the sets of weighting coefficients used to construct the different values of attack indicators
  • the measurement of an event is limited to a sliding time window so as not to take into account events that occurred outside this time window, to establish that the events are concomitant in the measurement of this time window ;
  • At least one of the events measured is the detection of a security processor operating error, each occurrence of which causes the security processor to stop the current processes and automatically reset itself to resume these processes from the beginning;
  • weighting coefficients between the concomitance indices makes it possible to simply modify the sensitivity of the attack indicator constructed to a particular type of attack by modifying the value of these weighting coefficients.
  • the use of several different sets of weighting coefficients makes it possible, from the same set of concomitance indices, to construct several attack indicators each dedicated to detecting a different attack attempt,
  • the invention also relates to an information recording medium comprising instructions for executing the above method, when these instructions are executed by an electronic computer.
  • the invention also relates to a security processor comprising:
  • FIG. 1 is a schematic illustration of a scrambled multimedia content transmission system comprising a security processor
  • FIG. 2 is a schematic illustration of a matrix of weighting coefficients used by the security processor of the system of FIG. 1,
  • FIG. 3 is a schematic illustration of an alarm threshold table used by the security processor of FIG. 1
  • FIG. 4 is a flowchart of a method for detecting an attempt to attack the security processor of the system of FIG. 1.
  • Figure 1 shows a pay system broadcast content multimedia.
  • system 2 is a system for broadcasting multiple scrambled TV channels. The descrambling of each of these television channels or group of television channels is conditioned to the payment of a subscription by subscribers.
  • the terms "scramble” / "encrypt” and “unscramble” / “decipher” are considered synonymous.
  • the system 2 comprises at least one transmitter 4 scrambled multimedia content and a multitude of receivers able to descramble the multimedia content broadcast by the transmitter 4. To simplify Figure 1, only a receiver 6 has been shown. For example, the other receptors are identical to the receiver 6.
  • the receiver 6 is connected to the transmitter 4 via a network 8 long distance information transmission.
  • the network 8 may be a wireless telecommunications network or a wired network such as the Internet.
  • the transmitter 4 broadcasts multiplexed multimedia content with ECM (Entitlement Control Message) and EMM (Entitlement Management Message).
  • ECM Entitlement Control Message
  • EMM Entitlement Management Message
  • Each ECM message comprises at least one CW * cryptogram of a CW control word for descrambling the scrambled multimedia content.
  • the receiver 6 comprises a decoder 10 and a security processor 12 removably connected to the decoder 10.
  • the decoder 10 comprises a receiver 14 of the data transmitted by the transmitter 4 connected to a demultiplexer 16.
  • the demultiplexer 16 demultiplexes the received data and transmits the scrambled multimedia content to a descrambler 18 and ECM or EMM messages to the processor. security 12.
  • the processor 12 receives the cryptogram CW * and decrypts the cryptogram to return the CW control word in clear to the descrambler 18. This decryption is only authorized if the access titles contained in the ECM message correspond to access rights stored in the security processor 12.
  • the processor 12 is the processor of a smart card.
  • the descrambler 18 descrambles the scrambled multimedia content using the CW control word decrypted by the security processor 12.
  • the multimedia content descrambled is then, for example, displayed in clear on a screen 20 so that the displayed multimedia content is directly perceptible and comprehensible to the user.
  • the processor 12 comprises an electronic computer 24 connected to sensors 26, 27 and a set 30 of registers.
  • the sensor 26 comprises a voltage transducer capable of converting the supply voltage of the processor 12 into a digital data item that can be used by the computer 24.
  • the sensor 27 comprises a light transducer capable of converting photons of a laser beam directed on the processor 12 into digital data that can be used by the computer 24.
  • the assembly 30 comprises eleven registers referenced Co to C10.
  • Each of the registers Ci to C10 is intended to contain a measurement of an event that can be triggered by an attempt to attack the processor 12.
  • the measured events can also occur in the absence of an attempted attack. However, in the absence of attempted attacks these measured events occur independently of one another. Thus, it is likely that in the absence of an attempted attack, the measured events occur concomitantly. Concomitantly, it is meant that they occur during the same time window.
  • a time window is associated with each measured event. This time window can have a finite duration or, on the contrary, infinite. In the case of a finite duration, this means that the events that occur outside this time window are not taken into account in the measurement of this event.
  • a time window of finite duration is a sliding time window.
  • This sliding time window has a finite duration that is shifted as time passes to take into account only the most recent events for the measurement of this event.
  • An infinite duration means that all events are taken into account for the measurement since the measurement of this event was triggered.
  • the measurement of an event consists in counting the number of times this event has occurred during the time window associated with this event.
  • each of the registers contains a representative number of the number occurrences of the same event. Therefore, in the rest of this description, the registers Ci are called counters Cj.
  • measured events There is a large number of measurable events. Typically, measured events fall into one of the following categories:
  • the operating errors may be errors in the execution of the code of the operating system of the processor 12, the measurement by the sensors 26 or 27 of an abnormal situation, the discovery of an integrity error on processed data, ... etc.
  • the processes in progress are interrupted and the processor 12 resets automatically.
  • the counter Ci contains the number of times a command to consult the data of the processor 12 has been received. Indeed, a certain number of data contained in the processor 12 are freely available. For example, there are commands to consult the identification number of the processor 12 or the access rights stored in the processor 12. The receipt of a consultation command is therefore a normal event as long as it is occasional. On the other hand, enumeration of a large number of data look-up commands of the processor 12 over a short time interval can be caused by an attack attempt.
  • the counter C2 indicates the presence of unusual rights registered in the processor 12.
  • An unusual right is a right that the operator of the system 2 normally does not use. For example, most operators never enter a security entitlement for security processors longer than one year. Therefore, a right entered in the processor 12 whose validity is greater than one year, for example a right of infinite validity, is an unusual right even if this possibility is technically provided. Similarly, normally, the operator never enters a right allowing access and decryption of all multimedia contents in the security processors. Under these conditions, the registration of a right authorizing access to all these multimedia contents in the processor 12 is considered as an unusual right. Registration of a right Unusual in the processor 12 may come from an operator error but may also be representative of an attack attempt.
  • the counter C3 counts the number of messages received by the processor 12 which have no functional utility for the processor.
  • a message without any functional utility can be:
  • a message deleting non-existent data for example: access code, (7) in the processor, or
  • the counter C 4 counts the number of syntax errors in the messages transmitted to the processor 12, that is to say typically in the ECM and EMM messages transmitted to this processor. Indeed, the syntax or structure of ECM and EMM messages respects a predetermined grammar.
  • the processor 12 can therefore detect these syntax errors and count them in the counter C 4 . Syntax errors can be caused by an operator error but also during an attack attempt.
  • the counter C5 is a counter of replayed commands whereas they should not normally be replayed several times.
  • the replay of an order consists of sending the same command several times to the security processor.
  • the command may be a message for updating certain data stored in the processor 12.
  • a replay of a message may be detected by the processor 12 by recording the date of the last update message.
  • the counter Ce counts the number of integrity errors detected in the messages received by the processor 12.
  • the messages received by the processor 12 contain data and a cryptographic redundancy of these data, which which allows the processor 12 to verify that there is no error in the received data.
  • the redundancy on the data can be obtained by integrating in the message received a signature or a CRC ("Cyclic Redundancy Check") data contained in this message. Errors in the data contained in the message can be caused by disturbances during their transport in the network 8 or in the decoder 10. However, erroneous data are also used during an attack attempt.
  • the counter C 7 counts the number of integrity errors on data contained in the processor 12.
  • a certain number of data recorded in the processor 12 are associated with a cryptographic redundancy for verifying the integrity of the respective recorded data. Again, it may happen accidentally, for example following electromagnetic disturbances, that a data stored in the processor 12 is erroneous. However, the presence of erroneous data recorded in the processor 12 may also be representative of an attack attempt.
  • the counter Cs counts the number of traps during the execution of the operating system code of the processor 12.
  • a trap is an unwanted or erroneous jump of an instruction of the code executed by the processor 12 to another instruction. These traps in code execution can be detected by executing the same instructions twice on the same data. If the two executions of the code do not give the same result, it signals a diversion. Unintentional jumps of instructions in the code executed by the processor 12 can be caused by playing on the supply voltage of the processor 12 or by directing a laser beam towards this processor 12.
  • the counter Cg count the number of times the data recovery procedure following a tear of the processor 12 is executed.
  • the breakout of the processor 12 consists in removing, during operation, the processor 12 of the decoder 10 so that the power of the processor 12 is interrupted during data processing.
  • the data recovery procedure makes it possible to restore, after such a power failure, the processor 12 in the state in which it was before this power failure.
  • the processor 12 may be accidentally torn from the decoder 10. However, untimely power cuts to the processor 12 are also frequently used during an attack attempt to prevent the processor 12 from executing countermeasures.
  • the counter C10 counts the number of times an abnormal supply voltage is measured by the cumulative sensor 26 to the number of times a laser beam is detected by the sensor 27.
  • abnormal voltages and the presence of a laser beam are typical of an attempt to attack the processor 12.
  • these sensors 26 and 27 can also detect an abnormal voltage or the presence of a laser beam accidentally following, for example, electromagnetic disturbances caused by a device near the processor 12 and this even in the absence of attempted attack.
  • the powering on of the decoder 12 may result in the detection of an abnormal voltage by the sensor 26.
  • the counter Co is distinguished from the previous counters since it counts an event that occurs only during normal operation of the processor 12 and can not be caused by an attack attempt.
  • the event counted by the counter Co is the number of ECM and EMM messages correctly processed by the processor 12.
  • the value of this counter Co is used to limit the time memory of some of the previous counters to a sliding time window of finite duration.
  • the value of the counter Co is subtracted from the value of the counter Ci, where i> 0, and only the difference between these two counters, brought to zero if it is negative, is used in the calculation of a concomitance index as described below.
  • the computer 24 is connected to a memory 32 containing the various data and instructions necessary for the operation of the processor 12.
  • the memory 32 comprises:
  • a matrix 36 of weighting coefficients and a table 38 of alert thresholds is shown.
  • matrix 36 An example of matrix 36 is shown in more detail in FIG. 2.
  • This matrix 36 contains as many columns as event counters that can be triggered by an attack attempt.
  • the matrix 36 is thus a matrix with ten columns each associated with a counter Ci.
  • the matrix 36 also contains nine lines associated, respectively, with the counters C2 to C10.
  • each concomitance index is constructed in such a way that its value is all the higher when a large number of events measured by the counters Ci and Cj + 1, respectively, occurred near the same instant.
  • each concurrency index QC j + i corresponds to the product of the values of the counters Ci and Cj + 1 at the same instant.
  • the alert threshold table 38 illustrated in FIG. 3 comprises a first column containing four warning thresholds Si at S 4 . Each alert threshold is a numeric value and these alert thresholds are ranked in ascending order from top to bottom in table 38.
  • the table 38 also contains a second column associating with each threshold If one or more countermeasures noted CMi. Countermeasures are actions performed by the security processor 12 which aim to make it more difficult to extract or determine the data contained in the processor 12 or the misuse of this processor 12.
  • the countermeasures CMi associated with the threshold Si are less severe and less disabling for the processor user than those associated with the upper alert threshold Si + i.
  • the higher the alert threshold If crossed, the higher the countermeasures CMi executed in response are severe.
  • the countermeasures CMi consist in adding redundancy to the conditional branches of the code to be executed by the processor 12. For example, this redundancy is obtained by executing the conditional connection several times and checking that at each execution the result obtained is the same.
  • the countermeasure CMi consists in adding in addition to the redundancy on the verification operations of the integrity of the processed data. For example, the integrity of the data is checked several times whereas if the threshold Si is not crossed, it is checked only once. It also consists of verifying the integrity of data whose integrity is not verified if the threshold Si is not crossed.
  • the countermeasures CM 2 consist, for example, in adding restrictions on the possibilities of chaining instructions of the code executed by the processor 12. This can be obtained by forcing the processor 12 to execute a complete block of instructions without allowing interruption between the execution of the instructions of this block.
  • the countermeasure CM 2 also consists in deleting certain previously authorized functions of the processor 12 when the threshold S 2 has not been crossed. For example, adding new services such as adding a new operator or subscription is prohibited. Access to the administrative functions of the processor 12 can also be prohibited if the threshold S 2 is crossed.
  • the countermeasures CM3 consist in modifying the weighting coefficients present in the matrix 36 so that the upper threshold, that is to say S 4 , is easily and rapidly reached when events are measures.
  • the sensitivity of the processor 12 to the detection of an attack attempt is increased.
  • CM 3 countermeasures also include the systematic and duplicate verification of the integrity of each message received.
  • Countermeasures CM 3 can also consist of strengthening the controls of the flow of execution. This may include running twice each portion of the executable code by the processor 12 and compare at the end of these two executions that the results obtained are the same. In case of discrepancy between the results obtained, the counter Ce is incremented.
  • the countermeasures CM 4 consist in permanently invalidating the processor 12 so that it is permanently unusable. For example, for this purpose, the confidential information contained in the processor 12 is erased.
  • the processor 12 In parallel with the normal operation of the processor 12, it also performs a method of detecting an attack attempt. For this purpose, during a step 50, it measures the events likely to be caused by an attempted attack. Here, this measure consists of counting in the counters C 1 the corresponding event.
  • the processor 12 builds three attack indicators, respectively, h, I 2 and I 3 .
  • the indicator h is designed to be more sensitive to laser disturbance attack attempts than the indicators I 2 and I 3 .
  • a laser disruption attack is to direct a laser beam on the security processor to cause instruction jumps in the code executed by that processor at key moments in its execution. Key moments typically correspond to conditional branching.
  • rrij j is the weighting coefficient whose value is contained in matrix 36.
  • the indicator I 2 is designed to be more sensitive than the other two to the logical attacks.
  • a logical attack is to look for a software flaw or an implementation error in the code executed by the processor 12 so as to obtain abnormal behavior of this processor. For example, the logical attack is to send a very large number of erroneous messages to the processor 12 all different from each other until one of these messages causes abnormal behavior of the processor 12.
  • the value of the indicator I 2 is constructed using the following relation:
  • I 2 mi, 2 CiC 3 + mi, 3 CiC 4 + m 3 , 3 C 3 C 4
  • the indicator I 3 is designed to be more sensitive to differential power analysis (DPA) attempts.
  • DPA differential power analysis
  • a DPA is to send a large number of messages to the processor 12 to cause a large number of executions of the cryptographic algorithms on a large number of data different and to measure, in parallel, the current consumption of the processor 12. Then, by a statistical analysis on the data collected, it is possible to discover what are the values of the keys or confidential data stored in the processor 12.
  • the indicator I 3 is constructed using the following relation:
  • I3 ( 114.4C 4 Cs + m4.5C4C6 + ( 115.5CsCe.
  • the value of these indicators is compared to the different alert thresholds recorded in the table 38 to detect an attempt to attack.
  • the transmitter 4 transmits, for example by means of an EMM or ECM message, new values for the weighting coefficients. Then, during a step 62, the processor 12 receives this message and updates the values of the weighting coefficients contained in the matrix 36.
  • the updating of the weighting coefficients makes it possible to easily modify the sensitivity of an indicator to a particular attack attempt.
  • the processor 12 may comprise several different matrices of weighting coefficients. Each of these matrices can be used to calculate a respective attack indicator. This then makes it possible to assign to each concomitance index a different weighting coefficient as a function of the attack indicator constructed.
  • the use of multiple weighting matrixes can also be useful for modifying the weighting matrix used when a new alert threshold is crossed.
  • a single attack indicator can be constructed instead of several.
  • alert thresholds associated with a particular attack indicator are therefore not necessarily the same as the alert thresholds associated with another attack indicator.
  • the table 38 can also be replaced by a single alert threshold associated with countermeasures.
  • One of the counters O can simply count the existence of an event without counting the number of occurrences of this event.
  • the value of this counter is codable using a single information bit.
  • the value of this existence counter can be associated with a time window of infinite or finite duration.
  • the processor 12 may also include a temperature sensor.
  • the concomitance index is not limited to the product of two measurements. For example, it may also be a product of more than two measurements. However, increasing the number of measurements multiplied between them also increases the size of the matrix of weighting coefficients.
  • countermeasures may be executed in response to crossing an alert threshold by one of the attack indicators.
  • other countermeasures may consist of modifying the cryptographic algorithm executed by the processor 12.
  • a countermeasure may also consist of using or measuring new events to construct an attack indicator that was previously not not measured. For example, in response to crossing an alert threshold, the events measured by one of the sensors 26 or 27 can be counted whereas previously they were not.
  • the computer 24 may be formed of one or more processors. For example, it may be formed of a processor with which a coprocessor is associated. The detection method can then be executed by both the processor and the co-processor.
  • the measurement has been described here in the particular case where it is a question of counting the number of occurrences of an event.
  • the measurement can also consist in recording in one of the registers the value of an event such as for example a value measured by one of the sensors 26 or 27.
  • the value of the counters can also be decremented instead of being incremented as previously described.
  • the architecture of the receiver 6 is here only illustrative of a particular situation.
  • the descrambler 18 can also be removable.
  • the descrambler and the security processor can be implemented without any degree of freedom in the decoder.
  • the descrambler and the security processor may be in the form of a software component.

Abstract

The invention relates to a method for detecting an attempted attack of a security processor by the security processor itself, including: measuring (50) a plurality of separate events taking place independently of one another in the absence of an attempted attack; constructing (52) the value of at least one attack indicator in accordance with at least one concomitance index between at least two separate measured events, the concomitance index representing the proximity in time of the two separate measured events; and detecting (54) an attempted attack if the value of the attack indicator exceeds a predetermined threshold.

Description

PROCEDE DE DETECTION D'UNE TENTATIVE D'ATTAQUE, SUPPORT D'ENREGISTREMENT ET PROCESSEUR DE SECURITE POUR CE PROCEDE  METHOD FOR DETECTING ATTACK ATTEMPT, RECORDING MEDIUM AND SECURITY PROCESSOR FOR THIS METHOD
[0001] L'invention concerne un procédé de détection d'une tentative d'attaque d'un processeur de sécurité par le processeur de sécurité lui-même. L'invention a également pour objet un support d'enregistrement d'informations ainsi qu'un processeur de sécurité pour la mise en œuvre de ce procédé. The invention relates to a method for detecting an attempt to attack a security processor by the security processor itself. The invention also relates to an information recording medium and a security processor for the implementation of this method.
[0002] Les processeurs de sécurité sont, généralement, des composants matériels renfermant des informations confidentielles telles que des clés cryptographiques ou des droits d'accès que seuls des utilisateurs légitimes peuvent utiliser. Pour préserver la confidentialité de ces informations, ils sont conçus pour être le plus robuste possible vis-à-vis de tentatives d'attaque menées par des pirates informatiques. Par exemple, un processeur de sécurité est une carte à puce équipée d'un processeur électronique. [0002] Security processors are, generally, hardware components containing confidential information such as cryptographic keys or access rights that only legitimate users can use. To preserve the confidentiality of this information, they are designed to be as robust as possible against attack attempts by hackers. For example, a security processor is a smart card equipped with an electronic processor.
[0003] Les processeurs de sécurité sont soumis à différents types d'attaque. Certaines de ces attaques visent à extraire ou à déterminer les informations confidentielles contenues dans le processeur de sécurité. A cet effet, une multitude d'attaques ont été développées. Par exemple certaines de ces attaques cherchent à obtenir un fonctionnement anormal du processeur de sécurité en lui faisant traiter des messages construits par les pirates informatiques. D'autres procédés plus invasifs cherchent à perturber le fonctionnement du processeur de sécurité à des moments clé de son fonctionnement en jouant sur sa tension d'alimentation ou encore à l'aide d'un faisceau laser dirigé vers le processeur de sécurité. [0003] Security processors are subject to different types of attack. Some of these attacks are aimed at extracting or determining the confidential information contained in the security processor. For this purpose, a multitude of attacks have been developed. For example, some of these attacks seek abnormal operation of the security processor by processing messages built by hackers. Other more invasive methods seek to disrupt the operation of the security processor at key moments in its operation by changing its supply voltage or using a laser beam directed to the security processor.
[0004] D'autres types d'attaque ne cherchent pas à extraire ou à déterminer des informations confidentielles contenues dans le processeur de sécurité mais consistent simplement à utiliser de façon abusive ce processeur de sécurité. Par exemple, dans le domaine de la télévision payante, la redistribution de mots de contrôle (ou « control word sharing » en anglais) et le partage de carte (« card sharing » en anglais) rentrent dans ce type d'attaque. Sommairement, la redistribution de mots de contrôle consiste à distribuer le mot de contrôle déchiffré par le processeur de sécurité vers plusieurs récepteurs. Ces récepteurs peuvent alors déchiffrer les contenus multimédias embrouillés avec ce mot de contrôle alors que l'abonnement n'a été souscrit et payé que pour un seul récepteur. [0004] Other types of attacks do not attempt to extract or determine confidential information contained in the security processor, but simply consist in abusively using this security processor. For example, in the field of pay television, the redistribution of control words (or "control word sharing" in English) and card sharing ("card sharing" in English) fall into this type of attack. Briefly, the redistribution of control words consists of distributing the control word decrypted by the security processor to several receivers. These receivers can then decrypt the scrambled multimedia contents with this control word whereas the subscription has been subscribed and paid for only one receiver.
[0005] Le partage de carte consiste à faire déchiffrer par un même processeur de sécurité plusieurs mots de contrôle chiffrés provenant de différents récepteurs. Comme précédemment, tous ces récepteurs peuvent alors désembrouiller les contenus multimédias embrouillés alors qu'un seul de ces récepteurs est habilité à accéder au contenu. Card sharing is to decipher by the same security processor several encrypted control words from different receivers. As before, all these receivers can then descramble the scrambled multimedia content while only one of these receivers is entitled to access the content.
[0006] Pour lutter contre ces attaques, il est connu de détecter les tentatives d'attaque et, en réponse à cette détection, d'exécuter une contre-mesure. [0007] Un exemple de procédé de détection de tentative d'attaque et d'exécution, en réponse, de contre-mesure est par exemple décrit dans la demande de brevet EP 1 575 293. To combat these attacks, it is known to detect attack attempts and, in response to this detection, to execute a countermeasure. An example of a method for detecting attempted attack and executing, in response, a countermeasure is for example described in patent application EP 1 575 293.
[0008] La contre-mesure est une action qui vise à empêcher que l'attaque contre le processeur de sécurité ne puisse perdurer ou ne puisse être fructueuse. Il existe un grand nombre de contre-mesures exécutables par un processeur de sécurité. Celles- ci vont d'un simple accroissement des mesures de sécurité dans le processeur de sécurité jusqu'à un blocage définitif et irrémédiable du processeur de sécurité qui devient alors inutilisable.  [0008] The countermeasure is an action that aims to prevent the attack against the security processor from lasting or can not be fruitful. There are a large number of countermeasures that can be executed by a security processor. These range from a simple increase in security measures in the security processor to a final and irremediable blocking of the security processor which becomes unusable.
[0009] Pour détecter une tentative d'attaque, il a déjà été proposé des procédés comprenant : To detect an attack attempt, methods have already been proposed comprising:
• des mesures de plusieurs événements différents se produisant indépendamment les uns des autres en absence de tentative d'attaque, puis • measurements of several different events occurring independently of each other in the absence of attempted attack, then
• de comparer chaque mesure à un seuil prédéterminé respectif pour détecter la présence ou l'absence d'une tentative d'attaque. • comparing each measurement to a respective predetermined threshold to detect the presence or absence of an attempted attack.
[ooio] Toutefois, la difficulté vient du fait que les événements représentatifs d'une tentative d'attaque peuvent aussi se produire en absence de tentative d'attaque. Or, il faut éviter de produire de fausses détections de tentative d'attaque car celles-ci peuvent se traduire par l'exécution intempestive de contre-mesures qui gênent alors l'utilisateur légitime du processeur de sécurité. Pour cette raison, il est connu de choisir pour le seuil prédéterminé une valeur beaucoup plus élevée que toutes les mesures qui peuvent être obtenues en absence d'attaque. Toutefois, le choix d'un seuil prédéterminé élevé rend certaines attaques indétectables ou ralentit la détection d'une tentative d'attaque.  [ooio] However, the difficulty is that events representative of an attempted attack may also occur in the absence of an attempted attack. However, it is necessary to avoid producing false detections of attempted attack because they can result in the untimely execution of countermeasures which then impede the legitimate user of the security processor. For this reason, it is known to choose for the predetermined threshold a value much higher than all the measurements that can be obtained in the absence of attack. However, the choice of a high predetermined threshold makes some attacks undetectable or slows the detection of an attack attempt.
[0011] L'invention vise à remédier à ce problème en proposant un procédé de détection d'une tentative d'attaque comportant également : The invention aims to remedy this problem by proposing a method of detecting an attack attempt also comprising:
- la construction de la valeur d'au moins un indicateur d'attaque en fonction d'au moins un indice de concomitance entre au moins deux événements différents mesurés, l'indice de concomitance étant représentatif de la proximité temporelle entre les deux événements différents mesurés, et  constructing the value of at least one attack indicator according to at least one concomitant index between at least two different events measured, the concomitance index being representative of the temporal proximity between the two different events measured , and
- la détection d'une tentative d'attaque si la valeur de l'indicateur d'attaque franchit un seuil prédéterminé.  detecting an attack attempt if the value of the attack indicator exceeds a predetermined threshold.
[0012] Le procédé ci-dessus prend en compte la proximité temporelle entre différents événements survenant dans le processeur de sécurité. Cela permet de détecter plus rapidement une tentative d'attaque ou de détecter une tentative d'attaque qui ne pourrait pas être détectée par l'observation de la mesure d'un seul événement. En effet, pris individuellement, la mesure de chacun de ces événements peut ne pas être rapidement représentative d'une tentative d'attaque puisque ces événements se produisent lors d'un fonctionnement normal du processeur de sécurité. Par contre, lorsque ces événements se produisent quasiment concomitamment alors que normalement ils doivent se produire indépendamment les uns des autres, cela indique, avec un fort degré de confiance, qu'une tentative d'attaque a lieu. Le procédé ci-dessus permet donc au processeur de sécurité de détecter rapidement et avec un grand degré de confiance qu'il est victime d'une tentative d'attaque. L'exécution des contre-mesures appropriées peut alors être déclenchée plus rapidement. The above method takes into account the temporal proximity between different events occurring in the security processor. This makes it possible to detect an attack attempt more quickly or to detect an attack attempt that could not be detected by observing the measurement of a single event. Indeed, taken individually, the measurement of each of these events may not be quickly representative of an attack attempt since these events occur during normal operation of the security processor. On the other hand, when these events occur almost concomitantly when normally they must occur independently of each other, this indicates, with a high degree of confidence, that an attempted attack takes place. The above method therefore allows the security processor to detect quickly and with a high degree of confidence that it is the victim of an attempted attack. The execution of the appropriate countermeasures can then be triggered more quickly.
[0013] Les modes de réalisation de ce procédé peuvent comporter une ou plusieurs des caractéristiques suivantes :  Embodiments of this method may include one or more of the following features:
• la valeur de l'indicateur d'attaque est construite à partir de plusieurs indices de concomitance entre des événements différents mesurés et en pondérant l'importance de ces indices de concomitance les uns par rapport aux autres à l'aide d'un jeu prédéterminé de coefficients de pondération ;  The value of the attack indicator is constructed from several indices of concomitance between different measured events and weighting the importance of these concomitance indices with respect to one another by means of a predetermined game weighting coefficients;
• le procédé comprend la construction de plusieurs valeurs d'indicateurs d'attaque en utilisant plusieurs jeux différents de coefficients de pondération entre les mêmes indices de concomitance, chaque jeu de coefficients de pondération étant prédéterminé pour être plus sensible à une tentative d'attaque différente de celles auxquelles sont plus sensibles les autres indicateurs ;  The method comprises constructing a plurality of attack indicator values by using a plurality of different sets of weighting coefficients between the same concomitance indices, each set of weighting coefficients being predetermined to be more sensitive to a different attack attempt. those to which the other indicators are more sensitive;
• le coefficient de pondération d'un même indice de concomitance est le même dans tous les jeux de coefficients de pondération utilisés pour construire les différentes valeurs d'indicateurs d'attaque  The weighting coefficient of the same concomitance index is the same in all the sets of weighting coefficients used to construct the different values of attack indicators
• la mesure d'un événement est limitée à une fenêtre temporelle glissante de manière à ne pas prendre en compte des événements qui se sont produits en dehors de cette fenêtre temporelle, ceci pour établir que les événements sont concomitants dans la mesure de cette fenêtre temporelle;  • the measurement of an event is limited to a sliding time window so as not to take into account events that occurred outside this time window, to establish that the events are concomitant in the measurement of this time window ;
• au moins l'un des événements mesurés est la détection d'une erreur de fonctionnement du processeur de sécurité dont chaque occurrence conduit le processeur de sécurité à arrêter les traitements en cours et à se réinitialiser automatiquement pour reprendre ces traitements depuis le début ;  At least one of the events measured is the detection of a security processor operating error, each occurrence of which causes the security processor to stop the current processes and automatically reset itself to resume these processes from the beginning;
• la mesure d'un événement consiste à comptabiliser dans un compteur le nombre de fois où cet événement s'est produit, la valeur du compteur constituant la mesure  • the measurement of an event consists in counting in a counter the number of times this event has occurred, the value of the counter constituting the measure
• l'indice de concomitance entre au moins deux mesures est obtenu en multipliant entre elles ces mesures.  • the index of concomitance between at least two measurements is obtained by multiplying these measurements.
[0014] Ces modes de réalisation du procédé présentent en outre les avantages suivants : These embodiments of the method also have the following advantages:
• l'utilisation de coefficients de pondération entre les indices de concomitance permet de modifier simplement la sensibilité de l'indicateur d'attaque construit à un type particulier d'attaque en modifiant la valeur de ces coefficients de pondération, • l'utilisation de plusieurs jeux différents de coefficients de pondération permet, à partir du même jeu d'indices de concomitance, de construire plusieurs indicateurs d'attaque chacun dédiés à la détection d'une tentative d'attaque différente, The use of weighting coefficients between the concomitance indices makes it possible to simply modify the sensitivity of the attack indicator constructed to a particular type of attack by modifying the value of these weighting coefficients, The use of several different sets of weighting coefficients makes it possible, from the same set of concomitance indices, to construct several attack indicators each dedicated to detecting a different attack attempt,
• l'utilisation systématique du même coefficient de pondération pour le même indice de concomitance permet de limiter la quantité de mémoire requise pour stocker ces différents coefficients de pondération,  The systematic use of the same weighting coefficient for the same concomitance index makes it possible to limit the amount of memory required to store these different weighting coefficients,
• limiter la mesure d'un événement à une fenêtre temporelle glissante permet de limiter le nombre de fausses détections de tentative d'attaque causées par l'accumulation dans le temps d'événements mesurés en absence de tentative d'attaque,  • Limiting the measurement of an event to a sliding time window makes it possible to limit the number of false detections of attempted attack caused by the accumulation in time of events measured in the absence of an attempted attack,
• lorsque l'un des événements mesurés est la détection d'une erreur du processeur de sécurité provoquant la réinitialisation de ce processeur de sécurité, la sécurité est accrue en empêchant le blocage intempestif du processeur de sécurité.  • When one of the measured events is the detection of a security processor error causing the reset of this security processor, the security is increased by preventing the unwanted blocking of the security processor.
[0015] L'invention a également pour objet un support d'enregistrement d'informations comportant des instructions pour l'exécution du procédé ci-dessus, lorsque ces instructions sont exécutées par un calculateur électronique.  The invention also relates to an information recording medium comprising instructions for executing the above method, when these instructions are executed by an electronic computer.
[0016] Enfin, l'invention a également pour objet un processeur de sécurité comportant : Finally, the invention also relates to a security processor comprising:
- des registres dans lesquels sont stockées des mesures de plusieurs événements se produisant indépendamment les uns des autres en absence de tentative d'attaque, et registers in which are stored measurements of several events occurring independently of each other in the absence of an attempted attack, and
- un calculateur, apte : - a calculator, able:
• à construire la valeur d'au moins un indicateur d'attaque en fonction d'au moins un indice de concomitance entre au moins deux événements différents mesurés dont les mesures sont stockées dans les registres, cet indice de concomitance étant représentatif de la proximité temporelle entre les deux événements différents mesurés, et  Constructing the value of at least one attack indicator according to at least one concomitance index between at least two different measured events whose measurements are stored in the registers, this concomitance index being representative of the temporal proximity between the two different events measured, and
• à détecter une tentative d'attaque si la valeur de l'indicateur d'attaque franchit un seuil prédéterminé.  Detect an attack attempt if the value of the attack indicator exceeds a predetermined threshold.
[0017] L'invention sera mieux comprise à la lecture de la description qui va suivre, donnée uniquement à titre d'exemple non limitatif et faite en se référant aux dessins sur lesquels :  The invention will be better understood on reading the description which follows, given solely by way of non-limiting example and with reference to the drawings in which:
• la figure 1 est une illustration schématique d'un système de transmission de contenus multimédias embrouillés comportant un processeur de sécurité, FIG. 1 is a schematic illustration of a scrambled multimedia content transmission system comprising a security processor,
• la figure 2 est une illustration schématique d'une matrice de coefficients de pondération utilisée par le processeur de sécurité du système de la figure 1 ,FIG. 2 is a schematic illustration of a matrix of weighting coefficients used by the security processor of the system of FIG. 1,
• la figure 3 est une illustration schématique d'une table de seuils d'alerte utilisée par le processeur de sécurité de la figure 1 , et • la figure 4 est un organigramme d'un procédé de détection d'une tentative d'attaque du processeur de sécurité du système de la figure 1. FIG. 3 is a schematic illustration of an alarm threshold table used by the security processor of FIG. 1, and FIG. 4 is a flowchart of a method for detecting an attempt to attack the security processor of the system of FIG. 1.
[0018] Sur ces figures, les mêmes références sont utilisées pour désigner les mêmes éléments. In these figures, the same references are used to designate the same elements.
[0019] Dans la suite de cette description, les caractéristiques et fonctions bien connues de l'homme du métier ne sont pas décrites en détail. De plus, la terminologie utilisée est celle des systèmes d'accès conditionnel à des contenus multimédias. Pour plus d'informations sur cette terminologie, le lecteur peut se reporter au document suivant : In the following description, the features and functions well known to those skilled in the art are not described in detail. In addition, the terminology used is that of conditional access systems to multimedia content. For more information on this terminology, the reader can refer to the following document:
« Functional model of a conditional access System » EBU Review - Technical european broadcasting union, Brussels, BE, n° 266, 21 décembre 1995.  EBU Review - Technical european broadcasting union, Brussels, BE, No 266, 21 December 1995.
[0020] La figure 1 représente un système de diffusion payante de contenus multimédias. Par exemple, le système 2 est un système permettant de diffuser plusieurs chaînes de télévision embrouillées. Le désembrouillage de chacune de ces chaînes de télévision ou groupe de chaînes de télévision est conditionné au paiement d'un abonnement par des abonnés. Dans cette description, les termes « embrouiller »/« chiffrer » et « désembrouiller »/ « déchiffrer » sont considérés comme synonymes. Figure 1 shows a pay system broadcast content multimedia. For example, system 2 is a system for broadcasting multiple scrambled TV channels. The descrambling of each of these television channels or group of television channels is conditioned to the payment of a subscription by subscribers. In this description, the terms "scramble" / "encrypt" and "unscramble" / "decipher" are considered synonymous.
[0021] Le système 2 comprend au moins un émetteur 4 de contenus multimédias embrouillés et une multitude de récepteurs aptes à désembrouiller le contenu multimédia diffusé par l'émetteur 4. Pour simplifier la figure 1 , seul un récepteur 6 a été représenté. Par exemple, les autres récepteurs sont identiques au récepteur 6. The system 2 comprises at least one transmitter 4 scrambled multimedia content and a multitude of receivers able to descramble the multimedia content broadcast by the transmitter 4. To simplify Figure 1, only a receiver 6 has been shown. For example, the other receptors are identical to the receiver 6.
[0022] Le récepteur 6 est raccordé à l'émetteur 4 par l'intermédiaire d'un réseau 8 grande distance de transmission d'informations. Le réseau 8 peut être un réseau de télécommunication sans fil ou un réseau filaire tel qu'Internet. The receiver 6 is connected to the transmitter 4 via a network 8 long distance information transmission. The network 8 may be a wireless telecommunications network or a wired network such as the Internet.
[0023] Typiquement, l'émetteur 4 diffuse les contenus multimédias embrouillés multiplexes avec des messages de contrôle ECM (Entitlement Control Message) et EMM (Entitlement Management Message). Chaque message ECM comprend au moins un cryptogramme CW* d'un mot de contrôle CW permettant de désembrouiller le contenu multimédia embrouillé.  Typically, the transmitter 4 broadcasts multiplexed multimedia content with ECM (Entitlement Control Message) and EMM (Entitlement Management Message). Each ECM message comprises at least one CW * cryptogram of a CW control word for descrambling the scrambled multimedia content.
[0024] Le récepteur 6 comprend un décodeur 10 et un processeur de sécurité 12 raccordé de façon amovible au décodeur 10.  The receiver 6 comprises a decoder 10 and a security processor 12 removably connected to the decoder 10.
[0025] Le décodeur 10 comprend un récepteur 14 des données transmises par l'émetteur 4 raccordé à un démultiplexeur 16. Le démultiplexeur 16 démultiplexe les données reçues et transmet le contenu multimédia embrouillé à un désembrouilleur 18 et les messages ECM ou EMM au processeur de sécurité 12.  The decoder 10 comprises a receiver 14 of the data transmitted by the transmitter 4 connected to a demultiplexer 16. The demultiplexer 16 demultiplexes the received data and transmits the scrambled multimedia content to a descrambler 18 and ECM or EMM messages to the processor. security 12.
[0026] Le processeur 12 reçoit le cryptogramme CW* et déchiffre ce cryptogramme afin de renvoyer le mot de contrôle CW en clair au désembrouilleur 18. Ce déchiffrement n'est autorisé que si les titres d'accès contenus dans le message ECM correspondent à des droits d'accès mémorisés dans le processeur de sécurité 12. Par exemple, le processeur 12 est le processeur d'une carte à puce. The processor 12 receives the cryptogram CW * and decrypts the cryptogram to return the CW control word in clear to the descrambler 18. This decryption is only authorized if the access titles contained in the ECM message correspond to access rights stored in the security processor 12. For example, the processor 12 is the processor of a smart card.
[0027] Le désembrouilleur 18 désembrouille le contenu multimédia embrouillé à l'aide du mot de contrôle CW déchiffré par le processeur de sécurité 12. Le contenu multimédia désembrouille est alors, par exemple, affiché en clair sur un écran 20 de manière à ce que le contenu multimédia affiché soit directement perceptible et compréhensible par l'utilisateur. The descrambler 18 descrambles the scrambled multimedia content using the CW control word decrypted by the security processor 12. The multimedia content descrambled is then, for example, displayed in clear on a screen 20 so that the displayed multimedia content is directly perceptible and comprehensible to the user.
[0028] Les fonctions et les caractéristiques du processeur 12 pour réaliser les différentes opérations liées au déchiffrement des mots de contrôle CW sont connues et ne sont pas décrites ici plus en détail.  The functions and characteristics of the processor 12 to perform the various operations related to the decryption of CW control words are known and are not described here in more detail.
[0029] Le processeur 12 comporte un calculateur électronique 24 raccordé à des capteurs 26, 27 et à un ensemble 30 de registres.  The processor 12 comprises an electronic computer 24 connected to sensors 26, 27 and a set 30 of registers.
[0030] Le capteur 26 comprend un transducteur de tension apte à convertir la tension d'alimentation du processeur 12 en une donnée numérique exploitable par le calculateur 24.  The sensor 26 comprises a voltage transducer capable of converting the supply voltage of the processor 12 into a digital data item that can be used by the computer 24.
[0031] Le capteur 27 comprend un transducteur de lumière apte à convertir des photons d'un faisceau laser dirigé sur le processeur 12 en données numériques exploitables par le calculateur 24.  The sensor 27 comprises a light transducer capable of converting photons of a laser beam directed on the processor 12 into digital data that can be used by the computer 24.
[0032] A titre d'illustration, l'ensemble 30 comprend onze registres référencés Co à C10. Chacun des registres Ci à C10 est destiné à contenir une mesure d'un événement qui peut être déclenché par une tentative d'attaque du processeur 12. Les événements mesurés peuvent également se produire en absence de tentative d'attaque. Toutefois, en absence de tentative d'attaque ces événements mesurés se produisent indépendamment les uns des autres. Ainsi, il est peut probable qu'en absence de tentative d'attaque, les événements mesurés se produisent concomitamment. Par concomitamment, on désigne le fait qu'ils se produisent pendant une même fenêtre temporelle. Ici, une fenêtre temporelle est associée à chaque événement mesuré. Cette fenêtre temporelle peut avoir une durée finie ou, au contraire, infinie. Dans le cas d'une durée finie, cela signifie que les événements qui se produisent en dehors de cette fenêtre temporelle ne sont pas pris en compte dans la mesure de cet événement. Ici, une fenêtre temporelle de durée finie est une fenêtre temporelle glissante. Cette fenêtre temporelle glissante a une durée finie que l'on décale au fur et à mesure que le temps s'écoule pour ne prendre en compte que les événements les plus récents pour la mesure de cet événement. Une durée infinie signifie que tous les événements sont pris en compte pour la mesure depuis que la mesure de cet événement a été déclenchée. By way of illustration, the assembly 30 comprises eleven registers referenced Co to C10. Each of the registers Ci to C10 is intended to contain a measurement of an event that can be triggered by an attempt to attack the processor 12. The measured events can also occur in the absence of an attempted attack. However, in the absence of attempted attacks these measured events occur independently of one another. Thus, it is likely that in the absence of an attempted attack, the measured events occur concomitantly. Concomitantly, it is meant that they occur during the same time window. Here, a time window is associated with each measured event. This time window can have a finite duration or, on the contrary, infinite. In the case of a finite duration, this means that the events that occur outside this time window are not taken into account in the measurement of this event. Here, a time window of finite duration is a sliding time window. This sliding time window has a finite duration that is shifted as time passes to take into account only the most recent events for the measurement of this event. An infinite duration means that all events are taken into account for the measurement since the measurement of this event was triggered.
[0033] Ici, la mesure d'un événement consiste à compter le nombre de fois où cet événement s'est produit pendant la fenêtre temporelle associée à cet événement. Ainsi, chacun des registres contient un nombre représentatif du nombre d'occurrences d'un même événement. Par conséquent, dans la suite de cette description, les registres Ci sont appelés compteurs Cj. Here, the measurement of an event consists in counting the number of times this event has occurred during the time window associated with this event. Thus, each of the registers contains a representative number of the number occurrences of the same event. Therefore, in the rest of this description, the registers Ci are called counters Cj.
[0034] II existe un grand nombre d'événements mesurables. Typiquement, les événements mesurés rentrent dans l'une des catégories suivantes :  [0034] There is a large number of measurable events. Typically, measured events fall into one of the following categories:
- des événements normaux qu'un utilisateur légitime peut déclencher mais qui, s'ils se produisent en grand nombre, sont représentatifs d'une utilisation anormale du processeur 12,  normal events that a legitimate user can trigger but which, if they occur in large numbers, are representative of an abnormal use of the processor 12,
- la réception par le processeur 12 de messages erronés ou inutiles, c'est-à-dire de messages qui ne devraient pas exister lors d'une utilisation normale et dépourvue d'erreur,  the reception by the processor 12 of erroneous or useless messages, that is to say messages that should not exist during normal and error-free use,
la détection d'erreurs de fonctionnement du processeur 12.  the detection of operating errors of the processor 12.
[0035] II existe de nombreuses erreurs de fonctionnement. Par exemple, les erreurs de fonctionnement peuvent être des erreurs dans l'exécution du code du système d'exploitation du processeur 12, la mesure par les capteurs 26 ou 27 d'une situation anormale, la découverte d'erreur d'intégrité sur des données traitées, ...etc. Généralement, en cas de détection d'erreur de fonctionnement, les traitements en cours sont interrompus et le processeur 12 se réinitialise automatiquement.  There are many operating errors. For example, the operating errors may be errors in the execution of the code of the operating system of the processor 12, the measurement by the sensors 26 or 27 of an abnormal situation, the discovery of an integrity error on processed data, ... etc. Generally, in the event of detection of an operating error, the processes in progress are interrupted and the processor 12 resets automatically.
[0036] Nous détaillons maintenant, pour chaque compteur, un exemple d'événement mesuré. We now detail, for each counter, an example of measured event.
[0037] Le compteur Ci contient le nombre de fois où une commande de consultation des données du processeur 12 a été reçue. En effet, un certain nombre de données contenues dans le processeur 12 sont librement consultables. Par exemple, il existe des commandes pour consulter le numéro d'identification du processeur 12 ou des droits d'accès enregistrés dans le processeur 12. La réception d'une commande de consultation est donc un événement normal tant que cela reste occasionnel. Par contre, le dénombrement d'un grand nombre de commandes de consultation de données du processeur 12 sur un bref intervalle de temps peut être provoqué par une tentative d'attaque. The counter Ci contains the number of times a command to consult the data of the processor 12 has been received. Indeed, a certain number of data contained in the processor 12 are freely available. For example, there are commands to consult the identification number of the processor 12 or the access rights stored in the processor 12. The receipt of a consultation command is therefore a normal event as long as it is occasional. On the other hand, enumeration of a large number of data look-up commands of the processor 12 over a short time interval can be caused by an attack attempt.
[0038] Le compteur C2 indique la présence de droits inhabituels inscrits dans le processeur 12. Un droit inhabituel est un droit que l'opérateur du système 2 n'utilise normalement pas. Par exemple, la plupart des opérateurs n'inscrivent jamais dans les processeurs de sécurité un droit dont la durée de validité est supérieure à un an. Dès lors, un droit inscrit dans le processeur 12 dont la durée de validité est supérieure à un an, par exemple un droit de durée de validité infinie, est un droit inhabituel même si cette possibilité est techniquement prévue. De façon similaire, normalement, l'opérateur n'inscrit jamais un droit autorisant l'accès et le déchiffrement de tous les contenus multimédias dans les processeurs de sécurité. Dans ces conditions, l'inscription d'un droit autorisant l'accès à tous ces contenus multimédias dans le processeur 12 est considérée comme un droit inhabituel. L'inscription d'un droit inhabituel dans le processeur 12 peut provenir d'une erreur de l'opérateur mais peut également être représentative d'une tentative d'attaque. The counter C2 indicates the presence of unusual rights registered in the processor 12. An unusual right is a right that the operator of the system 2 normally does not use. For example, most operators never enter a security entitlement for security processors longer than one year. Therefore, a right entered in the processor 12 whose validity is greater than one year, for example a right of infinite validity, is an unusual right even if this possibility is technically provided. Similarly, normally, the operator never enters a right allowing access and decryption of all multimedia contents in the security processors. Under these conditions, the registration of a right authorizing access to all these multimedia contents in the processor 12 is considered as an unusual right. Registration of a right Unusual in the processor 12 may come from an operator error but may also be representative of an attack attempt.
[0039] Le compteur C3 dénombre le nombre de messages reçus par le processeur 12 qui n'ont aucune utilité fonctionnelle pour le processeur. Par exemple, un tel message sans aucune utilité fonctionnelle peut être :  The counter C3 counts the number of messages received by the processor 12 which have no functional utility for the processor. For example, such a message without any functional utility can be:
• un message de consultation de données inexistantes dans le processeur, • a data consultation message that does not exist in the processor,
• un message d'effacement d'une donnée inexistante (par exemple : code d'accès, ...) dans le processeur, ou A message deleting non-existent data (for example: access code, ...) in the processor, or
• deux messages successifs de lecture de la même donnée du processeur 12.  Two successive messages for reading the same data of the processor 12.
[0040] Ces messages sont syntaxiquement correctes et ne provoquent aucune erreur d'exécution dans le processeur 12. Par contre ils sont inutiles. De tels messages inutiles peuvent être envoyés, par erreur, par l'opérateur. Ils peuvent également être utilisés lors d'une tentative d'attaque. These messages are syntactically correct and do not cause any execution error in the processor 12. By cons they are useless. Such unnecessary messages may be sent by mistake by the operator. They can also be used during an attack attempt.
[0041] Le compteur C4 dénombre le nombre d'erreurs de syntaxe dans les messages transmis au processeur 12 c'est-à-dire typiquement dans les messages ECM et EMM transmis à ce processeur. En effet, la syntaxe ou structure des messages ECM et EMM respecte une grammaire prédéterminée. Le processeur 12 peut donc détecter ces erreurs de syntaxe et les comptabiliser dans le compteur C4. Les erreurs de syntaxes peuvent être provoquées par une erreur de l'opérateur mais également lors d'une tentative d'attaque. The counter C 4 counts the number of syntax errors in the messages transmitted to the processor 12, that is to say typically in the ECM and EMM messages transmitted to this processor. Indeed, the syntax or structure of ECM and EMM messages respects a predetermined grammar. The processor 12 can therefore detect these syntax errors and count them in the counter C 4 . Syntax errors can be caused by an operator error but also during an attack attempt.
[0042] Le compteur C5 est un compteur de commandes rejouées alors qu'elles ne devraient normalement pas être rejouées plusieurs fois. Le rejeu d'une commande consiste à envoyer au processeur de sécurité plusieurs fois la même commande. Par exemple, la commande peut être un message de mise à jour de certaines données enregistrées dans le processeur 12. Un rejeu d'un message peut être détecté par le processeur 12 en enregistrant la date du dernier message de mise à jour.  The counter C5 is a counter of replayed commands whereas they should not normally be replayed several times. The replay of an order consists of sending the same command several times to the security processor. For example, the command may be a message for updating certain data stored in the processor 12. A replay of a message may be detected by the processor 12 by recording the date of the last update message.
[0043] Le compteur Ce dénombre le nombre d'erreurs d'intégrité détectées dans les messages reçus par le processeur 12. En effet, les messages reçus par le processeur 12, contiennent des données ainsi qu'une redondance cryptographique de ces données, ce qui permet au processeur 12 de vérifier qu'il n'y a pas d'erreur dans les données reçues. Par exemple, la redondance sur les données peut être obtenue en intégrant dans le message reçu une signature ou un CRC (« Cyclic Redondancy Check ») des données contenues dans ce message. Des erreurs dans les données contenues dans le message peuvent être provoquées par des perturbations lors de leur transport dans le réseau 8 ou dans le décodeur 10. Toutefois, des données erronées sont aussi utilisées lors d'une tentative d'attaque. The counter Ce counts the number of integrity errors detected in the messages received by the processor 12. In fact, the messages received by the processor 12, contain data and a cryptographic redundancy of these data, which which allows the processor 12 to verify that there is no error in the received data. For example, the redundancy on the data can be obtained by integrating in the message received a signature or a CRC ("Cyclic Redundancy Check") data contained in this message. Errors in the data contained in the message can be caused by disturbances during their transport in the network 8 or in the decoder 10. However, erroneous data are also used during an attack attempt.
[0044] Le compteur C7 dénombre le nombre d'erreurs d'intégrité sur des données contenues dans le processeur 12. En effet, un certain nombre de données enregistrées dans le processeur 12 sont associées à une redondance cryptographique permettant de vérifier l'intégrité de la donnée enregistrée respective. Encore une fois, il peut arriver accidentellement, suite par exemple à des perturbations électromagnétiques, qu'une donnée enregistrée dans le processeur 12 soit erronée. Toutefois, la présence de données erronées enregistrées dans le processeur 12 peut également être représentative d'une tentative d'attaque. The counter C 7 counts the number of integrity errors on data contained in the processor 12. In fact, a certain number of data recorded in the processor 12 are associated with a cryptographic redundancy for verifying the integrity of the respective recorded data. Again, it may happen accidentally, for example following electromagnetic disturbances, that a data stored in the processor 12 is erroneous. However, the presence of erroneous data recorded in the processor 12 may also be representative of an attack attempt.
[0045] Le compteur Cs dénombre le nombre de déroutements lors l'exécution du code du système d'exploitation du processeur 12. Un déroutement est un saut intempestif ou erroné d'une instruction du code exécuté par le processeur 12 vers une autre instruction. Ces déroutements dans l'exécution du code peuvent être détectés en exécutant deux fois de suite les mêmes instructions sur les mêmes données. Si les deux exécutions du code ne donnent pas le même résultat, cela signale un déroutement. Des sauts intempestifs d'instructions dans le code exécuté par le processeur 12 peuvent être provoqués en jouant sur la tension d'alimentation du processeur 12 ou en dirigeant un faisceau laser vers ce processeur 12. The counter Cs counts the number of traps during the execution of the operating system code of the processor 12. A trap is an unwanted or erroneous jump of an instruction of the code executed by the processor 12 to another instruction. These traps in code execution can be detected by executing the same instructions twice on the same data. If the two executions of the code do not give the same result, it signals a diversion. Unintentional jumps of instructions in the code executed by the processor 12 can be caused by playing on the supply voltage of the processor 12 or by directing a laser beam towards this processor 12.
[0046] Le compteur Cg dénombre le nombre de fois où la procédure de récupération de données suite à un arrachement du processeur 12 est exécutée. L'arrachement du processeur 12 consiste à retirer, en cours de fonctionnement, le processeur 12 du décodeur 10 de sorte que l'alimentation du processeur 12 est interrompue en cours de traitement de données. La procédure de récupération de données permet de remettre, après une telle coupure d'alimentation, le processeur 12 dans l'état dans lequel il était avant cette coupure d'alimentation. Le processeur 12 peut être arraché accidentellement du décodeur 10. Toutefois, des coupures intempestives de l'alimentation du processeur 12 sont également fréquemment utilisées lors d'une tentative d'attaque pour empêcher l'exécution par le processeur 12 de contre- mesures. The counter Cg count the number of times the data recovery procedure following a tear of the processor 12 is executed. The breakout of the processor 12 consists in removing, during operation, the processor 12 of the decoder 10 so that the power of the processor 12 is interrupted during data processing. The data recovery procedure makes it possible to restore, after such a power failure, the processor 12 in the state in which it was before this power failure. The processor 12 may be accidentally torn from the decoder 10. However, untimely power cuts to the processor 12 are also frequently used during an attack attempt to prevent the processor 12 from executing countermeasures.
[0047] Le compteur C10 dénombre le nombre de fois où une tension d'alimentation anormale est mesurée par le capteur 26 cumulé au nombre de fois où un faisceau laser est détecté par le capteur 27. En effet, des tensions anormales ainsi que la présence d'un faisceau laser sont typiques d'une tentative d'attaque du processeur 12. Toutefois, ces capteurs 26 et 27 peuvent également détecter une tension anormale ou la présence d'un faisceau laser accidentellement suite, par exemple, à des perturbations électromagnétiques causées par un appareil à proximité du processeur 12 et cela même en absence de tentative d'attaque. Par exemple, la mise sous tension du décodeur 12 peut se traduire par la détection d'une tension anormale par le capteur 26. The counter C10 counts the number of times an abnormal supply voltage is measured by the cumulative sensor 26 to the number of times a laser beam is detected by the sensor 27. In fact, abnormal voltages and the presence of a laser beam are typical of an attempt to attack the processor 12. However, these sensors 26 and 27 can also detect an abnormal voltage or the presence of a laser beam accidentally following, for example, electromagnetic disturbances caused by a device near the processor 12 and this even in the absence of attempted attack. For example, the powering on of the decoder 12 may result in the detection of an abnormal voltage by the sensor 26.
[0048] Le compteur Co est à distinguer des compteurs précédents puisque celui-ci dénombre un événement qui se produit uniquement lors du fonctionnement normal du processeur 12 et qui ne peut pas être provoqué par une tentative d'attaque. Par exemple, l'événement dénombré par le compteur Co est ici le nombre de messages ECM et EMM correctement traités par le processeur 12. [0049] La valeur de ce compteur Co est utilisée pour limiter la mémoire temporelle de certains des compteurs précédents à une fenêtre temporelle glissante de durée finie. Par exemple, à cet effet, la valeur du compteur Co est soustraite à la valeur du compteur Ci, où i > 0, et seule la différence entre ces deux compteurs, ramenée à zéro si elle est négative, est utilisée dans le calcul d'un indice de concomitance comme décrit plus loin. Par exemple, ici, à l'exception de la valeur des compteurs Ce et C10, seule la différence entre les valeurs des compteurs Ci et Co est utilisée pour le calcul des indices de concomitance. Grâce à l'utilisation de la valeur du compteur Co, les événements qui se sont produits en dehors de la fenêtre temporelle glissante ainsi définie ne sont pas pris en compte pour la détection d'une tentative d'attaque. On notera que la durée de la fenêtre temporelle glissante définie à l'aide du compteur Co n'est pas constante et dépend de l'utilisation qui est faite du processeur 12. The counter Co is distinguished from the previous counters since it counts an event that occurs only during normal operation of the processor 12 and can not be caused by an attack attempt. For example, the event counted by the counter Co is the number of ECM and EMM messages correctly processed by the processor 12. The value of this counter Co is used to limit the time memory of some of the previous counters to a sliding time window of finite duration. For example, for this purpose, the value of the counter Co is subtracted from the value of the counter Ci, where i> 0, and only the difference between these two counters, brought to zero if it is negative, is used in the calculation of a concomitance index as described below. For example, here, with the exception of the value of the counters Ce and C10, only the difference between the values of the counters Ci and Co is used for the computation of the concomitance indices. By using the value of the counter Co, the events that occurred outside the sliding time window thus defined are not taken into account for the detection of an attack attempt. Note that the duration of the sliding time window defined using the counter Co is not constant and depends on the use that is made of the processor 12.
[0050] Le calculateur 24 est raccordé à une mémoire 32 contenant les différentes données et instructions nécessaires au fonctionnement du processeur 12. En particulier, la mémoire 32 comprend : The computer 24 is connected to a memory 32 containing the various data and instructions necessary for the operation of the processor 12. In particular, the memory 32 comprises:
• les instructions nécessaires à l'exécution du procédé de la figure 4 lorsqu'elles sont exécutées par le calculateur 24,  The instructions necessary to carry out the method of FIG. 4 when they are executed by the computer 24,
• une matrice 36 de coefficients de pondération et une table 38 de seuils d'alerte.  A matrix 36 of weighting coefficients and a table 38 of alert thresholds.
[0051] Un exemple de matrice 36 est représenté plus en détail dans figure 2. Cette matrice 36 contient autant de colonnes que de compteurs d'événement susceptible d'être déclenché par une tentative d'attaque. Ici, la matrice 36 est donc une matrice à dix colonnes associées chacune à un compteur Ci. La matrice 36 contient également neuf lignes associées, respectivement, aux compteurs C2 à C10. An example of matrix 36 is shown in more detail in FIG. 2. This matrix 36 contains as many columns as event counters that can be triggered by an attack attempt. Here, the matrix 36 is thus a matrix with ten columns each associated with a counter Ci. The matrix 36 also contains nine lines associated, respectively, with the counters C2 to C10.
[0052] La cellule située au croisement de la i-ème colonne en partant de la gauche et de la j-ième ligne en partant du haut contient un coefficient rriij de pondération associé à un indice de concomitance QCj+I. Un indice de concomitance QCj+I est un indice calculé à partir de la valeur des compteurs Ci et Cj+1 qui fournit une indication sur la concomitance entre les événements dénombrés par le compteur Q et ceux dénombrés par le compteur Cj+1. Ici, chaque indice de concomitance est construit de manière à ce que sa valeur soit d'autant plus élevée qu'un grand nombre d'événements mesurés, respectivement, par les compteurs Ci et Cj+1 s'est produit à proximité du même instant. A cet effet, dans ce mode de réalisation, chaque indice de concomitance QCj+i correspond au produit des valeurs des compteurs Ci et Cj+1 au même instant. The cell located at the intersection of the i-th column starting from the left and the j-th line from the top contains a coefficient rrii j of weighting associated with a concurrency index QCj + I. An index of concomitance QCj + I is an index calculated from the value of the counters Ci and Cj + 1 which gives an indication of the concomitance between the events counted by the counter Q and those counted by the counter Cj + 1. Here, each concomitance index is constructed in such a way that its value is all the higher when a large number of events measured by the counters Ci and Cj + 1, respectively, occurred near the same instant. . For this purpose, in this embodiment, each concurrency index QC j + i corresponds to the product of the values of the counters Ci and Cj + 1 at the same instant.
[0053] La table 38 de seuils d'alerte illustrée sur la figure 3 comprend une première colonne contenant quatre seuils d'alerte Si à S4. Chaque seuil d'alerte est une valeur numérique et ces seuils d'alerte sont classés par ordre croissant en allant du haut vers le bas dans la table 38. [0054] La table 38 contient également une deuxième colonne associant à chaque seuil Si une ou plusieurs contre-mesures notées CMi. Les contre-mesures sont des actions exécutées par le processeur de sécurité 12 qui visent à rendre plus difficile l'extraction ou la détermination de données contenues dans le processeur 12 ou l'utilisation abusive de ce processeur 12. The alert threshold table 38 illustrated in FIG. 3 comprises a first column containing four warning thresholds Si at S 4 . Each alert threshold is a numeric value and these alert thresholds are ranked in ascending order from top to bottom in table 38. The table 38 also contains a second column associating with each threshold If one or more countermeasures noted CMi. Countermeasures are actions performed by the security processor 12 which aim to make it more difficult to extract or determine the data contained in the processor 12 or the misuse of this processor 12.
[0055] Ici, les contre-mesures CMi associées au seuil Si sont moins sévères et moins invalidantes pour l'utilisateur du processeur que celles associées au seuil d'alerte supérieur Si+i. Ainsi, plus le seuil d'alerte Si franchi est élevé plus les contre- mesures CMi exécutées en réponse sont sévères.  Here, the countermeasures CMi associated with the threshold Si are less severe and less disabling for the processor user than those associated with the upper alert threshold Si + i. Thus, the higher the alert threshold If crossed, the higher the countermeasures CMi executed in response are severe.
[0056] A titre d'illustration, les contre-mesures CMi consistent à ajouter de la redondance sur les branchements conditionnels du code à exécuter par le processeur 12. Par exemple, cette redondance est obtenue en exécutant plusieurs fois le branchement conditionnel et en vérifiant qu'à chaque exécution le résultat obtenu est le même. By way of illustration, the countermeasures CMi consist in adding redundancy to the conditional branches of the code to be executed by the processor 12. For example, this redundancy is obtained by executing the conditional connection several times and checking that at each execution the result obtained is the same.
[0057] La contre-mesure CMi consiste à ajouter en plus de la redondance sur les opérations de vérification de l'intégrité des données traitées. Par exemple, l'intégrité des données est vérifiée plusieurs fois alors que si le seuil Si n'est pas franchi, elle n'est vérifiée qu'une fois. Cela consiste également à vérifier l'intégrité de données dont l'intégrité n'est pas vérifiée si le seuil Si n'est pas franchi. The countermeasure CMi consists in adding in addition to the redundancy on the verification operations of the integrity of the processed data. For example, the integrity of the data is checked several times whereas if the threshold Si is not crossed, it is checked only once. It also consists of verifying the integrity of data whose integrity is not verified if the threshold Si is not crossed.
[0058] Les contre-mesures CM2 consistent, par exemple, à ajouter des restrictions sur les possibilités de chaîner des instructions du code exécuté par le processeur 12. Ceci peut être obtenu en obligeant le processeur 12 à exécuter un bloc complet d'instructions sans permettre d'interruption entre l'exécution des instructions de ce bloc. The countermeasures CM 2 consist, for example, in adding restrictions on the possibilities of chaining instructions of the code executed by the processor 12. This can be obtained by forcing the processor 12 to execute a complete block of instructions without allowing interruption between the execution of the instructions of this block.
[0059] La contre-mesure CM2 consiste également à supprimer certaines fonctionnalités du processeur 12 auparavant autorisées lorsque le seuil S2 n'était pas franchi. Par exemple, l'ajout de nouveaux services tel que l'ajout d'un nouvel opérateur ou d'un nouvel abonnement est interdit. L'accès aux fonctionnalités d'administration du processeur 12 peut également être interdit si le seuil S2 est franchi. The countermeasure CM 2 also consists in deleting certain previously authorized functions of the processor 12 when the threshold S 2 has not been crossed. For example, adding new services such as adding a new operator or subscription is prohibited. Access to the administrative functions of the processor 12 can also be prohibited if the threshold S 2 is crossed.
[0060] Par exemple, les contre-mesures CM3 consistent à modifier les coefficients de pondération présents dans la matrice 36 de manière à ce que le seuil supérieur c'est-à-dire S4, soit facilement et rapidement atteint lorsque des événements sont mesurés. Ainsi, comme cela est décrit en regard de la figure 4, on augmente la sensibilité du processeur 12 à la détection d'une tentative d'attaque. Les contre- mesures CM3 comprennent également la vérification systématique et en double de l'intégrité de chaque message reçu. Les contre-mesures CM3 peuvent également consister à renforcer les contrôles du flux d'exécution. Cela peut notamment consister à exécuter deux fois chaque portion du code exécutable par le processeur 12 et à comparer à l'issue de ces deux exécutions que les résultats obtenus sont les mêmes. En cas de discordance entre les résultats obtenus, le compteur Ce est incrémenté. For example, the countermeasures CM3 consist in modifying the weighting coefficients present in the matrix 36 so that the upper threshold, that is to say S 4 , is easily and rapidly reached when events are measures. Thus, as described with reference to FIG. 4, the sensitivity of the processor 12 to the detection of an attack attempt is increased. CM 3 countermeasures also include the systematic and duplicate verification of the integrity of each message received. Countermeasures CM 3 can also consist of strengthening the controls of the flow of execution. This may include running twice each portion of the executable code by the processor 12 and compare at the end of these two executions that the results obtained are the same. In case of discrepancy between the results obtained, the counter Ce is incremented.
[0061] Enfin, les contre-mesures CM4 consistent à invalider de façon définitive le processeur 12 de manière à ce que celui-ci soit définitivement inutilisable. Par exemple, à cet effet, les informations confidentielles contenues dans le processeur 12 sont effacées. Finally, the countermeasures CM 4 consist in permanently invalidating the processor 12 so that it is permanently unusable. For example, for this purpose, the confidential information contained in the processor 12 is erased.
[0062] Le fonctionnement du processeur 12 va maintenant être décrit plus en détail en regard du procédé de la figure 4.  The operation of the processor 12 will now be described in more detail with regard to the method of FIG. 4.
[0063] En parallèle du fonctionnement normal du processeur 12, celui-ci exécute également un procédé de détection d'une tentative d'attaque. A cet effet, lors d'une étape 50, il mesure les événements susceptibles d'être causés par une tentative d'attaque. Ici, cette mesure consiste à comptabiliser dans les compteurs C1 l'événement correspondant. In parallel with the normal operation of the processor 12, it also performs a method of detecting an attack attempt. For this purpose, during a step 50, it measures the events likely to be caused by an attempted attack. Here, this measure consists of counting in the counters C 1 the corresponding event.
[0064] Ensuite, lors d'une étape 52, le processeur 12 construit trois indicateurs d'attaque, respectivement, h, I2 et I3. Then, during a step 52, the processor 12 builds three attack indicators, respectively, h, I 2 and I 3 .
[0065] L'indicateur h est conçu pour être plus sensible aux tentatives d'attaque par perturbation laser que les indicateurs I2 et I3. Une attaque par perturbation laser consiste à diriger un faisceau laser sur le processeur de sécurité pour provoquer des sauts d'instructions dans le code exécuté par ce processeur à des moments clé de son exécution. Les moments clés correspondent typiquement à des branchements conditionnels. The indicator h is designed to be more sensitive to laser disturbance attack attempts than the indicators I 2 and I 3 . A laser disruption attack is to direct a laser beam on the security processor to cause instruction jumps in the code executed by that processor at key moments in its execution. Key moments typically correspond to conditional branching.
[0066] Ici, la valeur de l'indicateur h est donnée par la relation suivante :  Here, the value of the indicator h is given by the following relation:
h = m2,6C2C7 + m2,7C2Cδ + m2,gC2Cio +
Figure imgf000014_0001
+ 1117,9C7CiO + ms.gCβCio où :
h = m 2 , 6C 2 C7 + m 2 , 7C 2 Cδ + m 2 , gC 2 C 10 +
Figure imgf000014_0001
+ 1117.9C 7 CiO + ms.gCβCio where:
• rrijj est le coefficient de pondération dont la valeur est contenue dans la matrice 36. • rrij j is the weighting coefficient whose value is contained in matrix 36.
[0067] L'indicateur I2 est conçu pour être plus sensible que les deux autres aux attaques logiques. Une attaque logique consiste à rechercher une faille logicielle ou une erreur d'implémentation dans le code exécuté par le processeur 12 de manière à obtenir un comportement anormal de ce processeur. Par exemple, l'attaque logique consiste à envoyer un très grand nombre de messages erronés au processeur 12 tous différents les uns des autres jusqu'à ce que l'un de ces messages provoque un comportement anormal du processeur 12. The indicator I 2 is designed to be more sensitive than the other two to the logical attacks. A logical attack is to look for a software flaw or an implementation error in the code executed by the processor 12 so as to obtain abnormal behavior of this processor. For example, the logical attack is to send a very large number of erroneous messages to the processor 12 all different from each other until one of these messages causes abnormal behavior of the processor 12.
[0068] Par exemple, la valeur de l'indicateur I2 est construite à l'aide de la relation suivante : For example, the value of the indicator I 2 is constructed using the following relation:
I2 = mi,2CiC3 + mi,3CiC4 + m3,3C3C4 I 2 = mi, 2 CiC 3 + mi, 3 CiC 4 + m 3 , 3 C 3 C 4
[0069] Enfin, l'indicateur I3 est conçu pour être plus sensible aux tentatives d'attaque DPA (Differential Power Analysis). Une attaque DPA consiste à envoyer un grand nombre de messages au processeur 12 pour provoquer un grand nombre d'exécutions des algorithmes cryptographiques sur un grand nombre de données différentes et à mesurer, en parallèle, la consommation de courant du processeur 12. Ensuite, par une analyse statistique sur les données recueillies, il est possible de découvrir quelles sont les valeurs des clefs ou des données confidentielles enregistrées dans le processeur 12. Finally, the indicator I 3 is designed to be more sensitive to differential power analysis (DPA) attempts. A DPA is to send a large number of messages to the processor 12 to cause a large number of executions of the cryptographic algorithms on a large number of data different and to measure, in parallel, the current consumption of the processor 12. Then, by a statistical analysis on the data collected, it is possible to discover what are the values of the keys or confidential data stored in the processor 12.
[0070] Par exemple, l'indicateur I3 est construit à l'aide de la relation suivante : For example, the indicator I 3 is constructed using the following relation:
I3 = (114,4C4Cs + m4,5C4C6 + (115,5CsCe. I3 = ( 114.4C 4 Cs + m4.5C4C6 + ( 115.5CsCe.
[0071] Ensuite, une fois que la valeur des indicateurs h à I3 a été construite, lors d'une étape 54, la valeur de ces indicateurs est comparée aux différents seuils d'alerte enregistrés dans la table 38 pour détecter une tentative d'attaque.  Then, once the value of the indicators h to I3 has been constructed, during a step 54, the value of these indicators is compared to the different alert thresholds recorded in the table 38 to detect an attempt to attack.
[0072] Si la valeur d'aucun de ces indicateurs ne franchit le seuil Si, alors, lors d'une étape 56, aucune contre-mesure n'est exécutée. If the value of any of these indicators does not exceed the threshold If, then, in a step 56, no countermeasure is executed.
[0073] A l'inverse, si la valeur d'un de ces indicateurs franchit l'un des seuils Si, alors les contre-mesures associées au seuil Si le plus élevé franchi sont exécutées lors d'une étape 58.  Conversely, if the value of one of these indicators exceeds one of the thresholds Si, then the countermeasures associated with the threshold If the highest crossed are executed during a step 58.
[0074] A l'issue des étapes 56 et 58, le procédé retourne à l'étape 50. At the end of steps 56 and 58, the process returns to step 50.
[0075] En parallèle des étapes 50 à 58, lors d'une étape 60, l'émetteur 4 transmet, par exemple par l'intermédiaire d'un message EMM ou ECM, de nouvelles valeurs pour les coefficients de pondération. Ensuite, lors d'une étape 62, le processeur 12 reçoit ce message et met à jour les valeurs des coefficients de pondération contenus dans la matrice 36.  In parallel with steps 50 to 58, during a step 60, the transmitter 4 transmits, for example by means of an EMM or ECM message, new values for the weighting coefficients. Then, during a step 62, the processor 12 receives this message and updates the values of the weighting coefficients contained in the matrix 36.
[0076] La mise à jour des coefficients de pondération permet de modifier facilement la sensibilité d'un indicateur à une tentative d'attaque particulière. En particulier, on remarquera que pour modifier cette sensibilité de l'indicateur à une tentative d'attaque particulière, il est uniquement nécessaire de modifier les coefficients de pondération enregistrés dans la matrice 36 sans qu'il soit nécessaire de modifier d'autres instructions exécutables par le processeur 12.  The updating of the weighting coefficients makes it possible to easily modify the sensitivity of an indicator to a particular attack attempt. In particular, it will be noted that to modify this sensitivity of the indicator to a particular attack attempt, it is only necessary to modify the weighting coefficients recorded in the matrix 36 without the need to modify other executable instructions. by the processor 12.
[0077] De nombreux autres modes de réalisation sont possibles. Par exemple, le processeur 12 peut comporter plusieurs matrices différentes de coefficients de pondération. Chacune de ces matrices peut être utilisée pour calculer un indicateur d'attaque respectif. Cela permet alors d'affecter à chaque indice de concomitance un coefficient de pondération différent en fonction de l'indicateur d'attaque construit. L'utilisation de plusieurs matrices de coefficients de pondération peut être aussi utile pour modifier la matrice de pondération utilisée lorsqu'un nouveau seuil d'alerte est franchi.  [0077] Many other embodiments are possible. For example, the processor 12 may comprise several different matrices of weighting coefficients. Each of these matrices can be used to calculate a respective attack indicator. This then makes it possible to assign to each concomitance index a different weighting coefficient as a function of the attack indicator constructed. The use of multiple weighting matrixes can also be useful for modifying the weighting matrix used when a new alert threshold is crossed.
[0078] A l'inverse, un seul indicateur d'attaque peut être construit au lieu de plusieurs. In contrast, a single attack indicator can be constructed instead of several.
[0079] En variante, il existe autant de tables de seuils d'alerte que d'indicateurs d'attaque construits. Dans cette variante, les seuils d'alerte associés à un indicateur d'attaque particulier ne sont donc pas nécessairement les mêmes que les seuils d'alerte associés à un autre indicateur d'attaque. [0080] La table 38 peut également être remplacée par un seul seuil d'alerte associé à des contre-mesures. In a variant, there are as many tables of alert thresholds as of attack indicators constructed. In this variant, the alert thresholds associated with a particular attack indicator are therefore not necessarily the same as the alert thresholds associated with another attack indicator. The table 38 can also be replaced by a single alert threshold associated with countermeasures.
[0081] L'un des compteurs O, peut simplement comptabiliser l'existence d'un événement sans comptabiliser le nombre d'occurrences de cet événement. Dans ce cas, la valeur de ce compteur est codable à l'aide d'un seul bit d'information. Même dans ce cas, la valeur de ce compteur d'existence peut être associé à une fenêtre temporelle de durée infinie ou finie.  One of the counters O, can simply count the existence of an event without counting the number of occurrences of this event. In this case, the value of this counter is codable using a single information bit. Even in this case, the value of this existence counter can be associated with a time window of infinite or finite duration.
[0082] D'autres capteurs que ceux décrits peuvent être implémentés dans le processeur 12. Par exemple, le processeur 12 peut également comporter un capteur de température.  Other sensors than those described may be implemented in the processor 12. For example, the processor 12 may also include a temperature sensor.
[0083] L'indice de concomitance n'est pas limité au produit de deux mesures. Par exemple, il peut aussi correspondre à un produit de plus de deux mesures. Toutefois, l'augmentation du nombre de mesures multipliées entre elles augmente également la taille de la matrice de coefficients de pondération.  The concomitance index is not limited to the product of two measurements. For example, it may also be a product of more than two measurements. However, increasing the number of measurements multiplied between them also increases the size of the matrix of weighting coefficients.
[0084] II est également possible de calculer un indice de concomitance représentant la proximité temporelle entre au moins deux événements par d'autres opérations mathématiques qu'un produit. It is also possible to calculate a concomitance index representing the temporal proximity between at least two events by other mathematical operations than a product.
[0085] De nombreuses autres contre-mesures que celles précédemment indiquées peuvent être exécutées en réponse au franchissement d'un seuil d'alerte par l'un des indicateurs d'attaque. Par exemple, d'autres contre-mesures peuvent consister à modifier l'algorithme cryptographique exécuté par le processeur 12. Une contre- mesure peut également consister à utiliser ou à mesurer de nouveaux événements pour construire un indicateur d'attaque qui auparavant n'était pas mesuré. Par exemple, en réponse au franchissement d'un seuil d'alerte, les événements mesurés par l'un des capteurs 26 ou 27 peuvent être comptabilisés alors qu'auparavant ils ne l'étaient pas.  Many other countermeasures than those previously indicated may be executed in response to crossing an alert threshold by one of the attack indicators. For example, other countermeasures may consist of modifying the cryptographic algorithm executed by the processor 12. A countermeasure may also consist of using or measuring new events to construct an attack indicator that was previously not not measured. For example, in response to crossing an alert threshold, the events measured by one of the sensors 26 or 27 can be counted whereas previously they were not.
[0086] Le calculateur 24 peut être formé d'un seul ou de plusieurs processeurs. Par exemple, il peut être formé d'un processeur auquel est associé un coprocesseur. Le procédé de détection peut alors être exécuté aussi bien par le processeur que par le co-processeur.  The computer 24 may be formed of one or more processors. For example, it may be formed of a processor with which a coprocessor is associated. The detection method can then be executed by both the processor and the co-processor.
[0087] La mesure a été ici décrite dans le cas particulier où il s'agit de comptabiliser le nombre d'occurrences d'un événement. Toutefois, la mesure peut également consister à enregistrer dans l'un des registres la valeur d'un événement tel que par exemple une valeur mesurée par l'un des capteurs 26 ou 27. Pour compter le nombre d'occurrences d'un événement, la valeur des compteurs peut également être décrémentée au lieu d'être incrémentée comme décrit précédemment.  The measurement has been described here in the particular case where it is a question of counting the number of occurrences of an event. However, the measurement can also consist in recording in one of the registers the value of an event such as for example a value measured by one of the sensors 26 or 27. To count the number of occurrences of an event, the value of the counters can also be decremented instead of being incremented as previously described.
[0088] L'architecture du récepteur 6 est ici uniquement illustrative d'une situation particulière. En particulier, le désembrouilleur 18 peut également être amovible. A l'inverse, le désembrouilleur et le processeur de sécurité peuvent être implémentés sans aucun degré de liberté dans le décodeur. Dans ce cas, le désembrouilleur et le processeur de sécurité peuvent se présenter sous la forme de composant logiciel. The architecture of the receiver 6 is here only illustrative of a particular situation. In particular, the descrambler 18 can also be removable. Conversely, the descrambler and the security processor can be implemented without any degree of freedom in the decoder. In this case, the descrambler and the security processor may be in the form of a software component.

Claims

REVENDICATIONS
1. Procédé de détection d'une tentative d'attaque d'un processeur de sécurité par le processeur de sécurité lui-même, ce procédé comprenant des mesures (50) de plusieurs événements différents se produisant indépendamment les uns des autres en absence de tentative d'attaque, A method of detecting an attempt to attack a security processor by the security processor itself, the method comprising measuring (50) a plurality of different events occurring independently of each other in the absence of an attempt attack,
caractérisé en ce que le procédé comprend également : characterized in that the method further comprises:
- la construction (52) de la valeur d'au moins un indicateur d'attaque en fonction d'au moins un indice de concomitance entre au moins deux événements différents mesurés, l'indice de concomitance étant représentatif de la proximité temporelle entre les deux événements différents mesurés, et  the construction (52) of the value of at least one attack indicator as a function of at least one concomitance index between at least two different events measured, the concomitant index being representative of the temporal proximity between the two different events measured, and
- la détection (54) d'une tentative d'attaque si la valeur de l'indicateur d'attaque franchit un seuil prédéterminé.  detecting (54) an attack attempt if the value of the attack indicator exceeds a predetermined threshold.
2. Procédé selon la revendication 1 , dans lequel la valeur de l'indicateur d'attaque est construite (52) à partir de plusieurs indices de concomitance entre des événements différents mesurés et en pondérant l'importance de ces indices de concomitance les uns par rapport aux autres à l'aide d'un jeu prédéterminé de coefficients de pondération. The method according to claim 1, wherein the value of the attack indicator is constructed (52) from several concomitance indices between different measured events and weighting the importance of these concomitance indices, one by to others using a predetermined set of weights.
3. Procédé selon la revendication 2, dans lequel le procédé comprend la construction (52) de plusieurs valeurs d'indicateurs d'attaque en utilisant plusieurs jeux différents de coefficients de pondération entre les mêmes indices de concomitance, chaque jeu de coefficients de pondération étant prédéterminé pour être plus sensible à une tentative d'attaque différente de celles auxquelles sont plus sensibles les autres indicateurs. The method of claim 2, wherein the method comprises constructing (52) a plurality of driver indicator values using a plurality of different sets of weighting coefficients between the same concomitance indices, each set of weighting coefficients being predetermined to be more sensitive to an attack attempt different from those to which the other indicators are more sensitive.
4. Procédé selon la revendication 3, dans lequel le coefficient de pondération d'un même indice de concomitance est le même dans tous les jeux de coefficients de pondération utilisés pour construire les différentes valeurs d'indicateurs d'attaque. 4. The method according to claim 3, wherein the weighting coefficient of the same concomitance index is the same in all sets of weighting coefficients used to construct the different values of attack indicators.
5. Procédé selon l'une quelconque des revendications précédentes, dans lequel la mesure (50) d'un événement est limitée à une fenêtre temporelle glissante de manière à ne pas prendre en compte des événements qui se sont produits en dehors de cette fenêtre temporelle. The method according to any one of the preceding claims, wherein the measurement (50) of an event is limited to a sliding time window so as not to take into account events that have occurred outside this time window. .
6. Procédé selon l'une quelconque des revendications précédentes, dans lequel au moins l'un des événements mesurés est la détection d'une erreur de fonctionnement du processeur de sécurité dont chaque occurrence conduit le processeur de sécurité à arrêter les traitements en cours et à se réinitialiser automatiquement pour reprendre ces traitements depuis le début. The method of any one of the preceding claims, wherein at least one of the events measured is the detection of a malfunction. the security processor where each occurrence causes the security processor to stop running processes and automatically reset itself to resume these processes from the beginning.
7. Procédé selon l'une quelconque des revendications précédentes, dans lequel la mesure (50) d'un événement consiste à comptabiliser dans un compteur le nombre de fois où cet événement s'est produit, la valeur du compteur constituant la mesure. 7. A method according to any one of the preceding claims, wherein the measurement (50) of an event consists in counting in a counter the number of times this event has occurred, the value of the counter constituting the measurement.
8. Procédé selon l'une quelconque des revendications précédentes, dans lequel l'indice de concomitance entre au moins deux mesures est obtenu en multipliant entre elles ces mesures. 8. Method according to any one of the preceding claims, wherein the index of concomitance between at least two measurements is obtained by multiplying these measurements.
9. Support d'enregistrement d'informations, caractérisé en ce qu'il comporte des instructions pour l'exécution d'un procédé de détection conforme à l'une quelconque des revendications précédentes, lorsque ces instructions sont exécutées par un calculateur électronique. 9. An information recording medium, characterized in that it comprises instructions for the execution of a detection method according to any one of the preceding claims, when these instructions are executed by an electronic computer.
10. Processeur de sécurité comportant : 10. Security processor comprising:
- des registres (Ci à C10) dans lesquels sont stockées des mesures de plusieurs événements se produisant indépendamment les uns des autres en absence de tentative d'attaque, et registers (Ci to C10) in which are stored measurements of several events occurring independently of each other in the absence of an attempted attack, and
- un calculateur (24),  a calculator (24),
caractérisé en ce que le calculateur (24) est apte : characterized in that the calculator (24) is capable of:
- à construire la valeur d'au moins un indicateur d'attaque en fonction d'au moins un indice de concomitance entre au moins deux événements différents mesurés dont les mesures sont stockées dans les registres, cet indice de concomitance étant représentatif de la proximité temporelle entre les deux événements différents mesurés, et constructing the value of at least one attack indicator according to at least one concomitance index between at least two different measured events whose measurements are stored in the registers, this concomitance index being representative of the temporal proximity between the two different events measured, and
- à détecter une tentative d'attaque si la valeur de l'indicateur d'attaque franchit un seuil prédéterminé. detect an attack attempt if the value of the attack indicator exceeds a predetermined threshold.
PCT/EP2010/058949 2009-06-29 2010-06-23 Method for detecting an attempted attack, recording medium, and security processor for said method WO2011000756A1 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
MX2011013513A MX2011013513A (en) 2009-06-29 2010-06-23 Method for detecting an attempted attack, recording medium, and security processor for said method.
EP10731487A EP2449497A1 (en) 2009-06-29 2010-06-23 Method for detecting an attempted attack, recording medium, and security processor for said method
CN201080029645.8A CN102473209B (en) 2009-06-29 2010-06-23 The safe processor of the detection method of attack attempt, recording medium and adopting said method
RU2012102988/08A RU2568298C2 (en) 2009-06-29 2010-06-23 Method to detect attack attempt, record medium and security processor for this method
US13/378,709 US9600667B2 (en) 2009-06-29 2010-06-23 Method for detecting an attempted attack, recording medium, and security processor for said method
BRPI1013816A BRPI1013816A2 (en) 2009-06-29 2010-06-23 method to detect attempted attack, registry, and security processor for this method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0954431A FR2947361B1 (en) 2009-06-29 2009-06-29 METHOD FOR DETECTING ATTACK ATTEMPT, RECORDING MEDIUM AND SECURITY PROCESSOR FOR SAID METHOD
FR0954431 2009-06-29

Publications (1)

Publication Number Publication Date
WO2011000756A1 true WO2011000756A1 (en) 2011-01-06

Family

ID=41508781

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2010/058949 WO2011000756A1 (en) 2009-06-29 2010-06-23 Method for detecting an attempted attack, recording medium, and security processor for said method

Country Status (9)

Country Link
US (1) US9600667B2 (en)
EP (1) EP2449497A1 (en)
CN (1) CN102473209B (en)
BR (1) BRPI1013816A2 (en)
FR (1) FR2947361B1 (en)
MX (1) MX2011013513A (en)
RU (1) RU2568298C2 (en)
TW (1) TWI512519B (en)
WO (1) WO2011000756A1 (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9503785B2 (en) 2011-06-22 2016-11-22 Nagrastar, Llc Anti-splitter violation conditional key change
US9392319B2 (en) * 2013-03-15 2016-07-12 Nagrastar Llc Secure device profiling countermeasures
CN103678709B (en) * 2013-12-30 2017-02-22 中国科学院自动化研究所 Recommendation system attack detection method based on time series data
EP3270620A1 (en) * 2016-07-13 2018-01-17 Gemalto Sa Method and devices for managing a secure element
RU179302U1 (en) * 2017-11-21 2018-05-07 Александра Владимировна Харжевская DEVICE OF DYNAMIC CONTROL OF PERFORMANCE OF SPECIAL COMPUTATIONS
EP3663959B1 (en) 2018-12-06 2021-08-11 Mastercard International Incorporated An integrated circuit, method and computer program
US11848941B2 (en) * 2020-09-02 2023-12-19 Nxp B.V. Collection of diagnostic information in a device
CN115775419A (en) * 2021-09-06 2023-03-10 华为技术有限公司 Protection method, intelligent lock and computer readable storage medium
US20240031391A1 (en) * 2022-07-22 2024-01-25 Semperis Technologies Inc. (US) Attack path monitoring and risk mitigation in identity systems

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5533123A (en) * 1994-06-28 1996-07-02 National Semiconductor Corporation Programmable distributed personal security
EP1575293A1 (en) 2004-03-11 2005-09-14 Canal+ Technologies Dynamic smart card management

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100381118B1 (en) * 1994-04-18 2003-04-21 마쯔시다덴기산교 가부시키가이샤 Method and system for prevention of illegal copy and install of information on optical recording media
US6075884A (en) * 1996-03-29 2000-06-13 Sarnoff Corporation Method and apparatus for training a neural network to learn and use fidelity metric as a control mechanism
GB2365153A (en) * 2000-01-28 2002-02-13 Simon William Moore Microprocessor resistant to power analysis with an alarm state
EP1447976B1 (en) 2003-02-12 2019-06-19 Irdeto B.V. Method of controlling descrambling of a plurality of program transport streams, receiver system and portable secure device
US7681235B2 (en) * 2003-05-19 2010-03-16 Radware Ltd. Dynamic network protection
US8190731B2 (en) * 2004-06-15 2012-05-29 Alcatel Lucent Network statistics processing device
EP1612639A1 (en) * 2004-06-30 2006-01-04 ST Incard S.r.l. Method for detecting and reacting against possible attack to security enforcing operation performed by a cryptographic token or card
JP4899442B2 (en) * 2005-11-21 2012-03-21 ソニー株式会社 Information processing apparatus, information recording medium manufacturing apparatus, information recording medium and method, and computer program
FR2907930B1 (en) 2006-10-27 2009-02-13 Viaccess Sa METHOD FOR DETECTING ABNORMAL USE OF A SECURITY PROCESSOR

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5533123A (en) * 1994-06-28 1996-07-02 National Semiconductor Corporation Programmable distributed personal security
EP1575293A1 (en) 2004-03-11 2005-09-14 Canal+ Technologies Dynamic smart card management

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Functional model of a conditional access system", EBU REVIEW - TECHNICAL EUROPEAN BROADCASTING UNION, 21 December 1995 (1995-12-21)
See also references of EP2449497A1 *

Also Published As

Publication number Publication date
RU2012102988A (en) 2013-08-20
FR2947361B1 (en) 2011-08-26
MX2011013513A (en) 2012-04-20
BRPI1013816A2 (en) 2016-04-12
CN102473209B (en) 2016-04-13
TW201101090A (en) 2011-01-01
TWI512519B (en) 2015-12-11
FR2947361A1 (en) 2010-12-31
RU2568298C2 (en) 2015-11-20
US9600667B2 (en) 2017-03-21
US20120096547A1 (en) 2012-04-19
EP2449497A1 (en) 2012-05-09
CN102473209A (en) 2012-05-23

Similar Documents

Publication Publication Date Title
WO2011000756A1 (en) Method for detecting an attempted attack, recording medium, and security processor for said method
US9646140B2 (en) Method and apparatus for protecting online content by detecting noncompliant access patterns
EP1900211B1 (en) Method and device for controlling access to encrypted data
EP2357783B1 (en) Method for detecting potentially suspicious operation of an electronic device and corresponding electronic device
WO2008025900A1 (en) Security processor and recording method and medium for configuring the behaviour of this processor
FR2983597A1 (en) METHOD FOR DETECTING A DATA READ ERROR
CN102209266A (en) Tracing unauthorized use of secure modules
FR3065607A1 (en) METHOD FOR READING A VIDEO STREAM
EP3008905B1 (en) Terminal identification method in a system for providing multimedia content
EP1353511B1 (en) Access rights management process for television services
CN102890756A (en) Media content generating method and device and media content playing method and device
EP1773055B1 (en) Method for verification of content rights in a security module
EP3031000B1 (en) Method of providing a licence in a system for providing multimedia contents
EP3380983B1 (en) Method for the identification of security processors
WO2007006758A1 (en) Method for detecting errors during initialization of an electronic appliance and apparatus therefor
EP2098073B1 (en) Method for managing the number of visualisations, security processor and terminal for said method
WO2012055829A1 (en) Method of receiving a multimedia content scrambled with the aid of control words and captcha
EP2304944B1 (en) Method for protecting security data transmitted by a sending device to a receiving device
EP2356608B1 (en) Method and device for diagnosing the first reception of an identifier, detection method, storage medium and computer software for said method
EP2172896A1 (en) Value management method in a prepaid device
EP3391265A1 (en) Method for generating a challenge word, electronic device, set value peripheral, and system implementing said method
FR2850228A1 (en) Data processing software integrity ensuring method for receiving television pay-channel, involves verifying whether coding/decoding module has effectively received software using additional information inserted in message
WO2009083371A1 (en) Method for securing a conditional connection, information carrier, software, secured system, and security processor for said method
WO2011086286A1 (en) Method for updating a security processor, and corresponding system, computer program and security processor

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201080029645.8

Country of ref document: CN

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

Ref document number: 10731487

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2619/MUMNP/2011

Country of ref document: IN

WWE Wipo information: entry into national phase

Ref document number: 2010731487

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: MX/A/2011/013513

Country of ref document: MX

WWE Wipo information: entry into national phase

Ref document number: 13378709

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2012102988

Country of ref document: RU

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: PI1013816

Country of ref document: BR

ENP Entry into the national phase

Ref document number: PI1013816

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20111216