WO2004010300A2 - Method to secure the execution of a program against attacks - Google Patents
Method to secure the execution of a program against attacks Download PDFInfo
- Publication number
- WO2004010300A2 WO2004010300A2 PCT/IB2003/002847 IB0302847W WO2004010300A2 WO 2004010300 A2 WO2004010300 A2 WO 2004010300A2 IB 0302847 W IB0302847 W IB 0302847W WO 2004010300 A2 WO2004010300 A2 WO 2004010300A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- sequence
- program
- execution time
- execution
- interrupt
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F7/00—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
- G07F7/08—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
- G07F7/10—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
- G07F7/1008—Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
- G06F11/0754—Error or fault detection not based on redundancy by exceeding limits
- G06F11/0757—Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/34—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
- G06Q20/341—Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F7/00—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
- G07F7/08—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
- G07F7/0806—Details of the card
- G07F7/0813—Specific details related to card security
- G07F7/082—Features insuring the integrity of the data on or in the card
Definitions
- This invention concerns a method and a device to secure an electronic assembly implementing a program to be protected. More precisely, the purpose of the method is to propose a defence against attacks by radiation, flash, light or other and more generally against any attack disturbing the execution of the program instructions.
- One purpose of this invention is to propose efficient protection even for very short attacks.
- Another purpose of this invention is to propose a solution which could be implemented in the current components without adaptation, which consumes few resources and which does not reduce the performance of the assembly in which it is implemented.
- This invention concerns a method to secure the execution of a program in an electronic assembly comprising information processing means and information storage means, characterised in that it consists in checking the execution time of at least one sequence of said program with respect to the normal predetermined execution time of said sequence.
- This invention also concerns an electronic module in which said method is implemented, a card comprising said module and a program to implement said method.
- FIG. 1 is a diagrammatic representation of a mode of realisation of an electronic module according to this invention
- figure 2 is a diagrammatic representation of part of the module according to figure 1 in which the steps of the method according to this invention have been indicated.
- the purpose of the method according to the invention is to secure an electronic assembly and for example an onboard system such as a smart card implementing a program.
- the electronic assembly comprises at least a processor and a memory.
- the program to be secured is installed in the memory, for example ROM type, of said assembly.
- the electronic assembly described below corresponds to an onboard system comprising an electronic module 1 illustrated on figure 1.
- This type of module is generally realised as a monolithic integrated electronic microcircuit, or chip, which once physically protected by any known means can be assembled on a portable object such as for example a smart card, integrated circuit card or other card which can be used in various fields.
- the microprocessor controlled electronic module 1 comprises a microprocessor CPU 3 with two-way connection via an internal bus 5 to a non volatile memory 7 of type ROM, EEPROM Flash, FeRam or other containing the program PROG 9 to be executed, a random access memory (RAM) 11 , input/output (I/O) means 13 to communicate with the exterior and means 15 TIMER to evaluate the program execution time such as a counter with triggering of an interrupt on expiry. An exception is raised when the counter 15 expires. The exception is followed by diversion of the program code to an interrupt processing routine (ROUTINE - figure 2).
- an interrupt processing routine ROUTINE - figure 2
- the microprocessor central processing unit CPU 3 illustrated on figure 1 comprises in particular an arithmetic and logic unit UAL 16, a program counter register CO 17 giving the address of the next instruction to be executed, a stack pointer register PP 18 giving the memory address of the top of the stack.
- CISC Complex Instruction Set Computer
- execution time of a sequence of instructions is the sum of the execution times of each instruction executed.
- the execution time of an instruction generally varies between 2 and 11 clock cycles.
- the execution of a sequence of instructions is characterised by the points of departure and arrival and the path followed, which is likely to include loops and branches.
- Attack by radiation converts any instruction of variable execution time into an inoperative instruction of fixed execution time such as, for example, a NOP instruction (2 clock cycles on the SLE66 cards) or a BTJT instruction (5 clock cycles on the ST19 cards).
- the sequence attacked is converted into a "linear" sequence which consists in executing a series of inoperative instructions with incrementation of the program counter 17 CO with no loops or branches.
- the path followed is therefore modified and the point of arrival after the normal execution time will be different from that of the normal point of arrival. Even with a very short attack, the execution time of a sequence is changed slightly and the point of arrival after the normal execution time is different from that planned.
- the method according to the invention consists in checking the execution time of at least one sequence S of the program 9 with respect to its normal predetermined execution time, which is invariable if there is no disturbance, and more precisely in checking that the execution of sequence S is at the planned point of arrival after the normal predetermined execution time T of said sequence.
- the check may concern, for example, one or more sensitive instruction sequences which require greater protection such as the cryptographic algorithms, the security processes or other.
- step (1) the counter TIMER 15 is started at the point of departure of execution of sequence S with an initialisation value corresponding to the normal execution time T of the processing concerned.
- a counter initialisation code INIT is added before the start of each sequence S to be protected.
- the initialisation value is predetermined during development and must be constant: it must not vary during normal execution conditions.
- the interrupts likely to occur during execution of the interrupt are therefore deactivated, as well as the mechanisms designed to modify consumption during a processing operation (variation of the number of instruction cycles or introduction of additional cycles).
- all execution paths must lead, on expiry of the processing execution time, to the same point of arrival, i.e. to the same instruction and more precisely to the same value of the program counter CO 17.
- the time of execution through each branch must therefore be equalised by adding null instructions such as for example NOP instructions.
- the processing duration is therefore the same no matter which branch is followed.
- the sequence S includes loops of variable execution time, resynchronisation loops must be added to compensate for the variations so that the total execution time remains constant.
- a variable accessible by the counter interrupt processing routine is initialised with the value of the program counter CO 17 corresponding to the value expected at the normal point of arrival of the sequence S to be protected.
- an interrupt is raised (step (2), fig. 2).
- the value of the program counter CO corresponds to the actual point of arrival: this value is saved at the address given by the stack pointer PP 18 and the code execution is diverted to the interrupt processing routine ROUTINE stored in ROM and/or in EEPROM and/or any non volatile memory (step (3)).
- the interrupt routine ROUTINE reads the value of the program counter CO at the end of normal execution time on the stack and checks that it corresponds to the expected value sent by variable as seen previously.
- step (4) program execution continues normally. Otherwise, disturbance in the execution of program sequence S is observed and an attack by radiation is detected. Various measures can then be taken such as, for example, interruption of program execution, setting of a fraud indicator (INDIC - step (4')) in non volatile memory 7 to indicate that a fraudulent attack has taken place and for example to prohibit any future use of the operating system. To guarantee maximum efficiency, the point of arrival should only be reached once during execution of the sequence.
- INDIC - step (4') in non volatile memory 7 to indicate that a fraudulent attack has taken place and for example to prohibit any future use of the operating system.
- the method according to the invention consists in adding one or more short null loops in the code.
- the loops added increase the normal execution time of the instruction sequence to be protected. In the event of attack by radiation, the loops disappear and the sequence execution time is modified, so the attack can be detected. Triggering of the processing on expiry of the counter is based on a hardware means which can withstand attacks by radiation.
- the method according to this invention is improved by placing the interrupt return instruction at the last memory location or just before a shared domain boundary. If an attack by radiation prevents execution of the interrupt return, the program counter CO is incremented at the next memory location which is outside the permitted program memory area. A procedure specific to the component is then carried out, for example on component ST19, generation of a non maskable interrupt (NMI) with reset.
- NMI non maskable interrupt
- a sequence to set a fraud indicator is introduced in non volatile memory after the interrupt return instruction.
- the method according to this invention can be used to detect any attack by radiation, irrespective of its duration, on a protected sequence.
- Said method is very economical in terms of resources and execution time.
- the method only requires the addition of counter initialisation code, counter interrupt management routine code and possibly code to equalise the execution branches and resynchronise the loops.
- the execution time consumed by the method according to the invention for each protected instruction sequence corresponds to counter initialisation, execution of the interrupt processing routine and the code possibly added to equalise branches and resynchronise loops.
- the method can therefore be used to protect the code without reducing the performance in terms of code size and execution time.
- the method uses a counter with associated interrupt.
- the choice of a counter with triggering of interrupt on expiry offers several advantages.
- the method according to the invention can also be used to propose a defence against any attack unpredictably modifying an instruction sequence such as the DFA (Differential Fault Analysis) attack or other (unexpected jumps, modification or disturbance of the logic associated with the program counter CO, conversion of one instruction into another).
- DFA Different Fault Analysis
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Hardware Design (AREA)
- Accounting & Taxation (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Storage Device Security (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
Claims
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| AU2003249481A AU2003249481A1 (en) | 2002-07-18 | 2003-07-18 | Method to secure the execution of a program against attacks |
| EP03765228A EP1532528A2 (en) | 2002-07-18 | 2003-07-18 | Method to secure the execution of a program against attacks |
| US10/521,600 US7228463B2 (en) | 2002-07-18 | 2003-07-18 | Method to secure the execution of a program against attacks by radiation or other |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP02291812.2 | 2002-07-18 | ||
| EP02291812A EP1383047A1 (en) | 2002-07-18 | 2002-07-18 | Method for the secure execution of a program against attacks by radiation or other means |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| WO2004010300A2 true WO2004010300A2 (en) | 2004-01-29 |
| WO2004010300A3 WO2004010300A3 (en) | 2004-03-25 |
Family
ID=29762723
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/IB2003/002847 Ceased WO2004010300A2 (en) | 2002-07-18 | 2003-07-18 | Method to secure the execution of a program against attacks |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US7228463B2 (en) |
| EP (2) | EP1383047A1 (en) |
| AU (1) | AU2003249481A1 (en) |
| WO (1) | WO2004010300A2 (en) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP1898331A2 (en) | 2006-08-18 | 2008-03-12 | Giesecke & Devrient GmbH | Method and device for concurrent performance of processes |
| WO2008051607A3 (en) * | 2006-10-27 | 2008-07-10 | Kyocera Wireless Corp | Security for physically unsecured software elements |
| KR100900431B1 (en) * | 2005-12-01 | 2009-06-01 | 엘지전자 주식회사 | Location information system and method for notification based on location |
| CN105912929A (en) * | 2016-04-08 | 2016-08-31 | 山东超越数控电子有限公司 | Domestic TCM based dynamic measurement method |
Families Citing this family (17)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP1717704A3 (en) * | 2005-04-20 | 2011-07-20 | St Microelectronics S.A. | Protection of program execution performed by an integrated circuit |
| EP1715436A3 (en) * | 2005-04-21 | 2007-03-28 | St Microelectronics S.A. | Protection of program execution performed by an integrated circuit or the data stored in this circuit |
| FR2886027A1 (en) * | 2005-05-20 | 2006-11-24 | Proton World Internatinal Nv | SEQUENCING ERROR DETECTION IN THE EXECUTION OF A PROGRAM |
| FR2888370A1 (en) * | 2005-07-05 | 2007-01-12 | St Microelectronics Sa | PROTECTION OF THE EXECUTION OF A PROGRAM |
| DE102008003531A1 (en) * | 2008-01-08 | 2009-07-09 | Giesecke & Devrient Gmbh | software identification |
| JP5297833B2 (en) * | 2009-02-17 | 2013-09-25 | ルネサスエレクトロニクス株式会社 | Watchdog timer and its control method |
| EP2354993A1 (en) | 2009-12-30 | 2011-08-10 | Gemalto SA | JCVM bytecode execution protection against fault attacks |
| US20120179898A1 (en) * | 2011-01-10 | 2012-07-12 | Apple Inc. | System and method for enforcing software security through cpu statistics gathered using hardware features |
| FR2993380B1 (en) * | 2012-07-10 | 2020-05-15 | Morpho | METHOD FOR PROTECTING A SMART CARD AGAINST A PHYSICAL ATTACK FOR MODIFYING THE LOGICAL BEHAVIOR OF A FUNCTIONAL PROGRAM |
| CN102930202A (en) * | 2012-11-05 | 2013-02-13 | 曙光信息产业(北京)有限公司 | Operation executing method in Linux system |
| CN104639310B (en) * | 2014-12-31 | 2017-12-29 | 东华大学 | A kind of method that detection algorithms of SHA 1 resist differential fault attack |
| US10572671B2 (en) | 2017-02-20 | 2020-02-25 | Tsinghua University | Checking method, checking system and checking device for processor security |
| US10642981B2 (en) * | 2017-02-20 | 2020-05-05 | Wuxi Research Institute Of Applied Technologies Tsinghua University | Checking method, checking device and checking system for processor |
| US10657022B2 (en) | 2017-02-20 | 2020-05-19 | Tsinghua University | Input and output recording device and method, CPU and data read and write operation method thereof |
| US10684896B2 (en) | 2017-02-20 | 2020-06-16 | Tsinghua University | Method for processing asynchronous event by checking device and checking device |
| EP3460702A1 (en) * | 2017-09-20 | 2019-03-27 | Gemalto Sa | Method to detect an attack by fault injection on a sensitive operation |
| US10963561B2 (en) * | 2018-09-04 | 2021-03-30 | Intel Corporation | System and method to identify a no-operation (NOP) sled attack |
Family Cites Families (19)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3426331A (en) * | 1966-12-12 | 1969-02-04 | Honeywell Inc | Apparatus for monitoring the processing time of program instructions |
| US3723975A (en) * | 1971-06-28 | 1973-03-27 | Ibm | Overdue event detector |
| US4535453A (en) * | 1982-12-27 | 1985-08-13 | Siemens Corporate Research & Support, Inc. | Signaling input/output processing module for a telecommunication system |
| JPS61139873A (en) * | 1984-12-13 | 1986-06-27 | Casio Comput Co Ltd | Authorization system |
| JP2867717B2 (en) * | 1991-02-01 | 1999-03-10 | 日本電気株式会社 | Microcomputer |
| US5333285A (en) * | 1991-11-21 | 1994-07-26 | International Business Machines Corporation | System crash detect and automatic reset mechanism for processor cards |
| FR2707844A1 (en) * | 1993-07-02 | 1995-01-27 | Saillour Jean Marie | Machine for cutting the bottoms out of artichokes |
| FR2707409B3 (en) * | 1993-07-09 | 1995-06-23 | Solaic Sa | Method for limiting the time for recording or reading sensitive information in a memory card, and memory card for implementing this method. |
| US5664090A (en) * | 1993-12-15 | 1997-09-02 | Kabushiki Kaisha Toshiba | Processor system and method for maintaining internal state consistency between active and stand-by modules |
| US6026454A (en) * | 1993-12-17 | 2000-02-15 | Packard Bell Nec, Inc. | Interface for multiplexing and reformatting information transfer between device driver programs and a network application program which only accepts information in a predetermined format |
| US5892900A (en) * | 1996-08-30 | 1999-04-06 | Intertrust Technologies Corp. | Systems and methods for secure transaction management and electronic rights protection |
| US5758060A (en) * | 1996-03-05 | 1998-05-26 | Dallas Semiconductor Corp | Hardware for verifying that software has not skipped a predetermined amount of code |
| US6370603B1 (en) * | 1997-12-31 | 2002-04-09 | Kawasaki Microelectronics, Inc. | Configurable universal serial bus (USB) controller implemented on a single integrated circuit (IC) chip with media access control (MAC) |
| FR2795836A1 (en) * | 1999-06-30 | 2001-01-05 | Bull Cp8 | Method of evaluation of timing of data processing device by executing program contained in memory while adding time of execution to form accumulated value of time during such operation |
| US6560726B1 (en) * | 1999-08-19 | 2003-05-06 | Dell Usa, L.P. | Method and system for automated technical support for computers |
| TW536672B (en) * | 2000-01-12 | 2003-06-11 | Hitachi Ltd | IC card and microcomputer |
| JP4090669B2 (en) * | 2000-06-01 | 2008-05-28 | 富士通株式会社 | Arithmetic processing device, information processing device and control method thereof |
| FR2864655B1 (en) * | 2003-12-31 | 2006-03-24 | Trusted Logic | METHOD OF CONTROLLING INTEGRITY OF PROGRAMS BY VERIFYING IMPRESSIONS OF EXECUTION TRACES |
| US7383427B2 (en) * | 2004-04-22 | 2008-06-03 | Sony Computer Entertainment Inc. | Multi-scalar extension for SIMD instruction set processors |
-
2002
- 2002-07-18 EP EP02291812A patent/EP1383047A1/en not_active Withdrawn
-
2003
- 2003-07-18 US US10/521,600 patent/US7228463B2/en not_active Expired - Lifetime
- 2003-07-18 AU AU2003249481A patent/AU2003249481A1/en not_active Abandoned
- 2003-07-18 WO PCT/IB2003/002847 patent/WO2004010300A2/en not_active Ceased
- 2003-07-18 EP EP03765228A patent/EP1532528A2/en not_active Ceased
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100900431B1 (en) * | 2005-12-01 | 2009-06-01 | 엘지전자 주식회사 | Location information system and method for notification based on location |
| EP1898331A2 (en) | 2006-08-18 | 2008-03-12 | Giesecke & Devrient GmbH | Method and device for concurrent performance of processes |
| WO2008051607A3 (en) * | 2006-10-27 | 2008-07-10 | Kyocera Wireless Corp | Security for physically unsecured software elements |
| CN105912929A (en) * | 2016-04-08 | 2016-08-31 | 山东超越数控电子有限公司 | Domestic TCM based dynamic measurement method |
Also Published As
| Publication number | Publication date |
|---|---|
| AU2003249481A8 (en) | 2004-02-09 |
| US20050229164A1 (en) | 2005-10-13 |
| EP1383047A1 (en) | 2004-01-21 |
| US7228463B2 (en) | 2007-06-05 |
| EP1532528A2 (en) | 2005-05-25 |
| WO2004010300A3 (en) | 2004-03-25 |
| AU2003249481A1 (en) | 2004-02-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7228463B2 (en) | Method to secure the execution of a program against attacks by radiation or other | |
| EP1692594B1 (en) | Method to secure the execution of a program against attacks by radiation or other | |
| US6453417B1 (en) | Microcontroller with secure signature extraction | |
| US7797682B2 (en) | Controlled execution of a program used for a virtual machine on a portable data carrier | |
| US10223117B2 (en) | Execution flow protection in microcontrollers | |
| US7441111B2 (en) | Controlled program execution by a portable data carrier | |
| RU2249247C2 (en) | Method for protection of computer core from unsanctioned outside changes | |
| JP2002334317A (en) | Information processing device | |
| Barbu et al. | Dynamic fault injection countermeasure: a new conception of Java Card security | |
| EP1739519A1 (en) | Method to secure the execution of a program against attacks by radiation or other | |
| US20030023863A1 (en) | Secure computer system | |
| EP1271317A1 (en) | System-on-chip with time redundancy operation | |
| US20060289656A1 (en) | Portable electronic apparatus and data output method therefor | |
| JPH0244431A (en) | Protection order retrieval device | |
| US8161293B2 (en) | Protection of the execution of a program executed by an integrated circuit | |
| US7774653B2 (en) | Method to secure an electronic assembly executing any algorithm against attacks by error introduction | |
| US7806319B2 (en) | System and method for protection of data contained in an integrated circuit | |
| US7533412B2 (en) | Processor secured against traps | |
| EP4660855A1 (en) | Detection of a fault injection attack | |
| WO2006090231A2 (en) | Method to secure writing in memory against attacks by radiation or other | |
| EP3776302B1 (en) | Method for activating sensors in a multi-unit device | |
| US20070220612A1 (en) | Protection of a program against a trap |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AK | Designated states |
Kind code of ref document: A2 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NI NO NZ OM PH PL PT RO RU SC SD SE SG SK SL TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW |
|
| AL | Designated countries for regional patents |
Kind code of ref document: A2 Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG |
|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
| WWE | Wipo information: entry into national phase |
Ref document number: 2003765228 Country of ref document: EP |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 10521600 Country of ref document: US |
|
| WWP | Wipo information: published in national office |
Ref document number: 2003765228 Country of ref document: EP |
|
| DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
| NENP | Non-entry into the national phase |
Ref country code: JP |
|
| WWW | Wipo information: withdrawn in national office |
Country of ref document: JP |