EP2188755A1 - Method and apparatus for protection of a program against monitoring flow manipulation and against incorrect program running - Google Patents
Method and apparatus for protection of a program against monitoring flow manipulation and against incorrect program runningInfo
- Publication number
- EP2188755A1 EP2188755A1 EP08774957A EP08774957A EP2188755A1 EP 2188755 A1 EP2188755 A1 EP 2188755A1 EP 08774957 A EP08774957 A EP 08774957A EP 08774957 A EP08774957 A EP 08774957A EP 2188755 A1 EP2188755 A1 EP 2188755A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- program
- control flow
- sequence
- command
- value
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 71
- 238000012544 monitoring process Methods 0.000 title abstract 3
- 238000012360 testing method Methods 0.000 claims description 44
- 238000004590 computer program Methods 0.000 claims description 19
- 239000013643 reference control Substances 0.000 claims description 18
- 230000004044 response Effects 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000012795 verification Methods 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000007630 basic procedure Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/28—Error detection; Error correction; Monitoring by checking the correct order of processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/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
- G06F21/54—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 by adding security routines or objects to programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/552—Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
Definitions
- the invention relates to a method and a device for securing a program against a control flow manipulation and serves to detect a faulty program flow.
- a change in the program flow may be sufficient in a cryptographic method to extract keys that are safely stored in hardware under normal conditions, and thus to compromise a cryptographic system.
- Figure 1 is used to illustrate the problem underlying the invention.
- Figure 1 shows a flow chart of the password input in a conventional data processing system.
- a user is prompted to enter a password.
- the password is checked for correctness by the data processing system. If the password is correct, access to the resources of the data processing system is allowed. If the password is incorrect, data access is denied.
- the program shown as a flowchart in FIG. 1 is executed, for example, in a processor for processing program instructions written in any programming language. If an attack is made on the hardware platform or the processor can be attacked at the time the program command for checking the password An attacker is able to achieve that the program flow of the program is manipulated in such a way that, despite incorrect password entry, data access by the data processing unit is permitted, ie the program flow branches off incorrectly.
- an attacker can use laser flashes to process individual instructions or program commands in a targeted manner in terms of time and space in such a way that a control flow of the executed program is modified.
- individual jump commands or even calls of subroutines can be prevented.
- Another possibility of attack is to cause changes of calculated intermediate results.
- the invention provides a method for safeguarding the program against control flow manipulation, wherein backup program instructions for generating and checking a control flow marking sequence are inserted into at least one program instruction sequence of the program consisting of program instructions.
- a control flow tag of the control flow tag sequence is formed by a number, a random number, a count, a command opcode of a program command, an instruction address of a program command, an operand of a program command, or a count of a program command counter.
- a backup program command or a backup Program command sequence a check value depending on the control flow tag sequence.
- the test value is formed over a part with a constant length of the control flow marking sequence generated up to this point in time.
- test value is formed over the entire control flow marking sequence generated up to this point in time.
- the test value is formed by a hash value.
- a backup program command or a backup program command sequence compares the calculated check value with a reference value of a reference control flow mark sequence, and checks whether the calculated check value is contained in a set of reference values.
- the reference value is formed by a reference value hash value.
- the invention further provides an apparatus for safeguarding a program against control flow manipulations, wherein backup program instructions for generating and checking a control flow marking sequence are automatically inserted into at least one program instruction sequence of the program program instructions.
- the invention further provides a method for detecting a faulty program sequence of a program with the steps: Generating a control flow tag sequence during program execution of the program, and
- control flow marking sequence consists of control flow markers which are each identified by a number, a random number, a count, a command opcode, an instruction address, an operand or by a command Count value of the program instruction counter is formed.
- the faulty program sequence is recognized when the calculated test value does not coincide with a calculated reference value or when the calculated test value is not included in a set of calculated reference values.
- the invention further provides a device for detecting a faulty program sequence of a program with:
- the invention further provides a computer program having safety program instructions inserted to protect against control flow manipulations, which are provided for generating and checking a control flow marking sequence.
- control flow tags of a control flow tag sequence are each formed by a number, a random number, a count, a command opcode, an instruction address, an operand, or an instruction count.
- the invention further provides a data carrier for storing a computer program which has safety program instructions inserted for safeguarding against control flow manipulations and which are provided for generating and checking a control flow marking sequence.
- FIG. 1 shows a flowchart to clarify the problem underlying the invention
- FIG. 2 shows a flow chart for illustrating a possible procedure for securing the program against control flow manipulations and for detecting a faulty program sequence according to the invention
- Figure 3 an example of a control flow of a program to be backed up
- FIG. 4 shows a control flow graph for the program exemplified in FIG. 3;
- FIG. 5 shows an example of a generation of a reference control flow marking sequence according to an embodiment of the method according to the invention
- FIG. 6 shows an example of a control flow marking sequence in the event of an error that has occurred in order to explain the mode of operation of the method according to the invention
- FIG. 7 shows a further example of a control flow marking sequence in the event of an error occurring, for explaining the mode of operation of the method according to the invention
- FIG. 1 shows a code listing for the representation of a computer program saved according to the method according to the invention.
- FIG. 2 shows the basic procedure in the method according to the invention for securing a program against a control flow manipulation and for recognizing a faulty program sequence of the program.
- the program consists of a large number of program instructions, which are processed in accordance with a control flow through a hardware.
- This hardware consists for example of a microprocessor.
- the control flow of the program has, in addition to sequential program parts to be processed, also program branches.
- FIG. 3 shows a flow chart of an exemplary computer program which comprises a plurality of program steps S1-S9. stands. Each of the program steps S1-S9 illustrated in FIG. 3 comprises one or more program instructions to be processed.
- FIG. 4 shows a control flow graph associated with the flowchart shown in FIG. 3. As can be seen from FIGS. 3, 4, the illustrated example program has a plurality of program branches S3, S4, S6. The control flow of the program according to FIG. 3 is shown in FIG. 4 as a directed graph.
- the computer program consists of sequential program parts that are represented as edges of the graph and nodes that represent program branches. A particular execution of a program can therefore be represented as a path within the control flow graph.
- the method according to the invention makes it possible to determine, after execution of the program, which path the program has gone through during its execution.
- test points or control flow markers are thus inserted into the sequentially executed program parts which correspond to the edges of the control flow graph.
- at least one test point or one control flow mark is inserted in each sequentially executed program part.
- An inserted control flow flag may include a number, a random number, a count, a command opcode of a program command, an instruction address of a program command Operand of a program instruction or a count of a program instruction counter.
- the inserted test points or markings can be simply numbered, for example. Furthermore, the address of the instructions currently inserted at the test points can be used as the marking. Furthermore, it is possible to use the executed program instructions or instructions themselves or their operands as markings. Furthermore, it is possible for tags to be randomly generated during program creation.
- a backup program command or a backup program command sequence inserted into the original program command sequence of the program calculates a check value in dependence on the control flow flag sequence.
- the calculation of a test value is carried out at each test point, which depends on at least one mark of a previous test point.
- the calculated check value can be formed, for example, by a hash value.
- the test value is formed for the entire control flow marking sequence produced up to this point in time.
- the test value is formed over a part with a constant length of the control flow marking sequence generated up to that point in time.
- an inserted backup program command or a backup program command sequence S-PB compares the calculated check value, which consists for example of a hash value, with a reference value of a reference Control flow tag sequence. If the calculated test value and the reference value agree, then the execution path of the computer program of a program part has been probed in the correct order with a high probability. If the calculated test value and the reference value do not match, there is a high probability that the program has an execution error.
- a backup program command or a backup program command sequence checks whether the calculated check value is contained in a set of predefined reference values.
- These reference values may, for example, be reference hash values.
- part of the execution path of the program may be locally verified.
- the calculated test value depends on a fixed number of test points passed immediately before.
- the test value depends on the markings of the entire execution path which has hitherto been carried out. If the entire previous execution path of a program is checked, the advantage is that a verification of the control flow in an application is distributed over many test points. In this way, attacks that attempt to bypass individual comparisons of test and reference values with the help of precisely adjusted attacks are also recognized with a high probability at another test point.
- the program saved by inserting backup program instructions S-PB makes it possible, during a run of a Program to detect a manipulation of the program control flow.
- An erroneous program flow is detected if the control flow tag sequence generated thereby does not match a stored reference control flow tag sequence or if the generated control flow tag string is not included in a set of pre-stored reference control flow tag sequences.
- FIG. 5 shows a control flow graph of a simple computer program for explaining the method according to the invention.
- the computer program is a simple loop. As long as a count i ⁇ 5, a certain calculation is made.
- the edges of the control flow graph represent a program part to be processed sequentially and the nodes correspond to program branches.
- edges A, B, C are processed with the associated subsequent reference control flow marking sequence: AB AB AB AB AB C.
- FIG. 6 shows a control flow marking sequence when an error Fl occurs during a third pass of the program loop shown in FIG.
- the control flow tag sequence when the Fl fault occurs is: AB AB AB C.
- the control flow tag sequence is F2 when the error occurs: AB AB A.
- each error F occurring at a program branching of a computer program has a typical control flow marking sequence which deviates from the reference control flow marking sequence of the program running without errors.
- backup program commands S-PB are therefore inserted into the program code of the original computer program in the method according to the invention.
- FIG. 8 schematically shows a computer program secured by backup program commands S-PB and secured against control flow manipulations.
- a program counter or program counter PC points to the program instructions PB to be processed.
- the backup program commands are inserted in the program flow.
- the backup program instructions S-PB calculate a check value in response to a control flow tag sequence.
- the save program command S-PB-I calculates a hash value as a check value in response to a control flow mark sequence consisting of a set of control flow markers.
- the control flow markings consist of the program instruction counts of the program instruction counter or of the program counter PC of the preceding program instructions PCi to PC 1 .
- another backup program command S-PB2 is provided, which also calculates a hash value as a check value as a function of control flow markings.
- the control flow tags are also formed by program instruction counts PC from previous program instructions in this second save program command S-PB2 (PC 1 + 1 ... PC D ).
- Another backup program command S-PB3 compares the check value determined and stored by the first backup program command S-PB1, that is, the hash value HASH 1 with a reference value HASH 1 -REF. Further, the third save program command S-PB3 compares the check value HASH 2 calculated by the second save program command S-PB2 with a reference value HASH 2 -REF.
- the backup program command S-PB3 compares the calculated check value with a reference value of a reference control flow flag sequence.
- the check value is formed by the backup program instructions for the entire control flow backup sequence generated up to this point in time.
- test value is formed over a part with a constant length of the control flow marking sequence generated up to this time.
- a program command PB may be formed, for example, by a program command or a program command sequence in an assembler programming language.
- a program instruction counter or program counter PC within the CPU points to a memory address of a program memory at which the next executing program instruction is stored.
- An example of an assembler program instruction for example for storing a value X of a variable in a register Rl, is:
- the program instruction has an instruction opcode MOV as well as operands.
- the address of the instructions or program instructions currently introduced at the test points can be used as the marking.
- the program instruction or the instructions themselves and / or the parameters of the program instruction can be used.
- the check value may be calculated using a subprogram call, as when executing a subroutine call, the current value of the program counter is normally placed on a stack of the microcontroller. If the method according to the invention is applied to a program which is shifted during its runtime and therefore the test points have no fixed addresses at the time the program is written, the calculation of the addresses of the program counter can be relative to a fixed point, for example at the beginning or relative to the end of the executed program.
- test values can also be precalculated comparatively easily at the time the program is created. It is also possible in one embodiment to provide different test points with the same mark and on this To make the respective associated sequential program parts with respect to the procedure described indistinguishable.
- the determination of the check value is more complex, since the concrete values occur with each change of the program or with each translation operation by an assembler or modify the compiler of a development tool and therefore need to be customized.
- inserted backup program instructions calculate a hash value as the check value.
- the hash functions or the hash functions of the calculated hash values have a sufficient resistance to collisions.
- the hash functions are selected in such a way that it is ensured that collisions of test values of different test points are sufficiently rare. This allows to distinguish the passing through of the test points.
- a check value is calculated which locally only verifies a part of the executed execution path of the program. For example, a constant number of the last traversed markings can be temporarily stored and the calculation of the test values can be carried out only with reference to these temporarily stored markings.
- the intermediately stored markers or control flow markers are then slid over the marking of the execution path of the program that has been passed so far during the program execution, like a window.
- such a hardware counter is initialized at the beginning of the program execution and then the hardware counter is allowed to run freely during the execution of the application or the computer program, wherein the current count at the times of calculation of the test values as a control flow Mark is used.
- the computer program or software must not have any program parts that have non-deterministic side effects, such as interrupt routines or program parts that poll ports for external events.
- the different sequentially executed program parts or parts of the control flow graph of the application or the program have different run times or at least the calculation of the test values in the different sequentially traversed sections or program parts at different times With respect to the respective counter readings, so that the sequential sections or program parts are also distinguishable by the calculated test values and error attacks can be reliably detected.
- the inventive method performs a direct verification of an execution path of a secure program.
- protection against errors in the program execution of the program is coupled to the data that the application or the program processes.
- the method according to the invention is independent of any redundancy in the data calculated by the application and also independent of calculated intermediate results.
- the inventive method for securing a program against a control flow manipulation and for detecting a faulty program flow of the program has in particular the advantage that backup program commands for the backup of the program are also integrated into existing programs or applications integrable or automatically inserted. So only the control flow graph of the respective program must be known.
- it is sufficient to insert fuse program instructions at the desired test points or to insert a call to a suitable subroutine for the calculation and verification of a test value.
- Another advantage of the method according to the invention in contrast to conventional protection mechanisms by redundancy within the stored data or by invariants of calculated intermediate results, is that attacks which attempt to change the number of loop executions in order thereby to manipulate calculated intermediate results, be reliably recognized.
- a further advantage of the method according to the invention is that various security levels can be scaled for inserting the backup program commands, or the security requirements of the applications to be protected or of the program to be protected can be taken into account in the method.
- the likelihood of detecting errors in a control flow of a program can be adjusted by the type and size of the control flow markers used and the test values, as well as by the procedures for calculating the test values.
- methods can be used which generate a sequence of irregular, randomly appearing test values, which are more difficult to manipulate by an attack than, for example, a loop counter.
- the inventive method is particularly suitable for securing implementations of cryptographic algorithms against error attacks.
- the inventive method allows, by minor
- the secured program is able to independently verify with a high probability that all program parts necessary or relevant for the correct program execution are listed in the correct order. In addition, it can be ensured that program loops are run through with the correct number.
- the method according to the invention protects a program, in particular against attacks, which attempt to disrupt or prevent the execution of loops, jumps or subroutine calls.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Storage Device Security (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
Claims
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE200710038763 DE102007038763A1 (en) | 2007-08-16 | 2007-08-16 | Method and device for securing a program against a control flow manipulation and against a faulty program sequence |
PCT/EP2008/058980 WO2009021789A1 (en) | 2007-08-16 | 2008-07-10 | Method and apparatus for protection of a program against monitoring flow manipulation and against incorrect program running |
Publications (2)
Publication Number | Publication Date |
---|---|
EP2188755A1 true EP2188755A1 (en) | 2010-05-26 |
EP2188755B1 EP2188755B1 (en) | 2017-10-18 |
Family
ID=39790842
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP08774957.8A Active EP2188755B1 (en) | 2007-08-16 | 2008-07-10 | Method and apparatus for protection of a program against monitoring flow manipulation and against incorrect program running |
Country Status (5)
Country | Link |
---|---|
US (1) | US8843761B2 (en) |
EP (1) | EP2188755B1 (en) |
CN (1) | CN101779210B (en) |
DE (1) | DE102007038763A1 (en) |
WO (1) | WO2009021789A1 (en) |
Families Citing this family (59)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8302210B2 (en) * | 2009-08-24 | 2012-10-30 | Apple Inc. | System and method for call path enforcement |
DE102010019995A1 (en) * | 2010-05-10 | 2011-11-10 | Giesecke & Devrient Gmbh | Method for checking if program instructions have been executed by a portable terminal |
RU2454714C1 (en) * | 2010-12-30 | 2012-06-27 | Закрытое акционерное общество "Лаборатория Касперского" | System and method of increasing efficiency of detecting unknown harmful objects |
DE102011006000B4 (en) * | 2011-03-23 | 2015-01-15 | Infineon Technologies Ag | Signature update by code transformation |
US9501383B2 (en) | 2013-02-26 | 2016-11-22 | Dominique Bolignano | Method for securing a program |
US9721120B2 (en) | 2013-05-14 | 2017-08-01 | Apple Inc. | Preventing unauthorized calls to a protected function |
US9275236B2 (en) | 2013-06-28 | 2016-03-01 | Dominique Bolignano | Method for securing a program |
US10019260B2 (en) * | 2013-09-20 | 2018-07-10 | Via Alliance Semiconductor Co., Ltd | Fingerprint units comparing stored static fingerprints with dynamically generated fingerprints and reconfiguring processor settings upon a fingerprint match |
KR101568872B1 (en) * | 2015-05-11 | 2015-11-12 | 주식회사 블랙포트시큐리티 | Method and apparatus for detecting unsteadyflow in program |
DE102016200850A1 (en) | 2016-01-21 | 2017-07-27 | Siemens Aktiengesellschaft | Method for operating a safety-relevant device and device |
DE102016200907A1 (en) | 2016-01-22 | 2017-07-27 | Siemens Aktiengesellschaft | Method for operating a safety-relevant device and device |
DE102016201176A1 (en) | 2016-01-27 | 2017-07-27 | Siemens Aktiengesellschaft | Method and apparatus for generating random bits |
US10489564B2 (en) * | 2016-02-09 | 2019-11-26 | Siemens Aktiengesellschaft | Method and execution environment for the secure execution of program instructions |
DE102016203534A1 (en) | 2016-03-03 | 2017-09-07 | Siemens Aktiengesellschaft | Method and analysis module for checking encrypted data transmissions |
DE102016205289A1 (en) | 2016-03-31 | 2017-10-05 | Siemens Aktiengesellschaft | Method, processor and device for checking the integrity of user data |
DE102016207294A1 (en) | 2016-04-28 | 2017-11-02 | Siemens Aktiengesellschaft | Procedure and certificate store for certificate management |
DE102016207635A1 (en) | 2016-05-03 | 2017-11-09 | Siemens Aktiengesellschaft | Method and device for securing device access |
DE102016207642A1 (en) | 2016-05-03 | 2017-11-09 | Siemens Aktiengesellschaft | Method and apparatus for authenticating a data stream |
RU2634172C1 (en) * | 2016-06-02 | 2017-10-24 | Акционерное общество "Лаборатория Касперского" | Method of communication transmission between address spaces |
EP3252990A1 (en) | 2016-06-03 | 2017-12-06 | Siemens Aktiengesellschaft | Method and device for providing a secret for authenticating a system and/or components of the system |
DE102016219926A1 (en) | 2016-10-13 | 2018-04-19 | Siemens Aktiengesellschaft | Method, sender and receiver for authentication and integrity protection of message content |
DE102016221301A1 (en) | 2016-10-28 | 2018-05-03 | Siemens Aktiengesellschaft | Method and apparatus for providing a sender identification message for a sender |
US10503902B2 (en) * | 2017-03-08 | 2019-12-10 | Intel Corporation | System, apparatus and method for detecting a data-oriented programming attack |
FR3065095B1 (en) * | 2017-04-11 | 2019-06-28 | Centre National De La Recherche Scientifique | METHOD FOR EXECUTING A MACHINE CODE OF A SECURE FUNCTION |
EP3413530B1 (en) | 2017-06-09 | 2019-07-31 | Siemens Aktiengesellschaft | Method and device for exchanging messages |
EP3435272B1 (en) | 2017-07-27 | 2020-11-04 | Siemens Aktiengesellschaft | Method and device for identifying an additive work piece |
DE102017223099A1 (en) | 2017-12-18 | 2019-06-19 | Siemens Aktiengesellschaft | Apparatus and method for transferring data between a first and a second network |
EP3502806A1 (en) | 2017-12-22 | 2019-06-26 | Siemens Aktiengesellschaft | Method for protecting the production data for producing a product |
EP3503493A1 (en) | 2017-12-22 | 2019-06-26 | Siemens Aktiengesellschaft | Communication device and method for processing a network package |
EP3506143B1 (en) | 2017-12-27 | 2024-02-14 | Siemens Aktiengesellschaft | Interface for a hardware security module |
EP3509004A1 (en) | 2018-01-03 | 2019-07-10 | Siemens Aktiengesellschaft | Adaption of mac policies in industrial devices |
EP3509247A1 (en) | 2018-01-03 | 2019-07-10 | Siemens Aktiengesellschaft | Method and key generator for creating an overall key with the support of a computer |
EP3514743A1 (en) | 2018-01-22 | 2019-07-24 | Siemens Aktiengesellschaft | Device and method for providing instruction data for manufacturing an individualized product |
EP3534282A1 (en) | 2018-03-01 | 2019-09-04 | Siemens Aktiengesellschaft | Method and security module for the computer-aided execution of program code |
EP3557463B1 (en) | 2018-04-16 | 2020-10-21 | Siemens Aktiengesellschaft | Method and execution environment for executing program code on a control device |
EP3562194B1 (en) | 2018-04-23 | 2021-07-28 | Siemens Aktiengesellschaft | Method for identifying at least one network slice configuration of a mobile network, communication system, and automation system |
EP3561709B1 (en) | 2018-04-25 | 2020-07-29 | Siemens Aktiengesellschaft | Data processing apparatus, system, and method for proving or checking the security of a data processing apparatus |
EP3562090B1 (en) | 2018-04-25 | 2020-07-01 | Siemens Aktiengesellschaft | Data processing device for processing a radio signal |
EP3561713B1 (en) | 2018-04-25 | 2022-07-13 | Siemens Aktiengesellschaft | Retrieval device for authentication information, system and method for secure authentication |
EP3562116A1 (en) | 2018-04-26 | 2019-10-30 | Siemens Aktiengesellschaft | Cryptographic key exchange or key agreement involving a device without network access |
EP3570489B1 (en) | 2018-05-18 | 2020-04-08 | Siemens Aktiengesellschaft | Device and method for transforming blockchain data blocks |
DK3584654T3 (en) | 2018-06-19 | 2020-08-10 | Siemens Ag | Hierarchically distributed ledger |
EP3598365A1 (en) | 2018-07-17 | 2020-01-22 | Siemens Aktiengesellschaft | Traffic shaping for transactions of a distributed database system |
EP3598364A1 (en) | 2018-07-17 | 2020-01-22 | Siemens Aktiengesellschaft | Timing constraint for transactions of a distributed database system |
EP3598363A1 (en) | 2018-07-17 | 2020-01-22 | Siemens Aktiengesellschaft | Resource reservation for transactions of a distributed database system |
EP3599740A1 (en) | 2018-07-25 | 2020-01-29 | Siemens Aktiengesellschaft | Control of a data network with respect to a use of a distributed database |
EP3609148A1 (en) | 2018-08-06 | 2020-02-12 | Siemens Aktiengesellschaft | Methods and network node for processing measurements |
EP3609240A1 (en) | 2018-08-09 | 2020-02-12 | Siemens Aktiengesellschaft | Computer-implemented method and network access server for connecting a network component with a network, in particular a mobile radio network, with an extended network access characteristic |
EP3614319A1 (en) | 2018-08-20 | 2020-02-26 | Siemens Aktiengesellschaft | Tracking execution of an industrial workflow of a petri net |
EP3629332A1 (en) | 2018-09-28 | 2020-04-01 | Siemens Aktiengesellschaft | Safe dispensing of a substance |
EP3633914A1 (en) | 2018-10-05 | 2020-04-08 | Siemens Aktiengesellschaft | Method and system for traceable data processing using obfuscation |
EP3637345A1 (en) | 2018-10-10 | 2020-04-15 | Siemens Aktiengesellschaft | Linking of identities in a distributed database |
US11036866B2 (en) | 2018-10-18 | 2021-06-15 | Denso Corporation | Systems and methods for optimizing control flow graphs for functional safety using fault tree analysis |
EP3654215B1 (en) * | 2018-11-15 | 2021-06-30 | Sternum Ltd. | Applying control flow integrity verification in intermediate code files |
EP3687209A1 (en) | 2019-01-25 | 2020-07-29 | Siemens Aktiengesellschaft | Secure multi-hop communication paths |
EP3693918A1 (en) | 2019-02-08 | 2020-08-12 | Siemens Gamesa Renewable Energy A/S | Operational data of an energy system |
US11477030B2 (en) * | 2019-02-22 | 2022-10-18 | Micron Technology, Inc. | Method for improving safety of a component or system running a firmware or a finite state machine |
EP3736715A1 (en) | 2019-05-10 | 2020-11-11 | Siemens Aktiengesellschaft | Managing admission to a distributed database based on a consensus process |
US11687440B2 (en) * | 2021-02-02 | 2023-06-27 | Thales Dis Cpl Usa, Inc. | Method and device of protecting a first software application to generate a protected software application |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4108359A (en) | 1977-03-30 | 1978-08-22 | The United States Of America As Represented By The Secretary Of The Army | Apparatus for verifying the execution of a sequence of coded instructions |
US4261041A (en) * | 1979-08-06 | 1981-04-07 | Medtek Corporation | Method and apparatus for controlling a microprocessor-based system |
US5581763A (en) * | 1988-06-14 | 1996-12-03 | Progressive Technology Inc. | Secure architecture and apparatus using an independent computer cartridge |
US5507030A (en) * | 1991-03-07 | 1996-04-09 | Digitial Equipment Corporation | Successive translation, execution and interpretation of computer program having code at unknown locations due to execution transfer instructions having computed destination addresses |
FR2700032B1 (en) * | 1992-12-31 | 1995-02-10 | Alsthom Gec | Method for detecting software execution errors. |
US5402492A (en) * | 1993-06-18 | 1995-03-28 | Ast Research, Inc. | Security system for a stand-alone computer |
ATE345645T1 (en) * | 1997-03-21 | 2006-12-15 | Canal Plus Technologies | BROADCASTING AND RECEPTION SYSTEM AND CONDITIONAL ACCESS SYSTEM THEREOF |
US6026235A (en) * | 1997-05-20 | 2000-02-15 | Inprise Corporation | System and methods for monitoring functions in natively compiled software programs |
US6643775B1 (en) * | 1997-12-05 | 2003-11-04 | Jamama, Llc | Use of code obfuscation to inhibit generation of non-use-restricted versions of copy protected software applications |
US5974529A (en) | 1998-05-12 | 1999-10-26 | Mcdonnell Douglas Corp. | Systems and methods for control flow error detection in reduced instruction set computer processors |
GB2337893B (en) * | 1998-05-28 | 2000-09-06 | Matsushita Electric Ind Co Ltd | Internet telephone apparatus and internet telephone gateway system |
JP4779183B2 (en) * | 1999-03-26 | 2011-09-28 | ソニー株式会社 | Playback apparatus and playback method |
FR2790844B1 (en) | 1999-03-09 | 2001-05-25 | Gemplus Card Int | METHOD AND DEVICE FOR MONITORING THE PROGRESS OF A PROGRAM, PROGRAM DEVICE FOR MONITORING ITS PROGRAM |
JP2000339188A (en) * | 1999-05-27 | 2000-12-08 | Harness Syst Tech Res Ltd | Program execution abnormality detecting device |
JP4626784B2 (en) * | 2000-05-19 | 2011-02-09 | ソニー株式会社 | COMMUNICATION DEVICE, COMMUNICATION METHOD, AND RECORDING MEDIUM |
JP2004503860A (en) * | 2000-06-12 | 2004-02-05 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | Data processing method and apparatus for execution of protected instructions |
DE10156394A1 (en) * | 2001-11-16 | 2003-06-12 | Giesecke & Devrient Gmbh | Controlled program execution using a portable data carrier |
US20030223417A1 (en) * | 2002-06-04 | 2003-12-04 | Masashi Higashida | Method of processing data packets |
FR2841015A1 (en) | 2002-06-18 | 2003-12-19 | St Microelectronics Sa | Program execution control method, for use in ensuring security programs execute in their intended sequence, by using a digital signature for each operator in each command execution step |
US7383443B2 (en) * | 2002-06-27 | 2008-06-03 | Microsoft Corporation | System and method for obfuscating code using instruction replacement scheme |
US7320013B2 (en) * | 2002-12-12 | 2008-01-15 | Adaptec, Inc. | Method and apparatus for aligning operands for a processor |
EP1460546A1 (en) * | 2003-03-18 | 2004-09-22 | SCHLUMBERGER Systèmes | Method for making secure execution of a programme in an electronic module against attacks by error introduction |
FR2864655B1 (en) * | 2003-12-31 | 2006-03-24 | Trusted Logic | METHOD OF CONTROLLING INTEGRITY OF PROGRAMS BY VERIFYING IMPRESSIONS OF EXECUTION TRACES |
US8136149B2 (en) * | 2004-06-07 | 2012-03-13 | Check Point Software Technologies, Inc. | Security system with methodology providing verified secured individual end points |
US8065532B2 (en) * | 2004-06-08 | 2011-11-22 | Hrl Laboratories, Llc | Cryptographic architecture with random instruction masking to thwart differential power analysis |
EP1780984A4 (en) * | 2004-08-06 | 2012-05-30 | Sharp Kk | Transmitter, receiver, communication system, communication method, and communication program |
US8195953B1 (en) * | 2005-10-25 | 2012-06-05 | Trend Micro, Inc. | Computer program with built-in malware protection |
US7506217B2 (en) * | 2005-12-30 | 2009-03-17 | Intel Corporation | Apparatus and method for software-based control flow checking for soft error detection to improve microprocessor reliability |
WO2008010508A1 (en) * | 2006-07-18 | 2008-01-24 | Panasonic Corporation | Command generation device |
US8006114B2 (en) * | 2007-03-09 | 2011-08-23 | Analog Devices, Inc. | Software programmable timing architecture |
US7844954B2 (en) * | 2007-11-06 | 2010-11-30 | Vmware, Inc. | Using branch instruction counts to facilitate replay of virtual machine instruction execution |
-
2007
- 2007-08-16 DE DE200710038763 patent/DE102007038763A1/en not_active Withdrawn
-
2008
- 2008-07-10 US US12/733,178 patent/US8843761B2/en active Active
- 2008-07-10 CN CN200880103333.XA patent/CN101779210B/en active Active
- 2008-07-10 EP EP08774957.8A patent/EP2188755B1/en active Active
- 2008-07-10 WO PCT/EP2008/058980 patent/WO2009021789A1/en active Application Filing
Non-Patent Citations (1)
Title |
---|
See references of WO2009021789A1 * |
Also Published As
Publication number | Publication date |
---|---|
US20100146624A1 (en) | 2010-06-10 |
US8843761B2 (en) | 2014-09-23 |
WO2009021789A1 (en) | 2009-02-19 |
CN101779210A (en) | 2010-07-14 |
EP2188755B1 (en) | 2017-10-18 |
CN101779210B (en) | 2014-03-05 |
DE102007038763A1 (en) | 2009-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2188755B1 (en) | Method and apparatus for protection of a program against monitoring flow manipulation and against incorrect program running | |
EP1224546B1 (en) | Method for protecting a program flow | |
DE102014117971B4 (en) | A method of data processing for determining whether an error has occurred during execution of a program and data processing arrangements for generating program code | |
WO2017186412A1 (en) | Detecting a deviation of a security state of a computing device from a desired security state | |
EP1664978B1 (en) | Device and method for the reliable execution of a program | |
EP1262856A2 (en) | Program controlled storage device | |
EP3095065A1 (en) | Device and method for detecting a manipulation to a program code | |
EP3036676B1 (en) | Method for protecting an integrated circuit against unauthorized access | |
EP1892639B1 (en) | Secure program code execution | |
DE102006035662A1 (en) | Monitoring correct operation of data processing unit, displaces subsystem from allowed state into non-allowed state before executing partial operational run | |
EP3074862B1 (en) | Method for a secure boot-up process of an electronic system | |
EP2531949B1 (en) | Method for executing an application | |
DE602004001293T2 (en) | Program integrity check by means of statistics | |
DE102005006832B4 (en) | Circuit arrangement and method for secure data processing and their use | |
EP3822775A1 (en) | Method for securely starting device software, especially an operating system, of an electronic device | |
EP2503483B1 (en) | Communication system with safety device and method for same | |
EP3876123B1 (en) | Arrangement and operating method for a secure start-up of an electronic device | |
DE102004047191A1 (en) | Tamper-proof microprocessor system and operating method therefor | |
DE102015203319A1 (en) | Circuitry and method for command current protection | |
DE102022210264A1 (en) | Method for detecting potential data exfiltration attacks in at least one software package | |
DE10110050A1 (en) | Method for protecting safety-critical program parts or routines from inadvertent execution, especially for automotive use, in which a safety critical routine will only run if a bit pattern has been set by a calling program section | |
EP4281890A1 (en) | Method for determining the integrity of a data processing operation, device, data processing installation, and installation | |
DE102017208192A1 (en) | Arithmetic unit and operating method for a computing unit | |
EP1532508A2 (en) | Data processing device | |
WO2004070496A2 (en) | Circuit having protection against manipulative attacks and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 20091203 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MT NL NO PL PT RO SE SI SK TR |
|
AX | Request for extension of the european patent |
Extension state: AL BA MK RS |
|
RIN1 | Information on inventor provided before grant (corrected) |
Inventor name: SEUSCHEK, HERMANN Inventor name: MEYER, BERND Inventor name: SCHAFHEUTLE, MARCUS |
|
17Q | First examination report despatched |
Effective date: 20100708 |
|
DAX | Request for extension of the european patent (deleted) | ||
RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: SIEMENS AKTIENGESELLSCHAFT |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R079 Ref document number: 502008015685 Country of ref document: DE Free format text: PREVIOUS MAIN CLASS: G06F0021000000 Ipc: G06F0011280000 |
|
GRAP | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOSNIGR1 |
|
RIC1 | Information provided on ipc code assigned before grant |
Ipc: G06F 21/55 20130101ALI20170413BHEP Ipc: G06F 11/28 20060101AFI20170413BHEP Ipc: G06F 21/54 20130101ALI20170413BHEP |
|
INTG | Intention to grant announced |
Effective date: 20170515 |
|
RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: SIEMENS AKTIENGESELLSCHAFT |
|
GRAS | Grant fee paid |
Free format text: ORIGINAL CODE: EPIDOSNIGR3 |
|
GRAA | (expected) grant |
Free format text: ORIGINAL CODE: 0009210 |
|
AK | Designated contracting states |
Kind code of ref document: B1 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MT NL NO PL PT RO SE SI SK TR |
|
REG | Reference to a national code |
Ref country code: GB Ref legal event code: FG4D Free format text: NOT ENGLISH |
|
REG | Reference to a national code |
Ref country code: CH Ref legal event code: EP |
|
REG | Reference to a national code |
Ref country code: AT Ref legal event code: REF Ref document number: 938524 Country of ref document: AT Kind code of ref document: T Effective date: 20171115 Ref country code: IE Ref legal event code: FG4D Free format text: LANGUAGE OF EP DOCUMENT: GERMAN |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R096 Ref document number: 502008015685 Country of ref document: DE |
|
REG | Reference to a national code |
Ref country code: NL Ref legal event code: MP Effective date: 20171018 |
|
REG | Reference to a national code |
Ref country code: LT Ref legal event code: MG4D |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: NL Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20171018 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: ES Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20171018 Ref country code: FI Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20171018 Ref country code: SE Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20171018 Ref country code: LT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20171018 Ref country code: NO Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20180118 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: GR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20180119 Ref country code: BG Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20180118 Ref country code: IS Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20180218 Ref country code: LV Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20171018 Ref country code: HR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20171018 |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R097 Ref document number: 502008015685 Country of ref document: DE |
|
REG | Reference to a national code |
Ref country code: FR Ref legal event code: PLFP Year of fee payment: 11 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: SK Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20171018 Ref country code: DK Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20171018 Ref country code: EE Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20171018 Ref country code: CZ Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20171018 |
|
PLBE | No opposition filed within time limit |
Free format text: ORIGINAL CODE: 0009261 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: PL Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20171018 Ref country code: RO Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20171018 |
|
26N | No opposition filed |
Effective date: 20180719 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: MT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20171018 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: SI Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20171018 |
|
REG | Reference to a national code |
Ref country code: CH Ref legal event code: PL |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: LU Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20180710 Ref country code: MC Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20171018 |
|
REG | Reference to a national code |
Ref country code: BE Ref legal event code: MM Effective date: 20180731 |
|
REG | Reference to a national code |
Ref country code: IE Ref legal event code: MM4A |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: CH Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20180731 Ref country code: LI Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20180731 Ref country code: IE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20180710 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: BE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20180731 |
|
REG | Reference to a national code |
Ref country code: AT Ref legal event code: MM01 Ref document number: 938524 Country of ref document: AT Kind code of ref document: T Effective date: 20180710 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: IT Payment date: 20190729 Year of fee payment: 12 Ref country code: FR Payment date: 20190716 Year of fee payment: 12 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: AT Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20180710 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: TR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20171018 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: HU Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT; INVALID AB INITIO Effective date: 20080710 Ref country code: PT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20171018 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: CY Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20171018 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: FR Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20200731 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: IT Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20200710 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: GB Payment date: 20230807 Year of fee payment: 16 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: DE Payment date: 20230918 Year of fee payment: 16 |