EP4087184B1 - Method for authenticating interactions independent of a system time, and device for carrying out this method and flame monitor comprising such a device - Google Patents

Method for authenticating interactions independent of a system time, and device for carrying out this method and flame monitor comprising such a device Download PDF

Info

Publication number
EP4087184B1
EP4087184B1 EP22171481.9A EP22171481A EP4087184B1 EP 4087184 B1 EP4087184 B1 EP 4087184B1 EP 22171481 A EP22171481 A EP 22171481A EP 4087184 B1 EP4087184 B1 EP 4087184B1
Authority
EP
European Patent Office
Prior art keywords
totp
accordance
authentication
hash value
authenticating device
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.)
Active
Application number
EP22171481.9A
Other languages
German (de)
French (fr)
Other versions
EP4087184A1 (en
Inventor
Lorenz Miething
Lukas Fey
Fabian Nöller
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Embex GmbH
Original Assignee
Embex GmbH
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 Embex GmbH filed Critical Embex GmbH
Publication of EP4087184A1 publication Critical patent/EP4087184A1/en
Application granted granted Critical
Publication of EP4087184B1 publication Critical patent/EP4087184B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • H04L9/3213Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/34User authentication involving the use of external additional devices, e.g. dongles or smart cards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/42User authentication using separate channels for security data
    • 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/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • G06F21/6263Protecting personal data, e.g. for financial or medical purposes during internet communication, e.g. revealing personal data from cookies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • H04L63/0846Network architectures or network communication protocols for network security for authentication of entities using passwords using time-dependent-passwords, e.g. periodically changing passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3234Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3297Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps

Definitions

  • the invention relates to a method for the authentication of interactions in microcontrollers and/or FPGAs (Field Programmable Gate Array) independent of a system time. based devices or devices, in particular in embedded (engl .: “embedded”) systems, and a device for performing this method and a flame detector with such a device.
  • FPGAs Field Programmable Gate Array
  • authentication is regularly required for security reasons in order to grant access to a requesting device and, for example, to grant corresponding authorizations on a certifying device.
  • Authentication i.e. the request for a registration with the assertion of an identity
  • subsequent authentication i.e. a check and validation of the assertion of the identity received
  • Authentication is the verification of an entity that it is actually who it claims to be. This proof should be able to confirm or check the identity.
  • two-factor authentication or often also referred to as two-factor authentication (“2FA” for short)
  • the security of the respective digital access is increased by another factor.
  • 2FA thus refers to the proof of identity of a user using the combination of two different and, in particular, independent authentication components or factors. Typical examples are bank card plus PIN for ATMs, fingerprint plus access code in buildings, or password and transaction number (TAN) for online banking. If access to a system cannot be regulated and limited by other measures, 2FA should always be used for security reasons.
  • the present invention is about embedded systems that are used specifically to measure and record data or to control other components or systems.
  • An “embedded system” is understood to be a microcontroller system or an FPGA system that performs a dedicated task, is embedded or integrated into a surrounding system and interacts with or through this system. It serves in particular to measure, record and forward data or is used to control actuators, components or systems.
  • a sensor for flow measurement it is used, for example, on gas pipelines in extremely harsh environments and under very difficult operating conditions. For example, this can be a minimum temperature of -30°C or a maximum temperature of +100°C.
  • Real-time capability can also be important for controlling the flow, for example to control valves accordingly. Constant movement, vibrations and other physical disturbances must also be taken into account for use, as must error-free operation despite electromagnetic interference pulses, for example.
  • a permanent connection e.g. data connections for monitoring or synchronization
  • a flame monitor serves to monitor the presence of a flame, for example at least in a partial area of a combustion chamber.
  • An essential part of a flame monitor is a flame sensor for detecting a physical variable of a flame, in particular an intensity of electromagnetic radiation, and generating an associated electrical sensor signal.
  • German patent application DE102019106528 is further state of the art.
  • the requesting device makes a request for access (e.g., a resource) from the notarizing device.
  • the certifying device checks the information from the requesting device for validity. If the check is positive, authentication is issued, otherwise access is denied.
  • OTP stands for "One-time Password”.
  • a one-time password or one-time password is a password used for authentication or authorization. Each one-time password should only be valid for a single use and therefore should not be used a second time.
  • the challenge-response method (translated as a request-response method ) is a secure authentication method for a participant based on knowledge.
  • one participant presents a task ( challenge ) that the other must solve ( response ) in order to prove that he knows certain information (e.g. the algorithm used or a shared secret) without admitting this information himself transfer.
  • certain information e.g. the algorithm used or a shared secret
  • This is a protection against the specific information (eg a password) being overheard by attackers on the line.
  • a command line interface accepts commands to a computer program in the form of lines of text.
  • IT is the common term for the full range of information processing technologies, including software, hardware, communication technologies and related services. In general, IT does not include embedded technologies that generate data for business use.
  • Operational Technology is hardware and software that detects or causes change through direct monitoring and/or control of physical devices, facilities, processes and events.
  • a Message Authentication Code (MAC; German: "Message Authentication Code”) is used to obtain certainty about the origin of data or messages and to check their integrity.
  • MAC algorithms require two input parameters, first the data to be protected and second a secret key. The MAC algorithms calculate a checksum from both, the message authentication code.
  • a keyed-hash message authentication code (HMAC) is a message authentication code (MAC) whose construction is based on a cryptographic hash function, such as the Secure Hash Algorithm (SHA), and a secret key. The combination is called HMAC-SHA1, where the number 1 stands for the variant of the cryptographic hash function used.
  • truncation is the limitation of the number of digits to the right of the decimal point. Here it means shortening the length of a given output value.
  • a truncated value is therefore a value that has been shortened in length.
  • the number of OTP token digits describes the number of digits and thus the length that a calculated OTP token must have.
  • the OTP method is one of the most commonly used methods for 2FA.
  • a shared secret (OTP key) between the user's device and the authenticating device is required to log the user in using cryptographic algorithms and a counter that increments with each login attempt.
  • This counter must always be in the synchronized range on both the authenticating device and the requesting device of the user, because only then can a resulting calculation of a common token (e.g. 6-8 OTP token digits) be recognized as valid .
  • a common token e.g. 6-8 OTP token digits
  • the problem with the HOTP procedure is that the counters of both devices, i.e. the requesting and the authenticating device, must always be within a predefined range of one another. If a HOTP generator is used for multiple authenticating devices, the counter on the requesting device increments at a different interval than on the authenticating devices.
  • a requesting device can therefore only ever be used to access one authenticating device. It is therefore not possible to use a single HOTP key for authentication at multiple authenticating devices. This means that, for example, for a requesting device to access several hundred authenticating devices, several hundred HOTP keys must also be used and managed, since the counter values for each HOTP key can differ from one another.
  • a shared secret (OTP key) between the user's device and the authenticating device is required using cryptographic algorithms and the current, shared time of the authenticating and requesting device to log in the user. This time must always be synchronous on both the authenticating device and the requesting device of the user in order to recognize a resulting calculation of a common token (e.g. 6-8 OTP token digits, cyclically changing) as valid. If a TOTP generator is used for registration, it must be ensured that all devices involved use the same time for calculation. Especially in the industrial environment (sensors, actuators, controllers), time synchronization is rare and sometimes not provided at all or even impossible.
  • time stamps used by the requesting and authenticating device deviate from each other within the tolerated TOTP time interval, i.e. the specified period of validity of a TOTP token, the more difficult it is to register, since the acceptance window for the TOTP token is getting smaller and smaller. If the deviation is greater than the TOTP time interval, registration is no longer possible. If a TOTP procedure is aimed at, it is imperative that there is a synchronized time on both devices, both on the requesting and on the authenticating device.
  • the challenge-response method is a generally accepted method that serves the use cases and scenarios that users who cannot use a synchronized authentication system are provided with an asynchronous variant of an authentication system.
  • Such a challenge-response mode for authentication is known.
  • OCRA the manufacturer-specific, proprietary challenge-response procedure is applied in a uniform, standardized and therefore also manufacturer-independent way.
  • the use of countless, manufacturer-specific implementations and the waiver of the standardized solution using OCRA is probably the reason why there are no hardware dongles for the OCRA process on the market that allow automated use.
  • a requesting device 10 communicates with a notarizing device 30.
  • the requesting device 10 has an interface to which an OCRA generator 2 is connected in terms of hardware or implemented in terms of software.
  • the notarizing device 30 has an identical OCRA generator 1 from the same manufacturer.
  • a shared secret S is stored in the requesting device 10 and in the authenticating device 30 .
  • This shared secret S is stored in the OCRA generator 2 in the requesting device 10 and in the OCRA generator 1 in the authenticating device 30 .
  • the requesting device 10 sends an authentication request OCRA to the authenticating device 30 via a communication channel (step 1).
  • the authenticating device 30 then generates a random value as predefinable information R (step 2).
  • This information R is then transmitted to the requesting device 10 (step 3).
  • the requesting device 10 then submits an OCRA request with the information R to the OCRA generator 2 (step 4).
  • the query is forwarded to the OCRA generator 2 so that the O'CRA response to the predefinable information R can be calculated there (step 5).
  • the requesting device 10 receives the calculated O'CRA response from the OCRA generator 2 (step 6).
  • This O'CRA response is then transmitted to the notarizing device 30 (step 7).
  • the notarizing device 30 itself calculates an OCRA response.
  • This OCRA response is based on the predeterminable information R generated in step 2, ie the previously generated random value (step 8).
  • the notarizing device 30 compares the received O'CRA response to the self-calculated OCRA response (step 9).
  • the authenticating device 30 transmits the status of the authentication process, whether it was successful or failed, to the requesting device 10 (step 10). If the authentication process was successful, i.e. the O'CRA response was identical to the OCRA response, an interaction requested by the requesting device 10 is carried out, otherwise it is blocked.
  • the present invention is based on the object of specifying a method and a device for authentication that is independent of a system time and which enables interactions in microcontroller-based and/or FPGA-based devices or devices and in particular in embedded systems and/or flame monitors.
  • the aim of the invention is also to provide a device for carrying out such a method and to provide a flame detector with such a device.
  • An apparatus for carrying out the method is the subject of claim 12.
  • a flame detector according to the present invention is the subject of claim 14.
  • the method according to the invention therefore provides the following for the authentication of interactions in microcontroller- and/or FPGA-based devices or devices, in particular embedded systems and/or flame monitors, independent of a system time: It is carried out in a requesting device and in a certifying device a cryptographic hash value, which can also be in truncated form, is calculated in accordance with a common shared secret used by both devices and in both devices in a TOTP module working according to the TOTP method. Instead of a system time, the TOTP modules are supplied with predeterminable information for calculating the respective hash value in such a way that the predeterminable information (e.g. a random value) is generated or provided by the authenticating device and transmitted to the requesting device when the requesting device requests it becomes.
  • predeterminable information e.g. a random value
  • the TOTP module assigned to the requesting device is a hardware dongle that can be externally plugged into the requesting device. Provision can be made for the authentication procedure to be started automatically when the hardware dongle is plugged in.
  • the interactions mentioned can be, for example, configuration, update, parameterization, input, measurement, switching, monitoring and/or control functions in devices or facilities based on microcontrollers and/or FPGAs.
  • At least one of the TOTP modules is realized as a software implementation directly in the requesting device and/or authenticating device.
  • a software implementation is preferably implemented in the authenticating device.
  • the access data can be stored on a wireless or wired chip unit, in particular a smart card or a USB module.
  • the information that can be specified is a random value which, in one embodiment, can be selected from a specified list of values.
  • the invention also claims independent protection for a flame arrester. Because a particularly suitable field of application of the method according to the invention is that it can be used with sensors, in particular with flame detectors.
  • the method according to the invention can also be used advantageously in other sensor systems, such as flow sensors, level sensors, etc.
  • a device for carrying out the method is characterized as follows:
  • a microcontroller and/or FPGA-based device such as a flame monitor, is provided for the authentication of interactions independently of a system time, in which in each case in a requesting device and in a certifying
  • a cryptographic hash value device which can optionally be in truncated form, can be calculated in accordance with a shared secret used by both devices and in both devices in a TOTP module that works according to the TOTP method, with the TOTP - Modules instead of a system time a predetermined information for calculating the respective hash value can be supplied.
  • Such a device can particularly preferably be embodied in an embedded system.
  • the present invention avoids the problems mentioned in the HOTP, TOTP and OCRA methods in a simple manner in that the known TOTP method with its disclosed TOTP algorithm is used, but instead of the system time required for this, predeterminable information, in particular a predeterminable random value, is used. Thus, advantageously, no proprietary algorithms are used.
  • a commercially available hardware dongle which can be embodied, for example, as a USB stick or smart card or the like, is used with the TOTP algorithm.
  • the hardware dongle must allow the time to be used to be set manually.
  • this hardware dongle receives an adapted transfer value in the form of predeterminable information (e.g. random value) instead of the system time stamp.
  • the method according to the invention enables authentication on a terminal that is independent of the system time stamp.
  • a single hardware dongle can be used for authentication on multiple end devices, ie authenticating devices.
  • a Nitrokey Pro 2 or OnlyKey is a USB security module for processing specific cryptographic tasks. This can be used, among other things, for the administration and use of OTP keys. Up to 24 OTP keys can be managed simultaneously on the Nitrokey Pro 2. These are stored in so-called slots. When requesting a TOTP token, the slot is specified. Depending on the selected slot, the associated OTP key used for TOTP token generation. This TOTP token is then returned.
  • FIG. 1 The flowchart shown shows an example of a possible process for authenticating interactions in a microcontroller- and/or FPGA-based device or device, as can be used in embedded systems and/or flame detectors in particular. It is essential that this method for authentication is carried out with a conventional TOTP module, but is independent of a system time as required.
  • the TOTP module can be implemented in software in the device or device or plugged into the device or device as a hardware dongle.
  • the advantages of the authentication method according to the invention become clear on the basis of the representation of the principle mode of operation of the authentication method.
  • Only the requesting device 10 and the authenticating device 30 need to know a common shared secret S, preferably stored.
  • This shared secret S is preferably stored in a non-readable manner.
  • predeterminable information R e.g. a generated random value or a random value from a list
  • R′TOTP a truncated hash value
  • the authenticating device 30 which also knows the predeterminable information as required, calculates its own truncated hash value RTOTP using the TOTP module 32 present there. If the two truncated hash values match, the authentication via the TOTP modules 12, 32 is successful.
  • a specific exemplary embodiment of the method according to the invention is illustrated using a sensor such as a flow sensor used in a flow measurement pipeline.
  • a sensor such as a flow sensor used in a flow measurement pipeline.
  • another sensor in particular a flame detector or the like, could also be a possible application in which the method according to the invention is used.
  • a flame monitor is used, for example, to detect whether there is a flame in a burner or not.
  • the flow sensor in order to be able to correctly bill the amount of liquid passed through, the flow sensor must be correctly configured and calibrated. A manipulated calibration or flow measurement can cause considerable economic damage. To do this, it is imperative to secure access to the flow sensor and only allow authorized persons.
  • the block diagram of a flow sensor device shows figure 2 . It shows a flow sensor 50 which, for example, is mounted directly on a pipeline (not shown) in order to record the flow rate there. Away from this, for example in a control center of a waterworks, there is a terminal 52 or a PC, via which a connection to the flow sensor can be established wirelessly (for example a WLAN connection). At Terminal 52 there is a slot for this, into which a hardware dongle 54 with an integrated TOTP generator can be plugged in by an operator.
  • the user or the operator does not log on to the terminal 52, but the user logs on directly to the flow sensor 50 using the method according to the invention.
  • the flow sensor 50 itself is the authenticating device and the terminal 52 is the requesting device within the meaning of the present invention device.
  • the service technician has access to the terminal 52 and inserts a hardware dongle 54 configured for the respective flow sensor 50 into the terminal 52 .
  • the terminal 52 now establishes a connection to the flow sensor 50, preferably after a previous request for a PIN from the user for the hardware dongle 54. Only when the previously stored, common shared secret S is known on both sides and the RTOTP token is therefore calculated identically on both sides, can the user register from the terminal 52 and thus configure or calibrate the flow sensor 50 .
  • the RTOTP token is calculated on the part of the terminal 52 in the hardware dongle 54 plugged in there.
  • no fixed assignment of a specific terminal 52 to a flow sensor 50 is necessary.
  • the loss or theft of the terminal 52 is also not a critical incident, since no authentication data for logging on to the flow sensor 50 can be stolen and therefore no unauthorized configuration of the flow sensor 50 is possible with the terminal 52 alone.
  • a sequential check of the further availability of the hardware dongle 54 at the sensor terminal 52 can also ensure that a configuration/calibration is only possible when the hardware dongle 54 is plugged in. If the hardware dongle 54 is removed, the user is logged off from the flow sensor 50.
  • the flow sensor 50 communicates wirelessly or by wire with a terminal 52 into which a hardware dongle 54 of a user or user 56 can be plugged.
  • This hardware dongle 54 has an internal TOTP generator in which a shared secret S is stored.
  • This shared secret S is also stored in the flow sensor 50 .
  • the flow sensor 50 also has an internal TOTP generator that is implemented in the form of a TOTP module that can be implemented in software.
  • a first step 300 the user 56 inserts his hardware dongle 54 into the sensor terminal 52 .
  • a configuration command is sent to the sensor terminal 52 in a subsequent step 302 .
  • the sensor terminal 52 waits for such a configuration command.
  • the sensor terminal 52 sends an authentication request to the flow sensor 50.
  • an RTOTP request is generated in the flow sensor 50 and the sensor terminal 52 is queried. This request is awaited in step 310 in the sensor terminal 52 .
  • the sensor terminal 52 In the RTOTP request from the flow sensor 50 to the sensor terminal 52 , information R that is provided in the flow sensor 50 and that can be specified as a random value, for example, or can be derived from a previously stored list of values, is communicated to the sensor terminal 52 .
  • the sensor terminal 52 learns the predefinable information R for the later calculation of an associated hash value or truncated hash value.
  • the sensor terminal 52 sends an RTOTP request to the hardware dongle 54, in which the predefinable information R is made available to the TOTP generator in the hardware dongle 54 as a fictitious time stamp.
  • step 3 additional authentication is carried out with the hardware dongle.
  • the user 56 must identify himself as an authorized person on the hardware dongle by entering a PIN. This is done in step 314.
  • the user is prompted to enter a PIN. Instead of such a PIN entry, it is also possible to insert a smart card, it may be necessary to place a finger on a suitable fingerprint sensor or similar.
  • step 316 the user 56 enters a PIN.
  • the hardware dongle 54 waits for this input in step 318 . As soon as the PIN has been entered by the user 56, it is checked in step 320 whether the PIN input was correct or not.
  • step 322 If the PIN input was not correct, an error message occurs in step 322, which is transmitted from the hardware dongle 54 to the sensor terminal 52. If, on the other hand, the PIN input in step 320 was correct, in step 324 the truncated hash value R′TOTP is calculated. This value is transmitted to the sensor terminal 52 in step 324 . There, in step 326, the R'TOTP response is awaited.
  • the sensor terminal 52 determines in step 328 whether an error message or an R'TOTP response was previously received in step 326 . If an error message has been received, an error message occurs in a subsequent step 330 and a configuration or a reading of the flow sensor 50 is blocked.
  • step 328 If, on the other hand, it has been recognized in step 328 that there is no error message but rather an R'TOTP response has been received, then in a subsequent step 332 this R'TOTP response is sent to the flow sensor 50 .
  • An internal calculation of a separate truncated hash value RTOTP has previously taken place in the flow sensor 50 in an internal calculation step 309 .
  • a conventional TOTP generator is used in the flow sensor 50, which, instead of a time stamp, is provided with exactly that predeterminable information R that was previously also sent to the sensor terminal 52 in step 308.
  • a truncated hash value RTOTP is calculated from this.
  • step 334 the R'TOTP response from the sensor terminal 52 is awaited.
  • step 336 the R'TOTP response from the sensor terminal 53 is compared there in step 336 with the calculated RTOTP value according to step 309 in the flow sensor 50. This comparison takes place in step 336.
  • a decision is then made in step 338 as to whether or not the comparison of the two values was correct. If the comparison in step 338 shows that the two values are not correct, an error is sent to the sensor terminal 52 in step 340 .
  • step 342 the sensor terminal 52 waits for a response from the flow sensor 50. If, on the other hand, the comparison is positive, i.e. the values R'TOTP calculated in the sensor terminal 52 and RTOTP calculated in the flow sensor 50 are identical, then in the Step 344 communicated to the sensor terminal 52 a confirmation of the authentication, ie a correct authentication.
  • step 346 a decision is made as to whether the authentication was successful or not. This takes place in step 346. If the authentication of the truncated hash values R'TOTP and RTOTP was not successful, an error is displayed and step 330 is jumped to. However, if the authentication of the truncated hash values was successful, in step 348 a configuration command is sent to the flow sensor 50, which in step 350 waits for this. In step 352, the configuration command is triggered in the flow sensor 50 and, if necessary, it is signaled that a positive authentication has taken place. If this is the case, the user 56 can den Read out the flow sensor 50, configure it, provide it with a new update, parameterize it and so on.
  • a crane controller 72 of a crane unit 70 (for example a loading bridge or a lattice boom crane) is presented.
  • the method according to the invention for authentication is again used.
  • the crane unit 70 is controlled by radio. Only trained and authorized personnel may have access to the storage location of a remote control of the crane control 72. Only this authorized personnel also has access to the hardware dongle 74 belonging to the crane unit 70. It is a prerequisite that a common shared secret S is stored in the crane unit 70 and in the hardware dongle 74.
  • the risk of a radio-based authentication attack on the control of the crane unit 70 can also be greatly reduced by a second authentication factor since no static authentication data is used.
  • the crane driver 76 does not log on to the remote control of the crane controller 70. Instead, the remote control authenticates itself to the crane unit 70 using the method according to the invention. For this purpose, the crane driver 76 has access to the remote control and inserts a hardware Dongle 74 into the remote control of the crane control 72. The remote control establishes a connection to the crane unit 70 via the method according to the invention. Only when the shared secret S is known on both sides and the RTOTP response is therefore calculated identically on both sides can the remote control of the crane controller 70 be registered and thus the crane unit controlled. The RTOTP response is calculated on the part of the remote control in the hardware dongle 74, which must be plugged into the remote control.
  • a sequential check of the continued availability of the hardware dongle 74 on the remote control can also ensure that crane control is only possible if the hardware dongle 74 is plugged into the remote control. If the hardware dongle 74 is removed, the remote control logs off from the crane unit 70, preferably automatically. If the crane operator 76 takes a break, for example, he takes the hardware dongle 74 with him. Unauthorized operation of the crane unit 70 is therefore no longer possible, even with unprotected access to the remote control of the crane control 72.
  • FIG 5 the flow chart of an authentication of a crane operator 76 on a crane unit 70 is shown over time.
  • the crane driver 76 is supposed to control the crane unit 70 via a crane controller 72 .
  • the crane controller 72 is equipped with a hardware dongle 74 that represents a physical and physical authorization code for an authorized crane operator 76 .
  • a TOTP module in the form of a TOTP generator is integrated in the hardware dongle 74 .
  • a shared secret S is stored in the hardware dongle 74 . This shared secret S is also stored in the crane unit 70 .
  • a TOTP generator is also integrated in the crane unit 70 .
  • step 700 the crane operator 76 plugs the hardware dongle of the crane controller 72 into the crane controller 72, e.g. B. the one for it provided remote control, a.
  • step 702 the crane driver 76 then sends a control command to the crane controller 72.
  • step 704 the crane controller 72 waits for such a control command.
  • step 706 the crane controller 72 sends an authentication request to the crane unit 70.
  • step 708 a so-called RTOTP request is generated by providing specified information R, which is randomly generated, for example, or can be taken from a list of values.
  • This predeterminable information R is transmitted back to the crane controller 72 in the form of an RTOTP request, which waits for this in step 710 .
  • an inquiry is generated in the crane controller 72 from this inquiry and the transmitted predeterminable information R, which inquiry is sent to the hardware dongle 74 as an RTOTP inquiry.
  • an R'TOTP response is then generated in the hardware dongle 74 using the predefinable information R in the TOTP generator there and sent to the crane controller 72, which in step 760 waits for such a response.
  • the crane controller 72 sends this R'TOTP response, i.e. a truncated hash value, to the crane unit 70.
  • step 720 the crane unit 70 waits for such a response from the crane controller 72. Before that, in the crane unit 70 an RTOTP response has been calculated in step 709 in the TOTP generator there using the aforementioned predeterminable information R. This is again a truncated hash value.
  • step 722 the value RTOTP of the crane unit 70 and the received value R'TOTP of the crane controller 72 or the hardware dongle 74 connected there are compared.
  • step 724 the result of the comparison from step 722 is determined. If the comparison does not yield a matching result, in step 726 an error is sent to the crane controller 52, which in step 728 responds to a Crane unit 70 response awaits.
  • step 730 a result of the authentication is awaited and in step 732 an error is displayed, which signals that the comparison between the truncated hash values R'TOTP and RTOTP brought a negative result. Control of the crane unit 70 has failed and is blocked. A corresponding display can take place in step 732 .
  • step 724 If, on the other hand, the comparison in step 722 yields a match, the comparison in step 724 signals a positive result.
  • step 740 an acknowledgment is sent that the comparison of R'TOTP and RTOTP yielded a matching result.
  • this positive result in step 740 is communicated to the crane control 72 , which in step 730 recognizes a successful authentication and in step 742 sends a control command to the crane unit 70 .
  • step 744 the crane unit 70 waits for such a control command.
  • step 746 the crane unit 70 then executes the control command desired by the user 76.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Description

Die Erfindung betrifft ein Verfahren zur von einer Systemzeit unabhängigen Authentifizierung von Interaktionen in Mikrocontroller- und/oder FPGA (englisch: Field Programmable Gate Array; deutsch: im Feld (also vor Ort, beim Kunden) programmierbare (Logik-)Gatter-Anordnung)-basierenden Geräten oder Vorrichtungen, insbesondere in eingebetteten (engl.: "embedded") Systemen, sowie eine Vorrichtung zur Durchführung dieses Verfahrens und einen Flammenwächter mit einer derartigen Vorrichtung.The invention relates to a method for the authentication of interactions in microcontrollers and/or FPGAs (Field Programmable Gate Array) independent of a system time. based devices or devices, in particular in embedded (engl .: "embedded") systems, and a device for performing this method and a flame detector with such a device.

Bei Interaktionen von miteinander kommunizierenden Geräten wird regelmäßig aus Sicherheitsgründen eine Authentisierung benötigt, um einem anfragenden Gerät Zugriff zu gewähren und beispielsweise entsprechende Berechtigungen auf einem beglaubigenden Gerät zu erteilen. Eine Authentisierung, also die Anfrage einer Anmeldung mit der Behauptung einer Identität, mit anschließender Authentifizierung, d.h. einer Überprüfung und Validierung der Behauptung der erhaltenen Identität, trägt maßgeblich zur Absicherung eines digitalen Zugangs bei.In the case of interactions between devices communicating with one another, authentication is regularly required for security reasons in order to grant access to a requesting device and, for example, to grant corresponding authorizations on a certifying device. Authentication, i.e. the request for a registration with the assertion of an identity, with subsequent authentication, i.e. a check and validation of the assertion of the identity received, contributes significantly to securing digital access.

Die Authentisierung stellt also den Nachweis einer Entität dar, dass diese tatsächlich diejenige ist, die sie vorgibt zu sein. Mittels dieses Nachweises soll die Identität bestätigt bzw. geprüft werden können. Im Falle einer sogenannten Zwei-Faktor-Authentisierung oder häufig auch als Zwei-Faktor-Authentifizierung (kurz "2FA" bezeichnet), wird die Sicherheit des jeweiligen digitalen Zugangs um einen weiteren Faktor erhöht. "2FA" bezeichnet damit den Identitätsnachweis eines Nutzers mittels der Kombination zweier unterschiedlicher und insbesondere unabhängiger Authentisierungs-Komponenten bzw. Faktoren. Typische Beispiele sind Bankkarte plus PIN beim Geldautomaten, Fingerabdruck plus Zugangscode in Gebäuden, oder Passwort und Transaktionsnummer (TAN) beim Online-Banking. Sofern der Zugang zu einem System nicht durch andere Maßnahmen geregelt und limitiert werden kann, sollte aus Sicherheitsgründen immer eine 2FA angewendet werden.Authentication is the verification of an entity that it is actually who it claims to be. This proof should be able to confirm or check the identity. In the case of a so-called two-factor authentication or often also referred to as two-factor authentication (“2FA” for short), the security of the respective digital access is increased by another factor. "2FA" thus refers to the proof of identity of a user using the combination of two different and, in particular, independent authentication components or factors. Typical examples are bank card plus PIN for ATMs, fingerprint plus access code in buildings, or password and transaction number (TAN) for online banking. If access to a system cannot be regulated and limited by other measures, 2FA should always be used for security reasons.

Im IT-Umfeld sind diese beiden Methoden bereits seit Jahren etabliert. Im Embedded-Umfeld jedoch ist auch aktuell häufig nur die Abfrage eines einzelnen gemeinsamen Geheimnisses (z.B. Passwort) die einzige Absicherung für den Zugriff auf ein System. Durch die immer komplexer werdenden industriellen Systeme und die nahtlose Anbindung an bestehende IT-Systeme, muss auch im Embedded-Umfeld diesbezüglich nachgebessert und angepasst werden.In the IT environment, these two methods have been established for years. In the embedded environment, however, the query of a single common secret (e.g. password) is often the only protection for access to a system. Due to the increasingly complex industrial systems and the seamless connection to existing IT systems, improvements and adjustments must also be made in the embedded environment.

Bei dieser Anpassung sollten gängige und etablierte Prozesse und Algorithmen, welche im IT-Umfeld bereits etabliert sind, angewendet werden, um einheitlich und kompatibel zu anderen Bereichen zu sein. Dies ist im Embedded-Umfeld aber nicht immer möglich, da z.B. nicht ausreichend Ressourcen zur Verfügung stehen, oder aber die, in beispielsweise der IT üblichen, Ausgangssituationen sich zu stark von denen im Embedded-Umfeld unterscheiden. Entsprechend sind Adaptionen dieser Prozesse notwendig, um bei einer Verbindung von IT und OT die Cyber Security zu gewährleisten.With this adjustment, common and established processes and algorithms, which are already established in the IT environment, should be used in order to be uniform and compatible with other areas. However, this is not always possible in the embedded environment, because, for example, there are not enough resources available, or the initial situations, which are common in IT, for example, differ too much from those in the embedded environment. Accordingly, adaptations of these processes are necessary in order to ensure cyber security when IT and OT are combined.

Im Gegensatz zu herkömmlichen Prozessoren, die in Destop-Computern, Servern, Smartphones oder Tablets verbaut werden, geht es bei der vorliegenden Erfindung um eingebettete Systeme, die ganz gezielt zur Messung und Erfassung von Daten dienen bzw. zur Steuerung von anderen Komponenten oder Systemen.In contrast to conventional processors that are built into desktop computers, servers, smartphones or tablets, the present invention is about embedded systems that are used specifically to measure and record data or to control other components or systems.

Als "Embedded System" (deutsch: "eingebettetes System") versteht man dabei ein Microcontrollersystem oder ein FPGA-System, das eine fest zugeordnete Aufgabe erfüllt, in ein umgebendes System eingebettet bzw. integriert ist und mit diesem bzw. durch dieses System interagiert. Es dient dabei insbesondere der Messung, Erfassung und Weiterleitung von Daten bzw. wird es zur Steuerung von Aktoren, Komponenten oder Systemen eingesetzt.An "embedded system" is understood to be a microcontroller system or an FPGA system that performs a dedicated task, is embedded or integrated into a surrounding system and interacts with or through this system. It serves in particular to measure, record and forward data or is used to control actuators, components or systems.

Diese eingebetteten Systeme, also Microcontroller- oder FPGA-basierenden Geräte und Einrichtungen, haben oftmals, verglichen mit ihren leistungsstarken Gegenstücken aus dem IT-Umfeld, weniger Rechenressourcen und noch häufiger eine nur sehr begrenzte Stromversorgung. Das Umfeld, in denen diese Tätigkeiten durchgeführt werden, ist oftmals weit entfernt von den idealen Betriebsbedingungen für elektronische Komponenten und wird "Embedded"-Umfeld genannt.These embedded systems, i.e. microcontroller or FPGA-based devices and facilities, often have fewer computing resources and even more often only a very limited power supply compared to their powerful counterparts from the IT environment. The environment in which these activities are performed is often far from the ideal operating conditions for electronic components and is called an "embedded" environment.

Nimmt man das Beispiel eines Sensors zur Durchflussmessung, wird dieser z.B. an Gas-Pipelines in extrem rauen Umgebungen und unter sehr schwierigen Betriebsbedingungen verwendet. Dies kann beispielsweise eine Mindesttemperatur von -30°C oder eine Maximaltemperatur von +100°C sein. Zur Regelung des Durchflusses kann zudem eine Echtzeitfähigkeit wichtig sein, um beispielsweise Ventile entsprechend zu steuern. Auch ständige Bewegung, Erschütterungen und andere physikalische Störgrößen müssen für den Einsatz genauso berücksichtigt werden, wie ein fehlerfreier Betrieb trotz z.B. elektromagnetischer Störimpulse. Hinzu kommt, dass oftmals keine Möglichkeit der ständigen Verbindung (beispielsweise Datenverbindungen zur Überwachung oder Synchronisation) zu solch einem Gerät besteht. Selbst eine ständige, stabile Energieversorgung ist oftmals nicht sichergestellt. Entsprechendes gilt auch bei Flammenwächtern. Ein Flammenwächter dient der Überwachung des Vorhandenseins einer Flamme, z.B. mindestens in einem Teilbereich einer Brennkammer. Wesentlicher Bestandteil eines Flammenwächters ist dabei ein Flammensensor zum Erfassen einer physikalischen Größe einer Flamme, insbesondere einer Intensität elektromagnetischer Strahlung und Erzeugen eines zugehörenden elektrischen Sensorsignals.If you take the example of a sensor for flow measurement, it is used, for example, on gas pipelines in extremely harsh environments and under very difficult operating conditions. For example, this can be a minimum temperature of -30°C or a maximum temperature of +100°C. Real-time capability can also be important for controlling the flow, for example to control valves accordingly. Constant movement, vibrations and other physical disturbances must also be taken into account for use, as must error-free operation despite electromagnetic interference pulses, for example. In addition, there is often no possibility of a permanent connection (e.g. data connections for monitoring or synchronization) to such a device. Even a constant, stable energy supply is often not assured. The same applies to flame detectors. A flame monitor serves to monitor the presence of a flame, for example at least in a partial area of a combustion chamber. An essential part of a flame monitor is a flame sensor for detecting a physical variable of a flame, in particular an intensity of electromagnetic radiation, and generating an associated electrical sensor signal.

Dennoch ist es auch im Embedded-Umfeld, insbesondere im Umfeld derartiger Sensoren, notwendig, Sicherheitsmechanismen vorzusehen, so dass nur berechtigte Zugriffe auf solche Systeme von außen möglich sind. Allerdings stellt der Mangel an Ressourcen, das schwierige Einsatzumfeld und ggf. fehlende Anbindung an Rechenzentren und Server für die Hersteller eine neue, hohe Herausforderung dar.Nevertheless, it is also necessary in the embedded environment, in particular in the environment of such sensors, to provide security mechanisms so that only authorized access to such systems from the outside is possible. However, the lack of resources, the difficult operating environment and possibly the lack of connection to data centers and servers represent a new, major challenge for the manufacturers.

Die deutsche Patentanmeldung DE102019106528 ist weiterer Stand der Technik.The German patent application DE102019106528 is further state of the art.

Bevor hier näher auf die vorliegende Erfindung eingegangen wird, ist es aber notwendig, zunächst einige nachfolgend benutzte Begriffe kurz zu erläutern.Before the present invention is discussed in more detail here, however, it is necessary to first briefly explain some of the terms used below.

Anfragendes Gerätrequesting device

Das anfragende Gerät stellt eine Anfrage auf Zugriff (beispielsweise einer Ressource) des beglaubigenden Gerätes.The requesting device makes a request for access (e.g., a resource) from the notarizing device.

Beglaubigendes GerätNotarizing Device

Das beglaubigende Gerät überprüft die Angabe des anfragenden Gerätes auf Validität. Bei positiver Prüfung wird eine Authentifizierung ausgesprochen, andernfalls wird der Zugriff abgelehnt.The certifying device checks the information from the requesting device for validity. If the check is positive, authentication is issued, otherwise access is denied.

OTPOTP

OTP steht für "One-time-Password" (zu Deutsch: Einmalpasswort). Ein Einmalkennwort oder Einmalpasswort ist ein Kennwort zur Authentifizierung oder auch Autorisierung. Jedes Einmalkennwort sollte nur für eine einmalige Verwendung gültig sein und sollte daher kein zweites Mal benutzt werden.OTP stands for "One-time Password". A one-time password or one-time password is a password used for authentication or authorization. Each one-time password should only be valid for a single use and therefore should not be used a second time.

Challenge-ResponseChallenge Response

Das Challenge-Response-Verfahren (übersetzt etwa Aufforderung-Antwort-Verfahren) ist ein sicheres Authentifizierungs-verfahren eines Teilnehmers auf Basis von Wissen. Hierbei stellt ein Teilnehmer eine Aufgabe (engl. challenge), die der andere lösen muss (engl. response), um zu beweisen, dass er eine bestimmte Information (z.B. den verwendeten Algorithmus oder ein Shared-Secret) kennt, ohne diese Information selbst zu übertragen. Dies ist ein Schutz dagegen, dass die bestimmte Information (z.B. ein Passwort) von Angreifern auf der Leitung mitgehört werden kann.The challenge-response method (translated as a request-response method ) is a secure authentication method for a participant based on knowledge. Here, one participant presents a task ( challenge ) that the other must solve ( response ) in order to prove that he knows certain information (e.g. the algorithm used or a shared secret) without admitting this information himself transfer. This is a protection against the specific information (eg a password) being overheard by attackers on the line.

CLI (Command Line Interface)CLI (Command Line Interface)

Eine Kommandozeilenschnittstelle (CLI) nimmt Befehle an ein Computerprogramm in Form von Textzeilen entgegen.A command line interface (CLI) accepts commands to a computer program in the form of lines of text.

ITIT

"IT" ist der gebräuchliche Begriff für das gesamte Spektrum von Technologien zur Informationsverarbeitung, einschließlich Software, Hardware, Kommunikationstechnologien und zugehörige Dienstleistungen. Im Allgemeinen umfasst die IT keine eingebetteten (Embedded) Technologien, die Daten für den Unternehmensgebrauch erzeugen."IT" is the common term for the full range of information processing technologies, including software, hardware, communication technologies and related services. In general, IT does not include embedded technologies that generate data for business use.

OTOT

Operationelle Technologie (OT) ist Hard- und Software, die durch die direkte Überwachung und/oder Steuerung von physikalischen Geräten, Anlagen, Prozessen und Ereignissen eine Veränderung feststellt oder bewirkt.Operational Technology (OT) is hardware and software that detects or causes change through direct monitoring and/or control of physical devices, facilities, processes and events.

HMAC-SHA1HMAC-SHA1

Ein Message Authentication Code (MAC; deutsch: "Nachrichtenauthentifizierungscode") dient dazu, Gewissheit über den Ursprung von Daten oder Nachrichten zu erhalten und ihre Integrität zu überprüfen. MAC-Algorithmen erfordern zwei Eingabeparameter, erstens die zu schützenden Daten und zweitens einen geheimen Schlüssel. Die MAC-Algorithmen berechnen aus beidem eine Prüfsumme, den Message Authentication Code. Ein Keyed-Hash Message Authentication Code (HMAC) ist ein Message Authentication Code (MAC), dessen Konstruktion auf einer kryptografischen Hash-Funktion, wie beispielsweise dem Secure Hash Algorithm (SHA), und einem geheimen Schlüssel basiert. Die Kombination wird als HMAC-SHA1 bezeichnet, wobei die Zahl 1 für die verwendete Variante der kryptografischen Hash-Funktion steht.A Message Authentication Code (MAC; German: "Message Authentication Code") is used to obtain certainty about the origin of data or messages and to check their integrity. MAC algorithms require two input parameters, first the data to be protected and second a secret key. The MAC algorithms calculate a checksum from both, the message authentication code. A keyed-hash message authentication code (HMAC) is a message authentication code (MAC) whose construction is based on a cryptographic hash function, such as the Secure Hash Algorithm (SHA), and a secret key. The combination is called HMAC-SHA1, where the number 1 stands for the variant of the cryptographic hash function used.

Trunkationtruncation

In der Mathematik und Informatik versteht man unter Trunkierung die Begrenzung der Anzahl der Stellen rechts vom Dezimalpunkt. Hier bedeutet dies die Kürzung der Länge eines gegebenen Ausgabewertes. Ein trunkierter Wert ist demnach ein in seiner Länge gekürzter Wert.In mathematics and computer science, truncation is the limitation of the number of digits to the right of the decimal point. Here it means shortening the length of a given output value. A truncated value is therefore a value that has been shortened in length.

OTP-Token-DigitsOTP token digits

Die Anzahl der OTP-Token-Digits beschreibt die Anzahl der Ziffern und somit die Länge, die ein berechneter OTP-Token aufweisen muss.The number of OTP token digits describes the number of digits and thus the length that a calculated OTP token must have.

Derzeit sind unterschiedliche Verfahren zur Authentifizierung bekannt und gebräuchlich. Das OTP-Verfahren ist dabei eines der am häufigsten eingesetzten Verfahren für eine 2FA. Für das OTP-Verfahren gibt es insbesondere drei gängige Möglichkeiten der Umsetzung.Various authentication methods are currently known and used. The OTP method is one of the most commonly used methods for 2FA. In particular, there are three common implementation options for the OTP process.

HOTP - "HMAC-based One-time Password Algorithmus" (eine Definition dieses Algorithmus findet sich im allgemein zugänglichen Dokument "Request for Comments No. 4226", kurz: RFC 4226) HOTP - " HMAC-based One-time Password Algorithm " (a definition of this algorithm can be found in the publicly accessible document "Request for Comments No. 4226", abbreviated: RFC 4226)

Ein gemeinsames Geheimnis (OTP-Schlüssel) zwischen dem Gerät des Benutzers und dem beglaubigenden Gerät wird mittels kryptographischer Algorithmen und einem Zähler, der sich bei jedem Anmeldeversuch erhöht, zur Anmeldung des Benutzers benötigt.A shared secret (OTP key) between the user's device and the authenticating device is required to log the user in using cryptographic algorithms and a counter that increments with each login attempt.

Dieser Zähler muss sich, sowohl auf dem beglaubigenden Gerät als auch auf dem anfragenden Gerät des Benutzers immer im synchronisierten Bereich befinden, denn nur dann kann eine daraus resultierende Berechnung eines gemeinsamen Tokens (z.B. 6-8 OTP-Token-Digits) als gültig anerkannt werden.This counter must always be in the synchronized range on both the authenticating device and the requesting device of the user, because only then can a resulting calculation of a common token (e.g. 6-8 OTP token digits) be recognized as valid .

Problematisch beim HOTP-Verfahren ist, dass die Zähler beider Geräte, also des anfragenden und des beglaubigenden Gerätes, immer in einem vordefinierten Bereich zueinander liegen müssen. Wird ein HOTP-Generator für mehrere beglaubigende Geräte genutzt, erhöht sich der Zähler auf dem anfragenden Gerät in einem anderen Intervall als auf den beglaubigenden Geräten.The problem with the HOTP procedure is that the counters of both devices, i.e. the requesting and the authenticating device, must always be within a predefined range of one another. If a HOTP generator is used for multiple authenticating devices, the counter on the requesting device increments at a different interval than on the authenticating devices.

HOTP-Beispiel:HOTP example:


- Drei beglaubigende Geräte (A, B, C)
- Ein anfragendes Gerät Anmeldung 1 an beglaubigendes Gerät "A" Zähler beglaubigendes Gerät "A" = 1 Zähler anfragendes Gerät = 1 Anmeldung 1 an beglaubigendes Gerät "B" Zähler beglaubigendes Gerät "B" = 1 Zähler anfragendes Gerät = 2 Anmeldung 1 an beglaubigendes Gerät "C" Zähler beglaubigendes Gerät "C" = 1 Zähler anfragendes Gerät = 3 Anmeldung 2 an beglaubigendes Gerät "A" Zähler beglaubigendes Gerät "A" = 2 Zähler anfragendes Gerät = 4

- Three authenticating devices (A, B, C)
- A requesting device Login 1 to authenticating device "A" Counter authenticating device "A" = 1 Counter requesting device = 1 Login 1 to authenticating device "B" Counter authenticating device "B" = 1 Counter requesting device = 2 Login 1 to authenticating device "C" Counter authenticating device "C" = 1 Counter requesting device = 3 Logon 2 to authenticating device "A" Counter authenticating device "A" = 2 Counter requesting device = 4

Ein Synchronhalten des Zählers des anfragenden Gerätes zu dem Zähler der beglaubigenden Geräte ist nicht möglich, sie "driften" mit jeder neuen Anmeldung weiter auseinander.Keeping the counter of the requesting device synchronized with the counter of the authenticating devices is not possible, they "drift" further apart with each new registration.

Ein anfragendes Gerät kann somit immer nur für den Zugang zu einem beglaubigenden Gerät genutzt werden. Die Verwendung eines einzelnen HOTP-Schlüssels für die Authentisierung an mehreren beglaubigenden Geräten ist damit nicht möglich. Dies bedeutet, dass z.B. für ein anfragendes Gerät zum Zugriff auf mehrere hundert beglaubigende Geräte auch mehrere hundert HOTP-Schlüssel genutzt und verwaltet werden müssen, da sich für jeden HOTP-Schlüssel die Zähler-Werte voneinander unterscheiden können.A requesting device can therefore only ever be used to access one authenticating device. It is therefore not possible to use a single HOTP key for authentication at multiple authenticating devices. This means that, for example, for a requesting device to access several hundred authenticating devices, several hundred HOTP keys must also be used and managed, since the counter values for each HOTP key can differ from one another.

TOTP - "Time-based One-time Password Algorithmus" (eine Definition dieses Algorithmus findet sich im allgemein zugänglichen Dokument "Request for Comments No. 6238", kurz: RFC 6238) TOTP - "Time-based One-time Password Algorithm" (a definition of this algorithm can be found in the publicly accessible document "Request for Comments No. 6238", abbreviated: RFC 6238)

Ein gemeinsames Geheimnis (OTP-Schlüssel) zwischen dem Gerät des Benutzers und dem beglaubigenden Gerät wird mittels kryptographischer Algorithmen und der aktuellen, gemeinsamen Zeit des beglaubigenden und anfragenden Gerätes, zur Anmeldung des Benutzers benötigt. Diese Zeit muss sowohl auf dem beglaubigenden Gerät als auch auf dem anfragenden Gerät des Benutzers immer synchron sein, um eine daraus resultierende Berechnung eines gemeinsamen Tokens (z.B. 6-8 OTP-Token-Digits, zyklisch wechselnd) als gültig zu erkennen. Wird ein TOTP-Generator für die Anmeldung genutzt, muss sichergestellt sein, dass alle involvierten Geräte zwingend dieselbe Zeit zur Berechnung nutzen. Gerade im industriellen Umfeld (Sensoren, Aktoren, Steuerungen) ist eine Zeitsynchronisation aber selten und stellenweise überhaupt nicht vorgesehen oder gar unmöglich. Je weiter die, jeweils von dem anfragenden und beglaubigenden Gerät, verwendeten Zeitstempel, von denen die TOTP-Tokens abgeleitet werden, innerhalb des tolerierten TOTP-Zeitintervalls, also der festgelegten Gültigkeitsdauer eines TOTP-Tokens, voneinander abweichen, desto schwieriger wird eine Anmeldung, da das Akzeptanzfenster für den TOTP-Token immer kleiner wird. Ist die Abweichung größer als das TOTP-Zeitintervall, so ist keine Anmeldung mehr möglich. Wird also ein TOTP-Verfahren angestrebt, muss zwingend eine synchronisierte Zeit auf beiden Geräten sowohl auf dem anfragenden als auch beglaubigenden Gerät vorliegen.A shared secret (OTP key) between the user's device and the authenticating device is required using cryptographic algorithms and the current, shared time of the authenticating and requesting device to log in the user. This time must always be synchronous on both the authenticating device and the requesting device of the user in order to recognize a resulting calculation of a common token (e.g. 6-8 OTP token digits, cyclically changing) as valid. If a TOTP generator is used for registration, it must be ensured that all devices involved use the same time for calculation. Especially in the industrial environment (sensors, actuators, controllers), time synchronization is rare and sometimes not provided at all or even impossible. The more the time stamps used by the requesting and authenticating device, from which the TOTP tokens are derived, deviate from each other within the tolerated TOTP time interval, i.e. the specified period of validity of a TOTP token, the more difficult it is to register, since the acceptance window for the TOTP token is getting smaller and smaller. If the deviation is greater than the TOTP time interval, registration is no longer possible. If a TOTP procedure is aimed at, it is imperative that there is a synchronized time on both devices, both on the requesting and on the authenticating device.

OCRA - "OATH Challenge-Response Algorithm" (eine Definition dieses Algorithmus findet sich im allgemein zugänglichen Dokument "Request for Comments No. 6287", kurz: RFC 6287)OCRA - "OATH Challenge-Response Algorithm" ( a definition of this algorithm can be found in the generally accessible document "Request for Comments No. 6287", in short: RFC 6287)

Das Challenge-Response-Verfahren ist eine allgemein akzeptierte Methode, welche den Anwendungsfällen und Szenarien dient, dass Benutzer, die kein synchronisiertes Authentifizierungssystem verwenden können, eine asynchrone Variante eines Authentifizierungssystems zur Verfügung gestellt bekommen. Ein solcher Challenge-Response-Modus zur Authentifizierung ist bekannt. Mehrere Hersteller bieten bereits Software-Anwendungen und Hardware-Geräte an, die ein Challenge-Response-Verfahren implementieren - aber jeder von ihnen verwendet nachteiliger Weise herstellerspezifische, proprietäre Algorithmen. Durch die Nutzung von OCRA wird das herstellerspezifische, proprietär umgesetzte Challenge-Response-Verfahren auf eine einheitliche, standardisierte und somit auch Herstellerübergreifendes Art angewandt. Die Verwendung der unzähligen, herstellerspezifischen Umsetzungen und der Verzicht auf die standardisierte Lösung mittels OCRA dürfte der Grund dafür sein, dass keine Hardware-Dongles für das OCRA-Verfahren im Markt verfügbar sind, die eine automatisierte Nutzung zulassen. Proprietäre Varianten sind hingegen weiterhin gängig. Somit setzt die Verwendung eines Challenge-Response-Verfahrens mittels Hardware-Dongles eine feste Bindung und eine damit verknüpfte Abhängigkeit eines Dongles an einen speziellen Hersteller voraus, was in den Systemen mit Komponenten verschiedenster Hersteller dem Einsatz von Hardware-Dongles für das OCRA-Verfahren entgegensteht.The challenge-response method is a generally accepted method that serves the use cases and scenarios that users who cannot use a synchronized authentication system are provided with an asynchronous variant of an authentication system. Such a challenge-response mode for authentication is known. Several manufacturers already offer software applications and hardware devices that implement a challenge-response method - but each of them disadvantageously uses manufacturer-specific, proprietary algorithms. By using OCRA, the manufacturer-specific, proprietary challenge-response procedure is applied in a uniform, standardized and therefore also manufacturer-independent way. The use of countless, manufacturer-specific implementations and the waiver of the standardized solution using OCRA is probably the reason why there are no hardware dongles for the OCRA process on the market that allow automated use. Proprietary variants, on the other hand, are still common. Thus, the use of a challenge-response procedure using hardware dongles requires a fixed connection and the associated dependency of a dongle on a specific manufacturer, which in systems with components from a wide variety of manufacturers precludes the use of hardware dongles for the OCRA procedure .

Anhand von Figur 6 wird dieses OCRA-Verfahren zur Authentifizerung kurz erläutert. Dabei wird angenommen, dass eine Single-Faktor-Authentifizierung erfolgt.Based on figure 6 this OCRA method for authentication is briefly explained. It is assumed that single-factor authentication takes place.

Dabei kommuniziert ein anfragendes Gerät 10 mit einem beglaubigenden Gerät 30. Das anfragende Gerät 10 verfügt über eine Schnittstelle, an die ein OCRA-Generator 2 hardwaremäßig angeschlossen oder softwaremäßig implementiert ist. Das beglaubigende Gerät 30 weist einen identischen OCRA-Generator 1 des gleichen Herstellers auf. Um ein Authentifizierungsverfahren zwischen dem anfragenden Gerät 10 und dem beglaubigenden Gerät 30 durchzuführen, ist in dem anfragenden Gerät 10 und in dem beglaubigenden Gerät 30 jeweils ein Shared-Secret S abgespeichert. Im anfragenden Gerät 10 ist dieses Shared-Secret S in dem OCRA-Generator 2 und im beglaubigenden Gerät 30 im OCRA-Generator 1 gespeichert.In this case, a requesting device 10 communicates with a notarizing device 30. The requesting device 10 has an interface to which an OCRA generator 2 is connected in terms of hardware or implemented in terms of software. The notarizing device 30 has an identical OCRA generator 1 from the same manufacturer. In order to carry out an authentication method between the requesting device 10 and the authenticating device 30 , a shared secret S is stored in the requesting device 10 and in the authenticating device 30 . This shared secret S is stored in the OCRA generator 2 in the requesting device 10 and in the OCRA generator 1 in the authenticating device 30 .

Folgende Verfahrensschritte werden durchgeführt. Das anfragende Gerät 10 stellt über einen Kommunikationskanal eine Authentifizierungs-Anfrage OCRA an das beglaubigende Gerät 30 (Schritt 1). Das beglaubigende Gerät 30 generiert dann einen Zufallswert als vorgebbare Information R (Schritt 2). Diese Information R wird dann an das anfragende Gerät 10 übertragen (Schritt 3). Das anfragende Gerät 10 stellt anschließend eine OCRA-Anfrage mit der Information R an den OCRA-Generator 2 (Schritt 4). Die Anfrage wird an den OCRA-Generator 2 weitergegeben, damit dort die O'CRA-Antwort zu der vorgebbaren Information R berechnet werden kann (Schritt 5). Das anfragende Gerät 10 erhält die errechnete O'CRA-Antwort des OCRA-Generators 2 (Schritt 6). Diese O'CRA-Antwort wird anschließend an das beglaubigende Gerät 30 übertragen (Schritt 7). Für die Durchführung des Vergleichs der empfangenen O'CRA-Antwort berechnet das beglaubigende Gerät 30 selbst eine OCRA-Antwort. Diese OCRA-Antwort basiert auf der in Schritt 2 erzeugten vorgebbaren Information R, also dem zuvor erzeugten Zufallswert (Schritt 8).The following process steps are carried out. The requesting device 10 sends an authentication request OCRA to the authenticating device 30 via a communication channel (step 1). The authenticating device 30 then generates a random value as predefinable information R (step 2). This information R is then transmitted to the requesting device 10 (step 3). The requesting device 10 then submits an OCRA request with the information R to the OCRA generator 2 (step 4). The query is forwarded to the OCRA generator 2 so that the O'CRA response to the predefinable information R can be calculated there (step 5). The requesting device 10 receives the calculated O'CRA response from the OCRA generator 2 (step 6). This O'CRA response is then transmitted to the notarizing device 30 (step 7). In order to perform the comparison of the received O'CRA response, the notarizing device 30 itself calculates an OCRA response. This OCRA response is based on the predeterminable information R generated in step 2, ie the previously generated random value (step 8).

Anschließend vergleicht das beglaubigende Gerät 30 die empfangene O'CRA-Antwort mit der selbst berechneten OCRA-Antwort (Schritt 9). Das beglaubigende Gerät 30 überträgt den Status des Authentifizierungsvorgangs, ob dieser erfolgreich war oder fehlgeschlagen ist, an das anfragende Gerät 10 (Schritt 10). War der Authentifizierungsvorgang erfolgreich, d.h. die O'CRA-Antwort mit der OCRA-Antwort identisch, wird eine vom anfragenden Gerät 10 angefragte Interaktion durchgeführt, andernfalls gesperrt.The notarizing device 30 then compares the received O'CRA response to the self-calculated OCRA response (step 9). The authenticating device 30 transmits the status of the authentication process, whether it was successful or failed, to the requesting device 10 (step 10). If the authentication process was successful, i.e. the O'CRA response was identical to the OCRA response, an interaction requested by the requesting device 10 is carried out, otherwise it is blocked.

Problematisch bei diesem bekannten OCRA-Verfahren ist jedoch, wie oben erwähnt, dass die Hersteller regelmäßig ganz eigene, herstellerspezifische und damit proprietäre Algorithmen zur Durchführung eines Challenge-Response-Verfahrens einsetzen und deshalb die Anwender gezwungen sind immer Challenge-Response-Generatoren gleicher Hersteller zu verwenden, was einer breiten und massenhaften Einsatzmöglichkeit des OCRA- Authentifizierungsverfahrens zuwiderläuft.However, as mentioned above, the problem with this known OCRA method is that the manufacturers regularly use their own, manufacturer-specific and thus proprietary algorithms to carry out a challenge-response method and the users are therefore always forced to use challenge-response generators from the same manufacturer use, which runs counter to a broad and mass application of the OCRA authentication method.

Der vorliegenden Erfindung liegt die Aufgabe zu Grunde, ein Verfahren und eine Vorrichtung anzugeben für eine von einer Systemzeit unabhängigen Authentifizierung, welche Interaktionen in auf Microcontroller- und/oder FPGA-basierenden Geräten oder Vorrichtungen und insbesondere in eingebetteten Systemen und/oder Flammenwächtern ermöglicht. Darüber hinaus ist es Ziel der Erfindung, auch eine Vorrichtung zur Durchführung eines solchen Verfahrens bereitzustellen und einen Flammenwächter mit einer derartigen Vorrichtung zur Verfügung zu stellen.The present invention is based on the object of specifying a method and a device for authentication that is independent of a system time and which enables interactions in microcontroller-based and/or FPGA-based devices or devices and in particular in embedded systems and/or flame monitors. In addition, the aim of the invention is also to provide a device for carrying out such a method and to provide a flame detector with such a device.

Diese Aufgabe wird gelöst durch ein Verfahren mit den Merkmalen des Anspruchs 1.This object is achieved by a method having the features of claim 1.

Weiterbildungen dieses Verfahrens sind Gegenstand der Unteransprüche 1 bis 11.Developments of this method are the subject of dependent claims 1 to 11.

Eine Vorrichtung zur Durchführung des Verfahrens ist Gegenstand des Anspruchs 12. Ein Flammenwächter gemäß der vorliegenden Erfindung ist Gegenstand des Anspruchs 14.An apparatus for carrying out the method is the subject of claim 12. A flame detector according to the present invention is the subject of claim 14.

Das erfindungsgemäße Verfahren sieht also zur von einer Systemzeit unabhängigen Authentifizierung von Interaktionen in auf Microcontroller- und/oder FPGA- basierenden Geräten oder Vorrichtungen, insbesondere eingebetteten Systemen und/oder Flammenwächtern, folgendes vor: Es wird jeweils in einem anfragenden Gerät und in einem beglaubigenden Gerät ein kryptographischer, Hash-Wert, der auch in trunkierter Form vorliegen kann, nach Maßgabe eines von beiden Geräten benutzten, gemeinsamen Shared-Secrets und einem in beiden Geräten in einem nach dem TOTP-Verfahren arbeitenden TOTP-Modul errechnet. Dabei wird den TOTP-Modulen anstelle einer Systemzeit eine vorgebbare Information zur Berechnung des jeweiligen Hash-Wertes zugeführt und zwar derart, dass die vorgebbare Information (z.B. ein Zufallswert) vom beglaubigenden Gerät erzeugt oder bereitgestellt und bei einer Anfrage des anfragenden Gerätes dem anfragenden Gerät übermittelt wird. Dort wird es dann dem dortigen TOTP-Modul zur Berechnung eines eigenen Hash-Wertes zugeführt und der dann dort errechnete Hash-Wert zu dem beglaubigenden Gerät übertragen. Bei einer Übereinstimmung dieses vom beglaubigenden Gerät empfangenen Hash-Wertes mit dem im beglaubigenden Gerät mit der vorgegebenen Information errechneten Hash-Wertes ist eine erfolgreiche Authentifizierung durchgeführt und die Interaktion wird freigeben. Andernfalls wird die Interaktion bei einer Nichtübereinstimmung gesperrt.The method according to the invention therefore provides the following for the authentication of interactions in microcontroller- and/or FPGA-based devices or devices, in particular embedded systems and/or flame monitors, independent of a system time: It is carried out in a requesting device and in a certifying device a cryptographic hash value, which can also be in truncated form, is calculated in accordance with a common shared secret used by both devices and in both devices in a TOTP module working according to the TOTP method. Instead of a system time, the TOTP modules are supplied with predeterminable information for calculating the respective hash value in such a way that the predeterminable information (e.g. a random value) is generated or provided by the authenticating device and transmitted to the requesting device when the requesting device requests it becomes. There it is then fed to the local TOTP module to calculate its own hash value and the hash value calculated there is then transmitted to the authenticating device. If this hash value received from the authenticating device matches the hash value calculated in the authenticating device using the specified information, successful authentication has been carried out and the interaction is released. Otherwise, if there is a mismatch, the interaction will be blocked.

In einer bevorzugten Ausführungsform der Erfindung ist das dem anfragenden Gerät zugeordnete TOTP-Modul ein in das anfragende Gerät von extern einsteckbarer Hardware-Dongle. Dabei kann vorgesehen werden, dass mit dem Einstecken des Hardware-Dongles die Authentifizierungsprozedur selbsttätig gestartet wird.In a preferred embodiment of the invention, the TOTP module assigned to the requesting device is a hardware dongle that can be externally plugged into the requesting device. Provision can be made for the authentication procedure to be started automatically when the hardware dongle is plugged in.

Die erwähnten Interaktionen können in auf Microcontroller und/oder FPGA's basierenden Geräten oder Einrichtungen z.B. Konfigurations-, Update-, Parametrierungs-, Eingabe-, Mess-, Schalt-, Überwachungs- und/oder Steuerungsfunktionen sein.The interactions mentioned can be, for example, configuration, update, parameterization, input, measurement, switching, monitoring and/or control functions in devices or facilities based on microcontrollers and/or FPGAs.

In einer anderen Weiterbildung der Erfindung kann vorgesehen werden, dass zumindest eines der TOTP-Module als Softwareimplementierung unmittelbar im anfragenden Gerät und/oder beglaubigenden Gerät als realisiert ist. Vorzugsweise ist eine solche Softwareimplementierung im beglaubigenden Gerät realisiert.In another development of the invention, it can be provided that at least one of the TOTP modules is realized as a software implementation directly in the requesting device and/or authenticating device. Such a software implementation is preferably implemented in the authenticating device.

Darüber hinaus ist es möglich, dass zur Realisierung einer 2FA eine Vorab-Authentifizierungsanfrage mit vorgegebenen Zugangsdaten vom anfragenden Gerät an das beglaubigende Gerät gestellt oder dort direkt eingegeben wird und nur bei einer hierbei erfolgreichen Validitätsprüfung eine weitere Authentifizierungsanfrage ermöglicht wird.In addition, it is possible that, in order to implement a 2FA, a preliminary authentication request with specified access data is sent from the requesting device to the authenticating device or is entered directly there and a further authentication request is only made possible if the validity check is successful.

Es liegt auch im Rahmen der vorliegenden Erfindung, dass als Zugangsdaten ein Passwort und/oder ein Nutzername und/oder ein Zertifikat verwendet werden. Dabei können die Zugangsdaten auf einer drahtlos oder drahtgebunden arbeitenden Chipeinheit, insbesondere einer Smartcard oder einem USB-Modul, gespeichert sein.It is also within the scope of the present invention for a password and/or a user name and/or a certificate to be used as access data. The access data can be stored on a wireless or wired chip unit, in particular a smart card or a USB module.

In einer Weiterbildung der Erfindung ist vorgesehen, dass die vorgebbare Information ein Zufallswert ist, der in einer Ausgestaltung aus einer vorgegebenen Liste von Werten ausgewählt werden kann.In a further development of the invention, it is provided that the information that can be specified is a random value which, in one embodiment, can be selected from a specified list of values.

Zudem ist es möglich, dass ein und dasselbe Shared-Secret zur Authentifizierung von mehreren anfragenden Geräten verwendet wird.It is also possible for one and the same shared secret to be used for authentication by multiple requesting devices.

Die Erfindung beansprucht auch unabhängigen Schutz für einen Flammenwächter. Denn ein besonders geeignetes Anwendungsfeld des erfindungsgemäßen Verfahrens ist, dass dieses bei Sensoren, insbesondere bei Flammenwächtern eingesetzt werden kann.The invention also claims independent protection for a flame arrester. Because a particularly suitable field of application of the method according to the invention is that it can be used with sensors, in particular with flame detectors.

Das erfindungsgemäße Verfahren kann auch bei anderen Sensorsystemen vorteilhaft eingesetzt werden, wie z.B. bei Durchflusssensoren, Füllstandsensoren usw..The method according to the invention can also be used advantageously in other sensor systems, such as flow sensors, level sensors, etc.

Eine erfindungsgemäße Vorrichtung zur Durchführung des Verfahrens zeichnet sich wie folgt aus: Es ist eine Microcontroller und/oder FPGA basierende Vorrichtung, wie beispielsweise ein Flammenwächter, zur von einer Systemzeit unabhängigen Authentifizierung von Interaktionen vorgesehen, bei welcher jeweils in einem anfragenden Gerät und in einem beglaubigenden Gerät ein kryptographischer, Hash-Wert, der optional in trunkierter Form vorliegen kann, nach Maßgabe eines von beiden Geräten benutzten, gemeinsamen Shared-Secrets und einem in beiden Geräten in einem nach dem TOTP-Verfahren arbeitenden TOTP-Modul errechenbar ist, wobei den TOTP-Modulen anstelle einer Systemzeit eine vorgebbare Information zur Berechnung des jeweiligen Hash-Wertes zuführbar ist. Dies erfolgt derart, dass die vorgebbare Information vom beglaubigenden Gerät erzeugbar oder bereitstellbar und bei einer Anfrage des anfragenden Gerätes dem anfragenden Gerät übermittelbar ist, wo sie dann dem dortigen TOTP-Modul zur Berechnung eines Hash-Wertes zuführbar und der dann dort errechnete Hash-Wert zu dem beglaubigenden Gerät übertragbar ist, und dass bei einer Übereinstimmung dieses vom beglaubigenden Gerät empfangbaren Hash-Wertes mit einem im beglaubigenden Gerät mit der vorgebbaren Information errechneten Hash-Wertes eine erfolgreiche Authentifizierung durchführbar ist und die Interaktion freigebbar und andernfalls bei einer Nichtübereinstimmung sperrbar ist.A device according to the invention for carrying out the method is characterized as follows: A microcontroller and/or FPGA-based device, such as a flame monitor, is provided for the authentication of interactions independently of a system time, in which in each case in a requesting device and in a certifying A cryptographic hash value device, which can optionally be in truncated form, can be calculated in accordance with a shared secret used by both devices and in both devices in a TOTP module that works according to the TOTP method, with the TOTP - Modules instead of a system time a predetermined information for calculating the respective hash value can be supplied. This is done in such a way that the information that can be specified can be generated or made available by the authenticating device and when there is a request from the requesting device can be transmitted to the requesting device, where it can then be fed to the local TOTP module for calculating a hash value and the hash value calculated there can be transmitted to the authenticating device, and that if this hash value, which can be received from the authenticating device, matches a hash value calculated in the authenticating device with the predefinable information, successful authentication can be carried out and the interaction can be released and otherwise blocked in the event of a mismatch.

Besonders bevorzugt kann eine solche Vorrichtung in einem eingebetteten System ausgebildet sein.Such a device can particularly preferably be embodied in an embedded system.

Die vorliegende Erfindung vermeidet die genannten Probleme bei den Verfahren HOTP, TOTP und OCRA in einfacher Weise dadurch, dass das bekannte TOTP-Verfahren mit seiner offengelegten TOTP-Algorithmik zwar eingesetzt, anstelle der dafür notwendigen Systemzeit jedoch eine vorgebbare Information, insbesondere ein vorgebbarer Zufallswert, Verwendung findet. Es werden somit vorteilhafterweise keine proprietären Algorithmen verwendet.The present invention avoids the problems mentioned in the HOTP, TOTP and OCRA methods in a simple manner in that the known TOTP method with its disclosed TOTP algorithm is used, but instead of the system time required for this, predeterminable information, in particular a predeterminable random value, is used. Thus, advantageously, no proprietary algorithms are used.

In einer bevorzugten Ausführungsform der Erfindung wird ein kommerziell verfügbarer Hardware-Dongle, der z.B. als USB-Stick oder Smartcard oder Ähnliches ausbildet sein kann, mit TOTP-Algorithmus eingesetzt. Der Hardware-Dongle muss dabei ein manuelles Setzen der an sich zu verwendenden Zeit zulassen. Dieser Hardware-Dongle bekommt erfindungsgemäß einen angepassten Übergabewert in Form einer vorgebbaren Information (z.B. Zufallswert) anstatt des Systemzeitstempels.In a preferred embodiment of the invention, a commercially available hardware dongle, which can be embodied, for example, as a USB stick or smart card or the like, is used with the TOTP algorithm. The hardware dongle must allow the time to be used to be set manually. According to the invention, this hardware dongle receives an adapted transfer value in the form of predeterminable information (e.g. random value) instead of the system time stamp.

Embedded Geräte besitzen, wie oben beschrieben, häufig nur eine limitierte Systemleistung und ebenfalls ist häufig kein synchronisierter Systemzeitstempel verfügbar. Das erfindungsgemäße Verfahren dagegen ermöglicht eine Systemzeitstempel-unabhängige Authentifizierung auf einem Endgerät. Dabei kann ein einzelner Hardware-Dongle für die Authentifizierung an mehreren Endgeräten, d.h. beglaubigenden Geräte, verwendet werden.As described above, embedded devices often only have a limited system performance and there is often no synchronized system timestamp available. The method according to the invention, on the other hand, enables authentication on a terminal that is independent of the system time stamp. A single hardware dongle can be used for authentication on multiple end devices, ie authenticating devices.

In Tests konnte die Realisierbarkeit des erfindungsgemäßen Verfahrens bereits nachgewiesen werden. Dabei wurde eine Umsetzung des TOTP-Verfahrens und einem manuellen Setzen der Zeit mit zwei unterschiedlichen TOTP-fähigen Hardware-Dongles von zwei unterschiedlichen Hardwareherstellern geprüft. Als Beispiel sind hier der Hardware-Dongles "Nitrokey Pro 2" (siehe https://shop.nitrokey.com/de DE/shop/product/nk-pro-2-nitrokey-pro-2-3) und der "OnlyKey" (siehe https://onlykey.io/de genannt ). Über deren CLI-Schnittstelle kann durch einen Befehl ein Wert (üblicherweise ein Zeitwert) als Eingabe zur Generierung eines TOTP-Tokens an den TOTP-Generator übergeben werden. Die beiden genannten Hardware-Dongles dienen lediglich als Beispiel. Eine Umsetzung des erfindungsgemäßen Verfahrens ist mit jedem beliebigen Hardware- oder Software-Generator für TOTP-Tokens realisierbar, sofern dort ein manuelles Setzen der Zeit zur Berechnung des TOTP-Tokens möglich ist.The feasibility of the method according to the invention has already been demonstrated in tests. An implementation of the TOTP procedure and a manual setting of the time with two different TOTP-capable hardware dongles from two different hardware manufacturers was tested. As an example, here are the hardware dongles "Nitrokey Pro 2" (see https://shop.nitrokey.com / de DE / shop / product / nk- pro -2-nitrokey-pro-2-3 ) and the "OnlyKey " (see https: // onlykey.io / de called ). Using their CLI interface, a command can be used to pass a value (usually a time value) to the TOTP generator as input for generating a TOTP token. The two hardware dongles mentioned serve only as an example. The method according to the invention can be implemented with any hardware or software generator for TOTP tokens, provided that the time for calculating the TOTP token can be set manually there.

Bei einem Nitrokey Pro 2 oder OnlyKey handelt es sich um ein USB-Security Modul zur Verarbeitung spezifischer kryptographischer Aufgaben. Dieses kann unter anderem für die Verwaltung und Verwendung von OTP-Schlüsseln genutzt werden. Auf dem Nitrokey Pro 2 können bis zu 24 OTP-Schlüssel gleichzeitig verwaltet werden. Diese werden in sogenannten Slots gespeichert. Bei der Anfrage eines TOTP-Tokens wird der Slot angegeben. Abhängig von dem gewählten Slot wird der dazugehörige OTP-Schlüssel für die TOTP-Token-Erzeugung verwendet. Dieses TOTP-Token wird dann zurückgegeben.A Nitrokey Pro 2 or OnlyKey is a USB security module for processing specific cryptographic tasks. This can be used, among other things, for the administration and use of OTP keys. Up to 24 OTP keys can be managed simultaneously on the Nitrokey Pro 2. These are stored in so-called slots. When requesting a TOTP token, the slot is specified. Depending on the selected slot, the associated OTP key used for TOTP token generation. This TOTP token is then returned.

Die vorliegende Erfindung wird nachfolgend anhand von Ausführungsbeispielen und Flussdiagrammen näher erläutert. Es zeigen:

Figur 1
einen prinzipiellen Ablauf des erfindungsgemäßen Verfahrens,
Figur 2
ein Blockschaltbild einer Durchflusssensoreinrichtung,
Figur 3
ein beispielhaftes Ablaufdiagramm eines Authentifizierungsverfahrens für einen Durchflusssensor gemäß Figur 2,
Figur 4
ein Blockschaltbild einer Kransteuerung,
Figur 5
ein beispielhaftes Ablaufdiagramm eines Authentifizierungsverfahrens für eine Kransteuerung gemäß Figur 4, und
Figur 6
den bereits eingangs beschriebenen, prinzipiellen Ablauf eines bekannten OCRA-Authentifizierungsverfahrens.
The present invention is explained in more detail below using exemplary embodiments and flowcharts. Show it:
figure 1
a basic sequence of the method according to the invention,
figure 2
a block diagram of a flow sensor device,
figure 3
an exemplary flow chart of an authentication method for a flow sensor according to FIG figure 2 ,
figure 4
a block diagram of a crane control,
figure 5
an exemplary flow chart of an authentication method for a crane controller according to FIG. 4, and
figure 6
the basic process of a known OCRA authentication method already described at the beginning.

Das in Figur 1 dargestellte Flussdiagramm zeigt exemplarisch einen möglichen Ablauf zur Authentifizierung von Interaktionen in einem auf Mikrocontroller- und/oder FPGA-basierenden Gerät oder einer Vorrichtung, wie es insbesondere bei eingebetteten Systemen und/oder Flammenwächtern zum Einsatz kommen kann. Wesentlich ist dabei, dass dieses Verfahren zur Authentifizierung mit einem herkömmlichen TOTP-Modul ausgeführt wird, jedoch voraussetzungsgemäß von einer Systemzeit unabhängig ist.This in figure 1 The flowchart shown shows an example of a possible process for authenticating interactions in a microcontroller- and/or FPGA-based device or device, as can be used in embedded systems and/or flame detectors in particular. It is essential that this method for authentication is carried out with a conventional TOTP module, but is independent of a system time as required.

Dabei kann das TOTP-Modul in die Vorrichtung oder das Gerät softwaremäßig implementiert sein oder als Hardware-Dongle in das Gerät oder die Vorrichtung eingesteckt sein.The TOTP module can be implemented in software in the device or device or plugged into the device or device as a hardware dongle.

Das in Figur 1 skizzierte Verfahren kann als Single-Faktor-(Option B) oder als Teil einer Multi-Faktor-Authentifizierung, hier einer 2FA (Option A) realisiert sein.This in figure 1 The procedure outlined can be implemented as a single-factor (option B) or as part of a multi-factor authentication, here a 2FA (option A).

Der zeitliche Verlauf des Authentifizierungsverfahrens in Figur 1 stellt sich folgendermaßen dar:
Dabei wird vorausgesetzt, dass ein anfragendes Gerät 10 mit einem beglaubigenden Gerät 30 kommuniziert. Das anfragende Gerät 10 verfügt hierbei über eine Schnittstelle, an die ein sogenannter TOTP-Generator 12 angeschlossen werden kann. Dieser TOTP-Generator 12 kann beispielsweise in einem Hardware-Dongle realisiert sein. Im Allgemeinen ist ein solcher Hardware-Dongle als USB-Stick ausgebildet. Das beglaubigende Gerät 30 weist ebenfalls einen TOTP-Generator 32 auf. Dieser ist vorzugsweise softwaremäßig in das beglaubigende Gerät 30 implementiert. Um ein Authentifizierungsverfahren zwischen dem anfragenden Gerät 10 und dem beglaubigenden Gerät 30 durchzuführen, ist in dem anfragenden Gerät 10 und in dem beglaubigenden Gerät 30 jeweils ein sogenanntes Shared-Secret S abgespeichert. Im anfragenden Gerät 10 ist dieses Shared-Secret S vorzugsweise in dem ansteckbaren TOTP-Generator 12, also vorzugsweise in dem erwähnten Hardware-Dongle, gespeichert. Folgende Verfahrensschritte werden durchgeführt.

  • 1a (nur A) - Authentifizierungs-Anfrage des anfragenden Geräts 10 mit Zugangsdaten:
    Das anfragende Gerät 10 stellt über einen beliebigen Kommunikationskanal, der drahtgebunden oder drahtlos ausgebildet sein kann, eine Authentifizierungs-Anfrage an das beglaubigende Gerät 30. Ebenfalls ist eine Authentifizierungs-Anfrage via Direkteingabe, z.B. über eine Tastatur oder einen Bildscanner oder Ähnlichem am beglaubigenden Gerät 30 möglich. Die Authentifizierungs-Anfrage beinhaltet Zugangsdaten Z, z.B. aber nicht darauf begrenzt: ein Passwort, Nutzername und Passwort, Zertifikat oder Smart-card usw..
  • 1b (nur A) - Prüfung der Zugangsdaten des anfragenden Geräts 10:
    Das beglaubigende Gerät 30 prüft die Validität der erhaltenen Zugangsdaten Z.
  • 1 (nur B) - Authentifizierungs-Anfrage des anfragenden Geräts:
    Das anfragende Gerät 10 stellt über einen beliebigen Kommunikationskanal, der ebenfalls drahtgebunden oder drahtlos sein kann, eine Authentifizierungs-Anfrage TOTP an das beglaubigende Gerät 30. Ebenfalls ist eine Authentifizierungs-Anfrage via Direkteingabe am beglaubigenden Gerät 30 möglich.
  • 2 - Erzeugung der vorgebbaren Information R auf dem beglaubigenden Gerät:
    Das beglaubigende Gerät 30 generiert eine vorgebbare Informationen R, z. B. einen Zufallswert, im Wertebereich des TOTP-Verfahrens. Anstatt der Generierung einer vorgebbaren Information R können ebenfalls vordefinierte, andere Informationen, z.B. Zahlenwerte aus einer Liste genutzt werden. Eine Kombination aus Beidem ist ebenso möglich.
  • 3 - Übertragung der vorgebbaren Information R zum anfragenden Gerät 10:
    Die vorgebbare Information R muss, über einen beliebigen Kommunikationskanal an das anfragende Gerät 10 übertragen werden. Dies kann über eine Antwort auf die Authentifizierungs-Anfrage oder mit einer eigenen Anfrage an das anfragende Gerät 10 umgesetzt werden. Ebenso ist eine optische Ausgabe auf dem beglaubigenden Gerät 30 möglich. Diese muss dem anfragenden Gerät 10 durch Eingabe oder Abscannen übergeben werden.
  • 4 - Anfrage an den TOTP-Generator des anfragenden Gerätes 10:
    Das anfragende Gerät 10 stellt eine TOTP-Anfrage mit der vorgebbaren Information R (RTOTP-Anfrage) als fiktiven Zeitstempel an den TOTP-Generator 12. Die Anfrage wird an einen extern durch Einstecken in einen entsprechenden Steckanschluss in das anfragende Gerät 10 angebundenen TOTP-Generator 12, insbesondere einen Hardware-Dongle, weitergegeben. Anstelle eines einsteckbaren Hardware-Dongles kann der TOTP-Algorithmus im anfragenden Gerät 10 auch mittels einer Software-Implementierung realisiert sein.
  • 5 - Berechnung des R'TOTP
    Durchführung der TOTP Berechnung mit der vorgebbaren Information R auf dem TOTP-Generator 12 entsprechend der Anfrage. Diese Berechnung kann von dem Hardware-Dongle oder einer Software-Implementierung umgesetzt werden.
  • 6 - Antwort des TOTP-Generators 12:
    Das anfragende Gerät 10 erhält die R'TOTP-Antwort des TOTP-Generators 12. Das im TOTP-Generator 12 errechnete Ergebnis ist ein Hash-Wert, der als trunkierter Hash-Wert R'TOTP an das anfragende Gerät 10 weitergegeben wird.
  • 7 - Übertragung der R'TOTP-Antwort zum beglaubigenden Gerät 30:
    Die R'TOTP-Antwort muss, über einen beliebigen Kommunikationskanal an das beglaubigende Gerät 30 übertragen werden. Ebenso ist eine direkte Eingabe der R'TOTP-Antwort am beglaubigenden Gerät 30 möglich, sofern keine Verbindung zwischen anfragendem Gerät 10 und beglaubigendem Gerät 30 besteht.
  • 8 - Berechnung des Vergleichswerts auf dem beglaubigenden Gerät 30:
    Für die Durchführung des Vergleichs der empfangenen R'TOTP-Antwort muss das beglaubigende Gerät 30 selbst ebenfalls eine RTOTP-Antwort basierend auf zuvor erzeugter vorgebbarer Information R berechnen. Die Berechnung des Vergleichswerts kann zu einem beliebigen Zeitpunkt nach Schritt 2 und vor Schritt 9 durchgeführt werden.
  • 9 - Vergleich der RTOTP-Antworten:
    Abschließend muss das beglaubigende Gerät 30 die empfangene R'TOTP-Antwort mit der selbst berechneten RTOTP-Antwort vergleichen. Nur wenn diese identisch sind, ist die Prüfung der R'TOTP-Antwort erfolgreich.
  • 10 - Übertragung vom Authentifizierungsstatus:
    • Das beglaubigende Gerät 30 überträgt den Status des Authentifizierungsvorgangs, ob dieser erfolgreich war oder fehlgeschlagen ist, an das anfragende Gerät 10.
    • Der Authentifizierungsvorgang ist erfolgreich, wenn die Prüfung der RTOTP-Antwort aus Schritt 9 erfolgreich war und bei Option A zusätzlich die Prüfung der Validität der Zugangsdaten Z ergeben hat, dass die Zugangsdaten valide sind. War der gesamte Authentifizierungsvorgang erfolgreich, wird die angefragte Interaktion durchgeführt, andernfalls nicht freigegeben und gesperrt.
The time course of the authentication method in Figure 1 is as follows:
It is assumed that a requesting device 10 communicates with an authenticating device 30 . The requesting device 10 has an interface to which a so-called TOTP generator 12 can be connected. This TOTP generator 12 can be implemented in a hardware dongle, for example. Such a hardware dongle is generally designed as a USB stick. The notarizing device 30 also has a TOTP generator 32 . This is preferably implemented in software in the authenticating device 30 . In order to carry out an authentication method between the requesting device 10 and the authenticating device 30 , a so-called shared secret S is stored in the requesting device 10 and in the authenticating device 30 . In the requesting device 10, this shared secret S is preferably stored in the pluggable TOTP generator 12, ie preferably in the hardware dongle mentioned. The following process steps are carried out.
  • 1a (A only) - authentication request from the requesting device 10 with access data:
    The requesting device 10 sends an authentication request to the notarizing device 30 via any communication channel, which can be wired or wireless. There is also an authentication request via direct input, e.g. via a keyboard or an image scanner or the like on the notarizing device 30 possible. The authentication request includes access data Z, e.g. but not limited to: a password, username and password, certificate or smart card, etc.
  • 1b (A only) - Checking the access data of the requesting device 10:
    The authenticating device 30 checks the validity of the access data Z received.
  • 1 (B only) - authentication request from the requesting device:
    The requesting device 10 sends an authentication request TOTP to the authenticating device 30 via any communication channel, which can also be wired or wireless. An authentication request via direct entry at the authenticating device 30 is also possible.
  • 2 - Generation of the predeterminable information R on the authenticating device:
    The authenticating device 30 generates a predetermined information R, z. B. a random value in the value range of the TOTP procedure. Instead of generating predeterminable information R, other predefined information, for example numerical values from a list, can also be used be used. A combination of both is also possible.
  • 3 - Transmission of the predeterminable information R to the requesting device 10:
    The information R that can be specified must be transmitted to the requesting device 10 via any communication channel. This can be implemented via a response to the authentication request or with a separate request to the requesting device 10. Optical output on the notarizing device 30 is also possible. This must be passed to the requesting device 10 by entering or scanning.
  • 4 - Request to the TOTP generator of the requesting device 10:
    The requesting device 10 makes a TOTP request with the predefinable information R (RTOTP request) as a fictitious time stamp to the TOTP generator 12. The request is connected to an external TOTP generator by plugging it into a corresponding plug-in connection in the requesting device 10 12, in particular a hardware dongle. Instead of a hardware dongle that can be plugged in, the TOTP algorithm can also be implemented in the requesting device 10 by means of a software implementation.
  • 5 - Calculation of the R'TOTP
    Implementation of the TOTP calculation with the predeterminable information R on the TOTP generator 12 according to the request. This calculation can be performed by the hardware dongle or a software implementation.
  • 6 - TOTP Generator 12 Response:
    The requesting device 10 receives the R'TOTP response from the TOTP generator 12. The result calculated in the TOTP generator 12 is a hash value which is forwarded to the requesting device 10 as a truncated hash value R'TOTP.
  • 7 - Transmission of the R'TOTP response to the notarizing device 30:
    The R'TOTP response must be transmitted to the notarizing device 30 over any communication channel. A direct input of the R'TOTP answer on the authenticating device 30 is also possible if there is no connection between the requesting device 10 and the authenticating device 30 .
  • 8 - Calculation of the comparison value on the notarizing device 30:
    In order to carry out the comparison of the received R'TOTP response, the authenticating device 30 itself must also calculate an RTOTP response based on predeterminable information R generated beforehand. The comparison value can be calculated at any time after step 2 and before step 9.
  • 9 - Comparison of RTOTP responses:
    Finally, the notarizing device 30 must compare the received R'TOTP response with the self-calculated RTOTP response. The check of the R'TOTP response is only successful if these are identical.
  • 10 - Transmission of authentication status:
    • The authenticating device 30 transmits the status of the authentication process, whether it was successful or failed, to the requesting device 10.
    • The authentication process is successful if the check of the RTOTP response from step 9 was successful and, in the case of option A, the check of the validity of the access data Z has also shown that the access data are valid. If the entire authentication process was successful, the requested interaction is carried out, otherwise not released and blocked.

Anhand der Darstellung der prinzipiellen Wirkungsweise des erfindungsgemäßen Authentifizierungsverfahrens werden dessen Vorteile klar. Es muss lediglich beim anfragenden Gerät 10 und bei dem beglaubigendem Gerät 30 ein gemeinsames Shared-Secret S bekannt, vorzugsweise gespeichert, sein. Dieses Shared-Secret S ist dabei vorzugsweise nicht auslesbar abgelegt. Des Weiteren wird eine vorgebbare Information R, z.B. ein generierter Zufallswert oder ein Zufallswert aus einer Liste, beim anfragenden Gerät 10 eingegeben und mit einem herkömmlichen TOTP-Generator 12 in einen trunkierten Hash-Wert R'TOTP umgerechnet. Das beglaubigende Gerät 30, das die vorgebbare Information voraussetzungsgemäß ebenfalls kennt, errechnet seinerseits mit dem dort vorhandenen TOTP-Modul 32 einen eigenen trunkierten Hash-Wert RTOTP. Bei Übereinstimmung der beiden trunkierten Hash-Werte ist die Authentifizierung über die TOTP-Module 12, 32 erfolgreich.The advantages of the authentication method according to the invention become clear on the basis of the representation of the principle mode of operation of the authentication method. Only the requesting device 10 and the authenticating device 30 need to know a common shared secret S, preferably stored. This shared secret S is preferably stored in a non-readable manner. Furthermore, predeterminable information R, e.g. a generated random value or a random value from a list, is entered at the requesting device 10 and converted into a truncated hash value R′TOTP using a conventional TOTP generator 12 . The authenticating device 30, which also knows the predeterminable information as required, calculates its own truncated hash value RTOTP using the TOTP module 32 present there. If the two truncated hash values match, the authentication via the TOTP modules 12, 32 is successful.

Anhand der Figuren 2 und 3 wird ein konkretes Ausführungsbeispiel des erfindungsgemäßen Verfahrens anhand eines Sensors, wie zum Beispiel eines Durchflusssensors, der in einer Pipeline zur Durchflussmessung Anwendung findet, erläutert. Anstelle eines Durchflusssensors könnte aber auch ein anderer Sensor, insbesondere ein Flammenwächter oder Ähnliches, eine mögliche Anwendung sein, bei der das erfindungsgemäße Verfahren eingesetzt wird. Ein solcher Flammenwächter dient beispielsweise zur Erkennung, ob in einem Brenner eine Flamme vorhanden ist oder nicht.Based on figures 2 and 3 a specific exemplary embodiment of the method according to the invention is illustrated using a sensor such as a flow sensor used in a flow measurement pipeline. However, instead of a flow sensor, another sensor, in particular a flame detector or the like, could also be a possible application in which the method according to the invention is used. Such a flame monitor is used, for example, to detect whether there is a flame in a burner or not.

Bei solchen Sensoren ist es zwingend erforderlich, dass nur geschultes und berechtigtes Personal Zugriff auf diese Sensoren haben. Dies gilt insbesondere für die Wartung, Überwachung, Parametrisierung, Konfiguration, das Updaten und das Steuern dieser Sensoren. Das erfindungsgemäße Verfahren ist hier bestens geeignet.With such sensors, it is imperative that only trained and authorized personnel have access to these sensors. This applies in particular to the maintenance, monitoring, parameterization, configuration, updating and control of these sensors. The method according to the invention is ideally suited here.

Um z.B. eine korrekte Abrechnung der durchgeleiteten Flüssigkeitsmenge durchführen zu können, muss der Durchflusssensor korrekt konfiguriert und kalibriert sein. Eine manipulierte Kalibrierung bzw. Durchflussmessung kann erheblichen wirtschaftlichen Schaden verursachen. Hierfür ist es zwingend notwendig, den Zugriff auf den Durchflusssensor abzusichern und nur dazu berechtigten Personen zu erlauben.For example, in order to be able to correctly bill the amount of liquid passed through, the flow sensor must be correctly configured and calibrated. A manipulated calibration or flow measurement can cause considerable economic damage. To do this, it is imperative to secure access to the flow sensor and only allow authorized persons.

Das Blockschaltbild einer Durchflusssensoreinrichtung zeigt Figur 2. Es zeigt einen Durchflusssensor 50, der z.B. unmittelbar an einer nicht dargestellten Pipeline montiert ist, um dort die Durchflussmenge zu erfassen. Entfernt hiervon - beispielsweise in einer Zentrale eines Wasserwerkes - befindet sich ein Terminal 52 oder ein PC, über das beispielsweise drahtlos (z.B. eine WLAN-Verbindung) eine Verbindung zu dem Durchflusssensor hergestellt werden kann. An dem Terminal 52 befindet sich hierfür ein Steckplatz, an dem von einer Bedienperson ein Hardware-Dongle 54 mit einem integrierten TOTP-Generator eingesteckt werden kann.The block diagram of a flow sensor device shows figure 2 . It shows a flow sensor 50 which, for example, is mounted directly on a pipeline (not shown) in order to record the flow rate there. Away from this, for example in a control center of a waterworks, there is a terminal 52 or a PC, via which a connection to the flow sensor can be established wirelessly (for example a WLAN connection). At Terminal 52 there is a slot for this, into which a hardware dongle 54 with an integrated TOTP generator can be plugged in by an operator.

Im genannten Beispiel erfolgt keine Anmeldung des Anwenders oder der Bedienperson am Terminal 52, sondern eine Anmeldung des Anwenders über das erfindungsgemäße Verfahren direkt an dem Durchflusssensor 50. Dabei stellt der Durchflusssensor 50 selbst im Sinne der vorliegenden Erfindung das beglaubigende Gerät und das Terminal 52 das anfragende Gerät dar. Der Servicetechniker hat Zugriff auf das Terminal 52 und steckt einen für den jeweiligen Durchflusssensor 50 konfigurierten Hardware-Dongle 54 in das Terminal 52 ein. Das Terminal 52 baut nun, vorzugsweise nach einer vorherigen Abfrage einer PIN des Anwenders für den Hardware-Dongle 54 eine Verbindung zum Durchflusssensor 50 auf. Nur wenn das zuvor gespeicherte, gemeinsame Shared-Secret S auf beiden Seiten bekannt ist und somit der RTOTP-Token auf beiden Seiten identisch berechnet wird, kann eine Anmeldung des Anwenders aus Terminal 52 und somit eine Konfiguration bzw. Kalibrierung des Durchflusssensors 50 erfolgen.In the example mentioned, the user or the operator does not log on to the terminal 52, but the user logs on directly to the flow sensor 50 using the method according to the invention. The flow sensor 50 itself is the authenticating device and the terminal 52 is the requesting device within the meaning of the present invention device. The service technician has access to the terminal 52 and inserts a hardware dongle 54 configured for the respective flow sensor 50 into the terminal 52 . The terminal 52 now establishes a connection to the flow sensor 50, preferably after a previous request for a PIN from the user for the hardware dongle 54. Only when the previously stored, common shared secret S is known on both sides and the RTOTP token is therefore calculated identically on both sides, can the user register from the terminal 52 and thus configure or calibrate the flow sensor 50 .

Die Berechnung des RTOTP-Tokens erfolgt dabei auf Seiten des Terminals 52 im dort eingesteckten Hardware-Dongle 54. Entsprechend ist also keine feste Zuweisung eines bestimmten Terminals 52 an einen Durchflusssensor 50 notwendig. Auch ist ein Abhandenkommen bzw. Diebstahl des Terminals 52 kein kritischer Vorfall, da dabei keinerlei Authentifizierungsdaten zur Anmeldung am Durchflusssensor 50 entwendet werden können und somit keine unerlaubte Konfiguration des Durchflusssensors 50 allein mit dem Terminal 52 möglich ist.The RTOTP token is calculated on the part of the terminal 52 in the hardware dongle 54 plugged in there. Correspondingly, no fixed assignment of a specific terminal 52 to a flow sensor 50 is necessary. The loss or theft of the terminal 52 is also not a critical incident, since no authentication data for logging on to the flow sensor 50 can be stolen and therefore no unauthorized configuration of the flow sensor 50 is possible with the terminal 52 alone.

Über eine sequenzielle Prüfung der weiteren Verfügbarkeit des Hardware-Dongles 54 am Sensorterminal 52 kann zudem gewährleistet werden, dass eine Konfiguration/Kalibrierung nur möglich ist, wenn der Hardware-Dongle 54 eingesteckt ist. Wird der Hardware-Dongle 54 entfernt, erfolgt eine Abmeldung des Anwenders vom Durchflusssensor 50.A sequential check of the further availability of the hardware dongle 54 at the sensor terminal 52 can also ensure that a configuration/calibration is only possible when the hardware dongle 54 is plugged in. If the hardware dongle 54 is removed, the user is logged off from the flow sensor 50.

Legt der Anwender beispielsweise eine Pause ein, nimmt er den Hardware-Dongle 54 mit. Eine unberechtigte Konfiguration ist somit auch bei ungeschütztem Zugriff auf das Terminal 52 nicht möglich. Allerdings ist ein unbefugter Zugriff zum Hardware-Dongle 54 zu vermeiden. Somit wird ein physikalischer und physischer Schlüssel in Form des Hardware-Dongles 54 zur Anmeldung an einer digitalen Schnittstelle genutzt.If the user takes a break, for example, he takes the hardware dongle 54 with him. An unauthorized configuration is therefore not possible even with unprotected access to the terminal 52. However, unauthorized access to the hardware dongle 54 should be avoided. A physical and physical key in the form of the hardware dongle 54 is thus used to register at a digital interface.

Der Funktionsablauf im Einzelnen stellt sich anhand von Fig. 3 wie folgt dar.The functional sequence in detail is based on 3 as follows.

In Fig. 3 ist beispielhaft der Ablauf der Kommunikation zur Authentifizierung in zeitlicher Reihenfolge dargestellt. Der Durchflusssensor 50 kommuniziert hierfür drahtlos oder drahtgebunden mit einem Terminal 52, an das ein Hardware-Dongle 54 eines Benutzers bzw. Anwenders 56 einsteckbar ist. Dieser Hardware-Dongle 54 verfügt intern über einen TOTP-Generator, in welchem ein Shared-Secret S gespeichert ist. Dieses Shared-Secret S ist auch im Durchflusssensor 50 hinterlegt. Der Durchflusssensor 50 verfügt intern ebenfalls über einen TOTP-Generator, der in Form eines TOTP-Moduls, das softwaremäßig implementiert sein kann, realisiert ist.In 3 is an example of the flow of communication for authentication in chronological order. For this purpose, the flow sensor 50 communicates wirelessly or by wire with a terminal 52 into which a hardware dongle 54 of a user or user 56 can be plugged. This hardware dongle 54 has an internal TOTP generator in which a shared secret S is stored. This shared secret S is also stored in the flow sensor 50 . The flow sensor 50 also has an internal TOTP generator that is implemented in the form of a TOTP module that can be implemented in software.

Es wird angenommen, dass der Anwender 56 Daten aus dem Durchflusssensor 50 auslesen will. Hierfür muss sich der Anwender 56 legitimieren, dass er für dieses Auslesen auch berechtigt ist. Hierfür dient das bereits erfindungsgemäße Authentifizierungsverfahren.It is assumed that the user 56 wants to read data from the flow sensor 50 . For this purpose, the user 56 must legitimize that he is also authorized for this readout is. The authentication method according to the invention is already used for this.

In einem ersten Schritt 300 steckt der Anwender 56 seinen Hardware-Dongle 54 in das Sensorterminal 52 ein. Beim Einstecken dieses Hardware-Dongle 54 wird in einem darauffolgenden Schritt 302 ein Konfigurationsbefehl an das Sensorterminal 52 gesandt. Das Sensorterminal 52 wartet im Schritt 304 auf einen solchen Konfigurationsbefehl. Sobald dieser Konfigurationsbefehl eingegangen ist, sendet im Schritt 306 das Sensorterminal 52 eine Authentisierungsanfrage an den Durchflusssensor 50. Im Schritt 308 wird im Durchflusssensor 50 eine RTOTP-Anfrage erzeugt und das Sensorterminal 52 angefragt. Im Sensorterminal 52 wird auf diese Anfrage im Schritt 310 gewartet. Bei der RTOTP-Anfrage vom Durchflusssensor 50 zum Sensorterminal 52 wird eine im Durchflusssensor 50 bereitgestellte vorgebbare Information R, die beispielsweise als Zufallswert generiert oder aus einer zuvor abgelegten Liste von Werten abgeleitet sein kann, dem Sensorterminal 52 mitgeteilt. Im Schritt 310 erfährt also das Sensorterminal 52 die vorgebbare Information R für die spätere Berechnung eines zugehörenden Hash-Wertes bzw. trunkierten Hash-Wertes. Im darauffolgenden Schritt 312 stellt das Sensorterminal 52 eine RTOTP-Anfrage an den Hardware-Dongle 54, bei dem als fiktiver Zeitstempel die vorgebbare Information R dem TOTP-Generator im Hardware-Dongle 54 zur Verfügung gestellt wird.In a first step 300 the user 56 inserts his hardware dongle 54 into the sensor terminal 52 . When this hardware dongle 54 is plugged in, a configuration command is sent to the sensor terminal 52 in a subsequent step 302 . In step 304, the sensor terminal 52 waits for such a configuration command. As soon as this configuration command has been received, in step 306 the sensor terminal 52 sends an authentication request to the flow sensor 50. In step 308 an RTOTP request is generated in the flow sensor 50 and the sensor terminal 52 is queried. This request is awaited in step 310 in the sensor terminal 52 . In the RTOTP request from the flow sensor 50 to the sensor terminal 52 , information R that is provided in the flow sensor 50 and that can be specified as a random value, for example, or can be derived from a previously stored list of values, is communicated to the sensor terminal 52 . In step 310, the sensor terminal 52 learns the predefinable information R for the later calculation of an associated hash value or truncated hash value. In the subsequent step 312, the sensor terminal 52 sends an RTOTP request to the hardware dongle 54, in which the predefinable information R is made available to the TOTP generator in the hardware dongle 54 as a fictitious time stamp.

Um das Authentifizierungsverfahren noch sicherer zu gestalten, wird gemäß Fig. 3 eine zusätzliche Authentisierung beim Hardware-Dongle durchgeführt. Hierfür muss sich der Anwender 56 bei dem Hardware-Dongle mit einer PIN-Eingabe als berechtigte Person identifizieren. Dies erfolgt im Schritt 314. Der Anwender wird aufgefordert, eine PIN einzugeben. Anstelle einer solchen PIN-Eingabe kann auch das Einstecken einer Smart-Card, das Auflegen eines Fingers auf einen geeigneten Fingerprintsensor oder Ähnliches erforderlich sein. Im Schritt 316 gibt der Anwender 56 eine PIN ein. Im Hardware-Dongle 54 wird auf diese Eingabe im Schritt 318 gewartet. Sobald die PIN-Eingabe durch den Anwender 56 erfolgt ist, wird im Schritt 320 überprüft, ob die PIN-Eingabe korrekt war oder nicht. Ist die PIN-Eingabe nicht korrekt gewesen, erfolgt im Schritt 322 eine Fehlermeldung, die vom Hardware-Dongle 54 an das Sensorterminal 52 übertragen wird. Ist dagegen die PIN-Eingabe im Schritt 320 korrekt gewesen, erfolgt im Schritt 324 eine Berechnung des trunkierten Hash-Wertes R'TOTP. Dieser Wert wird im Schritt 324 an das Sensorterminal 52 übertragen. Dort wird im Schritt 326 auf die R'TOTP-Antwort gewartet.In order to make the authentication process even more secure, 3 additional authentication is carried out with the hardware dongle. For this purpose, the user 56 must identify himself as an authorized person on the hardware dongle by entering a PIN. This is done in step 314. The user is prompted to enter a PIN. Instead of such a PIN entry, it is also possible to insert a smart card, it may be necessary to place a finger on a suitable fingerprint sensor or similar. In step 316, the user 56 enters a PIN. The hardware dongle 54 waits for this input in step 318 . As soon as the PIN has been entered by the user 56, it is checked in step 320 whether the PIN input was correct or not. If the PIN input was not correct, an error message occurs in step 322, which is transmitted from the hardware dongle 54 to the sensor terminal 52. If, on the other hand, the PIN input in step 320 was correct, in step 324 the truncated hash value R′TOTP is calculated. This value is transmitted to the sensor terminal 52 in step 324 . There, in step 326, the R'TOTP response is awaited.

Das Sensorterminal 52 stellt im Schritt 328 fest, ob zuvor im Schritt 326 eine Fehlermeldung oder eine R'TOTP-Antwort eingegangen ist. Ist eine Fehlermeldung eingegangen, erfolgt in einem darauffolgenden Schritt 330 eine Fehlermeldung und ein Konfigurieren beziehungsweise ein Auslesen des Durchflusssensors 50 wird blockiert.The sensor terminal 52 determines in step 328 whether an error message or an R'TOTP response was previously received in step 326 . If an error message has been received, an error message occurs in a subsequent step 330 and a configuration or a reading of the flow sensor 50 is blocked.

Ist dagegen im Schritt 328 erkannt worden, dass keine Fehlermeldung vorliegt, sondern eine R'TOTP-Antwort eingegangen ist, so wird in einem darauffolgenden Schritt 332 diese R'TOTP-Antwort an den Durchflusssensor 50 gesendet. Im Durchflusssensor 50 hat zuvor in einem internen Rechenschritt 309 eine interne Berechnung eines eigenen trunkierten Hash-Wertes RTOTP stattgefunden. Hierfür wird ein herkömmlicher TOTP-Generator im Durchflusssensor 50 eingesetzt, dem anstelle eines Zeitstempels genau diejenige vorgebbare Information R zur Verfügung gestellt wird, die zuvor im Schritt 308 auch an das Sensorterminal 52 gesandt wurde. Im TOTP-Generator des Durchflusssensors 50 wird hieraus ein trunkierter Hash-Wert RTOTP berechnet. Im Schritt 334 wird auf die R'TOTP-Antwort des Sensorterminals 52 gewartet. Sobald eine solche R'TOTP-Antwort vom Sensorterminal 52 beim Durchflusssensor 50 eingeht, wird dort im Schritt 336 die R'TOTP-Antwort des Sensorterminals 53 mit dem berechneten RTOTP-Wert gemäß Schritt 309 im Durchflusssensor 50 verglichen. Dieser Vergleich findet im Schritt 336 statt. Anschließend erfolgt im Schritt 338 eine Entscheidung, ob der Vergleich der beiden Werte korrekt war oder nicht. Ergibt der Vergleich in Schritt 338, dass die beiden Werte nicht korrekt sind, wird im Schritt 340 ein Fehler an das Sensorterminal 52 gesandt. Im Schritt 342 wartet hierfür das Sensorterminal 52 auf eine Antwort vom Durchflusssensor 50. Ist dagegen der Vergleich positiv, das heißt, dass die Werte R'TOTP, berechnet im Sensorterminal 52, und RTOTP, berechnet im Durchflusssensor 50, identisch sind, so wird im Schritt 344 an das Sensorterminal 52 eine Bestätigung der Authentifizierung, das heißt eine korrekte Authentifizierung, mitgeteilt.If, on the other hand, it has been recognized in step 328 that there is no error message but rather an R'TOTP response has been received, then in a subsequent step 332 this R'TOTP response is sent to the flow sensor 50 . An internal calculation of a separate truncated hash value RTOTP has previously taken place in the flow sensor 50 in an internal calculation step 309 . For this purpose, a conventional TOTP generator is used in the flow sensor 50, which, instead of a time stamp, is provided with exactly that predeterminable information R that was previously also sent to the sensor terminal 52 in step 308. In the TOTP generator of the flow sensor A truncated hash value RTOTP is calculated from this. In step 334, the R'TOTP response from the sensor terminal 52 is awaited. As soon as such an R'TOTP response from the sensor terminal 52 arrives at the flow sensor 50, the R'TOTP response from the sensor terminal 53 is compared there in step 336 with the calculated RTOTP value according to step 309 in the flow sensor 50. This comparison takes place in step 336. A decision is then made in step 338 as to whether or not the comparison of the two values was correct. If the comparison in step 338 shows that the two values are not correct, an error is sent to the sensor terminal 52 in step 340 . In step 342, the sensor terminal 52 waits for a response from the flow sensor 50. If, on the other hand, the comparison is positive, i.e. the values R'TOTP calculated in the sensor terminal 52 and RTOTP calculated in the flow sensor 50 are identical, then in the Step 344 communicated to the sensor terminal 52 a confirmation of the authentication, ie a correct authentication.

Im Sensorterminal 52 wird abhängig von dem Vergleichsergebnis im Schritt 338 entschieden, ob die Authentifizierung erfolgreich war oder nicht. Dies erfolgt im Schritt 346. War die Authentifizierung der trunkierten Hash-Werte R'TOTP und RTOTP nicht erfolgreich, wird ein Fehler angezeigt und auf den Schritt 330 gesprungen. War die Authentifizierung der trunkierten Hash-Werte jedoch erfolgreich, wird im Schritt 348 ein Konfigurationsbefehl an den Durchflusssensor 50 gesandt, der im Schritt 350 hierauf wartet. Im Schritt 352 wird im Durchflusssensor 50 der Konfigurationsbefehl ausgelöst und gegebenenfalls signalisiert, dass eine positive Authentifizierung erfolgt ist. Ist dies der Fall, kann der Anwender 56 den Durchflusssensor 50 auslesen, konfigurieren, mit einem neuen Update versehen, parametrieren und so weiter.In the sensor terminal 52, depending on the comparison result in step 338, a decision is made as to whether the authentication was successful or not. This takes place in step 346. If the authentication of the truncated hash values R'TOTP and RTOTP was not successful, an error is displayed and step 330 is jumped to. However, if the authentication of the truncated hash values was successful, in step 348 a configuration command is sent to the flow sensor 50, which in step 350 waits for this. In step 352, the configuration command is triggered in the flow sensor 50 and, if necessary, it is signaled that a positive authentication has taken place. If this is the case, the user 56 can den Read out the flow sensor 50, configure it, provide it with a new update, parameterize it and so on.

Wenngleich im Zusammenhang mit Figur 3 und den Schritten 314 bis 320 auch eine PIN-Eingabe und damit eine zusätzliche Authentisierung des Anwenders beim Hardware-Dongle erfolgt, ist eine solche PIN-Eingabe lediglich optional. Es kann das beschriebene Verfahren ohne eine solche PIN-Eingabe erfolgen. Allerdings ist die Authentifizierung dann weniger sicher, insbesondere kann eine erfolgreiche Authentisierung mit einem entwendeten Hardware-Dongle nicht unterbunden werden.Although related to figure 3 and steps 314 to 320 also involve entering a PIN and thus additional authentication of the user with the hardware dongle, such a PIN entry is only optional. The method described can take place without such a PIN entry. However, the authentication is then less secure. In particular, successful authentication with a stolen hardware dongle cannot be prevented.

In einem zweiten Ausführungsbeispiel, das in den Figuren 4 und 5 illustriert ist, wird eine Kransteuerung 72 einer Kraneinheit 70 (beispielsweise einer Verladebrücke oder eines Gittermastkrans) vorgestellt. Dabei wird wiederum das erfindungsgemäße Verfahren zur Authentifizierung angewandt.In a second embodiment, in the figures 4 and 5 is illustrated, a crane controller 72 of a crane unit 70 (for example a loading bridge or a lattice boom crane) is presented. In this case, the method according to the invention for authentication is again used.

Folgende Bedingungen sollen in diesem Ausführungsbeispiel gelten. Die Steuerung der Kraneinheit 70 erfolgt per Funk. Es darf nur geschultes und berechtigtes Personal zum Aufbewahrungsort einer Fernbedienung der Kransteuerung 72 Zugang haben. Nur dieses berechtigte Personal hat auch Zugriff auf den zur Kraneinheit 70 gehörenden Hardware-Dongle 74. Voraussetzungsgemäß ist, dass in der Kraneinheit 70 und im Hardware-Dongle 74 ein gemeinsames Shared-Secret S gespeichert ist.The following conditions should apply in this exemplary embodiment. The crane unit 70 is controlled by radio. Only trained and authorized personnel may have access to the storage location of a remote control of the crane control 72. Only this authorized personnel also has access to the hardware dongle 74 belonging to the crane unit 70. It is a prerequisite that a common shared secret S is stored in the crane unit 70 and in the hardware dongle 74.

Üblicherweise erfolgt eine Anmeldung eines Bedieners immer mit einer Interaktion zwischen Mensch und Maschine. Dies ist häufig fehleranfällig oder wird vom Menschen unsicher umgesetzt. So erfolgt zum Beispiel keine Abmeldung am System, wenn eine Bedienung für eine kurze Zeit unterbrochen wird. Ähnlich wie an einem Windows-PC, an dem man beim Verlassen des Arbeitsplatzes eine Bildschirmsperre aktiviert, kann durch eine einfach zu verwendende Authentifizierungsmaßnahme die Cyber Security im Betrieb einer Kraneinheit, die ein Embedded-Umfeld darstellt, deutlich erhöht werden.Typically, an operator always logs on with an interaction between man and machine. This is often error-prone or is implemented unsafely by humans. For example, there is no logout from the system if an operation is interrupted for a short time. Similar to on a Windows PC, on which a screen lock is activated when leaving the workplace, the cyber security in the operation of a crane unit, which represents an embedded environment, can be significantly increased by an easy-to-use authentication measure.

Auch kann das Risiko eines funkbasierten Authentifizierungsangriffs auf die Steuerung der Kraneinheit 70 durch einen zweiten Authentifizierungsfaktor stark reduziert werden, da keine statischen Authentifizierungsdaten verwendet werden.The risk of a radio-based authentication attack on the control of the crane unit 70 can also be greatly reduced by a second authentication factor since no static authentication data is used.

Im vorliegenden Bespiel erfolgt keine Anmeldung des Kranführers 76 an der Fernbedienung der Kransteuerung 70. Vielmehr authentifiziert sich die Fernbedienung über das erfindungsgemäße Verfahren an der Kraneinheit 70. Hierfür hat der Kranführer 76 Zugriff auf die Fernbedienung und steckt einen für die jeweilige Kraneinheit 70 konfigurierten Hardware-Dongle 74 in die Fernbedienung der Kransteuerung 72 ein. Die Fernbedienung baut über das erfindungsgemäße Verfahren eine Verbindung zur Kraneinheit 70 auf. Nur wenn das Shared-Secret S auf beiden Seiten bekannt ist und somit die RTOTP-Antwort auf beiden Seiten identisch berechnet wird, kann eine Anmeldung der Fernbedienung der Kransteuerung 70 und somit eine Steuerung der Kraneinheit erfolgen. Die Berechnung der RTOTP-Antwort erfolgt dabei auf Seiten der Fernbedienung im Hardware-Dongle 74, das in die Fernbedienung eingesteckt werden muss. Entsprechend ist keine feste Zuweisung einer bestimmten Fernbedienung an eine Kraneinheit 70 notwendig. Auch ist ein Abhandenkommen bzw. Diebstahl der Fernbedienung kein kritischer Vorfall mehr, da keinerlei Authentifizierungsdaten zur Anmeldung an einer Kraneinheit 70 in der Fernbedienung vorhanden sind und somit keine böswillige Steuerung einer Kraneinheit mehr möglich ist. Allerdings muss auf den Hardware-Dongle 74 geachtet bzw. dessen Verlust vermieden werden.In the present example, the crane driver 76 does not log on to the remote control of the crane controller 70. Instead, the remote control authenticates itself to the crane unit 70 using the method according to the invention. For this purpose, the crane driver 76 has access to the remote control and inserts a hardware Dongle 74 into the remote control of the crane control 72. The remote control establishes a connection to the crane unit 70 via the method according to the invention. Only when the shared secret S is known on both sides and the RTOTP response is therefore calculated identically on both sides can the remote control of the crane controller 70 be registered and thus the crane unit controlled. The RTOTP response is calculated on the part of the remote control in the hardware dongle 74, which must be plugged into the remote control. Correspondingly, no fixed assignment of a specific remote control to a crane unit 70 is necessary. The loss or theft of the remote control is also no longer a critical incident, since the remote control does not contain any authentication data for logging on to a crane unit 70 and therefore none malicious control of a crane unit is no longer possible. However, attention must be paid to the hardware dongle 74 or its loss must be avoided.

Über eine sequenzielle Prüfung der weiteren Verfügbarkeit des Hardware-Dongles 74 an der Fernbedienung kann zudem gewährleistet werden, dass eine Kransteuerung nur möglich ist, wenn der Hardware-Dongle 74 in die Fernbedienung gesteckt ist. Wird der Hardware-Dongle 74 entfernt, erfolgt vorzugsweise automatisiert eine Abmeldung der Fernsteuerung von der Kraneinheit 70. Legt der Kranführer 76 beispielsweise eine Pause ein, nimmt er den Hardware-Dongle 74 mit. Eine unberechtigte Bedienung der Kraneinheit 70 ist somit, auch bei ungeschütztem Zugriff auf die Fernbedienung der Kransteuerung 72, nicht mehr möglich.A sequential check of the continued availability of the hardware dongle 74 on the remote control can also ensure that crane control is only possible if the hardware dongle 74 is plugged into the remote control. If the hardware dongle 74 is removed, the remote control logs off from the crane unit 70, preferably automatically. If the crane operator 76 takes a break, for example, he takes the hardware dongle 74 with him. Unauthorized operation of the crane unit 70 is therefore no longer possible, even with unprotected access to the remote control of the crane control 72.

In Figur 5 ist das Ablaufdiagramm einer Authentifizierung eines Kranführers 76 an einer Kraneinheit 70 im zeitlichen Verlauf dargestellt. Der Kranführer 76 soll dabei die Kraneinheit 70 über eine Kransteuerung 72 steuern. Die Kransteuerung 72 ist mit einem Hardware-Dongle 74 ausgestattet, der einen physikalischen und physischen Berechtigungsschlüssel für einen berechtigten Kranführer 76 darstellt. Im Hardware-Dongle 74 ist ein TOTP-Modul in Form eines TOTP-Generators integriert. Zusätzlich ist in dem Hardware-Dongle 74 ein Shared-Secret S gespeichert. Dieses Shared-Secret S ist auch in der Kraneinheit 70 gespeichert. In der Kraneinheit 70 ist auch ein TOTP-Generator integriert. Der Funktionsablauf, mit dem sich die Kransteuerung 72 legitimiert, um die Kraneinheit 70 bedienen zu dürfen, ist wie folgt:
Der Kranführer 76 steckt im Schritt 700 den Hardware-Dongle der Kransteuerung 72 an die Kransteuerung 72, z. B. die dafür vorgesehene Fernbedienung, ein. Darauf sendet im Schritt 702, der Kranführer 76 einen Steuerbefehl an die Kransteuerung 72. Im Schritt 704 wartet die Kransteuerung 72 auf einen solchen Steuerbefehl. Im darauffolgenden Schritt 706 sendet die Kransteuerung 72 eine Authentifizierungsanfrage an die Kraneinheit 70. Dort wird im Schritt 708 eine sogenannte RTOTP-Anfrage erzeugt, indem eine vorgegebene Information R, die beispielsweise zufällig generiert oder aus einer Liste von Werten entnommen werden kann, bereitgestellt wird. Diese vorgebbare Information R wird in Form einer RTOTP-Anfrage an die Kransteuerung 72 zurückübertragen, welche hierauf im Schritt 710 wartet. Im Schritt 712 wird in der Kransteuerung 72 aus dieser Anfrage und der übertragenen vorgebbaren Information R eine Anfrage erzeugt, welche als RTOTP-Anfrage an den Hardware-Dongle 74 gesandt wird. Im Schritt 714 wird im Hardware-Dongle 74 dann unter Verwendung der vorgebbaren Information R im dortigen TOTP-Generator eine R'TOTP-Antwort erzeugt und an die Kransteuerung 72 gesandt, die im Schritt 760 auf eine solche Antwort wartet. Im darauffolgenden Schritt 718 sendet die Kransteuerung 72 diese R'TOTP-Antwort, das heißt einen trunkierten Hash-Wert, an die Kraneinheit 70. Die Kraneinheit 70 wartet im Schritt 720 auf eine solche Antwort von der Kransteuerung 72. Zuvor ist in der Kraneinheit 70 in dem dortigen TOTP-Generator unter Verwendung der erwähnten vorgebbaren Information R im Schritt 709 eine RTOTP-Antwort errechnet worden. Dabei handelt es sich wiederum um einen trunkierten Hash-Wert. Im Schritt 722 erfolgt ein Vergleich des Wertes RTOTP der Kraneinheit 70 und des empfangenen Wertes R'TOTP der Kransteuerung 72 beziehungsweise des dort angeschlossenen Hardware-Dongles 74. Im Schritt 724 wird das Ergebnis des Vergleichs aus Schritt 722 ermittelt. Ergibt der Vergleich kein übereinstimmendes Ergebnis, wird im Schritt 726 ein Fehler an die Kransteuerung 52 gesendet, die im Schritt 728 auf eine Antwort der Kraneinheit 70 wartet. Zugleich wird im Schritt 730 auf ein Ergebnis der Authentifizierung gewartet und im Schritt 732 ein Fehler angezeigt, der signalisiert, dass der Vergleich zwischen den trunkierten Hash-Werten R'TOTP und RTOTP ein negatives Ergebnis brachte. Eine Steuerung der Kraneinheit 70 ist fehlgeschlagen und ist blockiert. Eine entsprechende Anzeige kann im Schritt 732 erfolgen.
In figure 5 the flow chart of an authentication of a crane operator 76 on a crane unit 70 is shown over time. The crane driver 76 is supposed to control the crane unit 70 via a crane controller 72 . The crane controller 72 is equipped with a hardware dongle 74 that represents a physical and physical authorization code for an authorized crane operator 76 . A TOTP module in the form of a TOTP generator is integrated in the hardware dongle 74 . In addition, a shared secret S is stored in the hardware dongle 74 . This shared secret S is also stored in the crane unit 70 . A TOTP generator is also integrated in the crane unit 70 . The function sequence with which the crane controller 72 legitimates itself in order to be allowed to operate the crane unit 70 is as follows:
In step 700, the crane operator 76 plugs the hardware dongle of the crane controller 72 into the crane controller 72, e.g. B. the one for it provided remote control, a. In step 702, the crane driver 76 then sends a control command to the crane controller 72. In step 704, the crane controller 72 waits for such a control command. In the subsequent step 706, the crane controller 72 sends an authentication request to the crane unit 70. There, in step 708, a so-called RTOTP request is generated by providing specified information R, which is randomly generated, for example, or can be taken from a list of values. This predeterminable information R is transmitted back to the crane controller 72 in the form of an RTOTP request, which waits for this in step 710 . In step 712, an inquiry is generated in the crane controller 72 from this inquiry and the transmitted predeterminable information R, which inquiry is sent to the hardware dongle 74 as an RTOTP inquiry. In step 714, an R'TOTP response is then generated in the hardware dongle 74 using the predefinable information R in the TOTP generator there and sent to the crane controller 72, which in step 760 waits for such a response. In the subsequent step 718, the crane controller 72 sends this R'TOTP response, i.e. a truncated hash value, to the crane unit 70. In step 720, the crane unit 70 waits for such a response from the crane controller 72. Before that, in the crane unit 70 an RTOTP response has been calculated in step 709 in the TOTP generator there using the aforementioned predeterminable information R. This is again a truncated hash value. In step 722, the value RTOTP of the crane unit 70 and the received value R'TOTP of the crane controller 72 or the hardware dongle 74 connected there are compared. In step 724 the result of the comparison from step 722 is determined. If the comparison does not yield a matching result, in step 726 an error is sent to the crane controller 52, which in step 728 responds to a Crane unit 70 response awaits. At the same time, in step 730 a result of the authentication is awaited and in step 732 an error is displayed, which signals that the comparison between the truncated hash values R'TOTP and RTOTP brought a negative result. Control of the crane unit 70 has failed and is blocked. A corresponding display can take place in step 732 .

Ergibt dagegen der Vergleich im Schritt 722 eine Übereinstimmung, so wird bei dem Vergleich im Schritt 724 ein positives Ergebnis signalisiert. Im Schritt 740 wird eine Bestätigung gesendet, dass der Vergleich von R'TOTP und RTOTP ein übereinstimmendes Ergebnis brachte. Dieses positive Ergebnis im Schritt 740 wird einerseits der Kransteuerung 72 mitgeteilt, welche im Schritt 730 eine erfolgreiche Authentifizierung erkennt und im Schritt 742 einen Steuerbefehl an die Kraneinheit 70 sendet. Im Schritt 744 wartet die Kraneinheit 70 auf einen solchen Steuerbefehl. Im Schritt 746 führt die Kraneinheit 70 dann den vom Anwender 76 gewünschten Steuerbefehl aus.If, on the other hand, the comparison in step 722 yields a match, the comparison in step 724 signals a positive result. In step 740, an acknowledgment is sent that the comparison of R'TOTP and RTOTP yielded a matching result. On the one hand, this positive result in step 740 is communicated to the crane control 72 , which in step 730 recognizes a successful authentication and in step 742 sends a control command to the crane unit 70 . In step 744, the crane unit 70 waits for such a control command. In step 746, the crane unit 70 then executes the control command desired by the user 76.

Im Gegensatz zum Ausführungsbeispiel von Figur 3 findet in der Kransteuerung von Figur 5 keine zusätzliche Authentisierung des Anwenders beim Hardware-Dongle statt. Eine zuvor erfolgreich durchgeführte PIN-Eingabe ist im Ausführungsbeispiel von Figur 5 nicht vorgesehen, kann jedoch auch hier vorgesehen werden.In contrast to the embodiment of figure 3 found in the crane control of figure 5 no additional authentication of the user takes place with the hardware dongle. A previously successfully performed PIN entry is in the embodiment of figure 5 not provided, but can also be provided here.

BezugszeichenlisteReference List

11
OCRA-GeneratorOCRA generator
22
OCRA-GeneratorOCRA generator
1010
anfragendes Gerätrequesting device
1212
TOTP-GeneratorTOTP generator
3030
beglaubigendes Gerätnotarizing device
3232
TOTP-GeneratorTOTP generator
5050
Durchflusssensorflow sensor
5252
Terminalterminal
5454
Hardware-Donglehardware dongle
5656
Anwenderuser
7070
Kraneinheitcrane unit
7272
Kransteuerungcrane control
7474
Hardware-Donglehardware dongle
7676
Bediener, Kranführeroperator, crane driver
SS
Shared-Secretshared secret
ZZ
Zugangsdatenaccess data
RR
Vorgebbare Informationen, ZufallswertSpecifiable information, random value
OCRAOCRA
OCRA-Antwort im beglaubigenden Gerät 30OCRA response in notarizing device 30
O'CRAO'CRA
O'CRA-Antwrot im anfragenden Gerät 10O'CRA response in requesting device 10
RTOTPRTOTP
Hash-Wert im beglaubigenden Gerät 30,hash value in the notarizing device 30,
R'TOTPR'TOTP
Hash-Wert im anfragenden Gerät 10,hash value in the requesting device 10,
( 1a )-(1a)-
( 10 ) Schritte( 10 ) steps
300-352300-352
Schrittesteps
700-746700-746
Schrittesteps

Claims (14)

  1. Method for a system time independent authentication of interactions in microcontroller-based and/or FPGA-based devices or systems, in particular embedded systems and/or flame monitors, in which, in each one of a requesting device (10) and an authenticating device (30), a cryptographic hash-value (R'TOTP, RTOTP) is calculated in accordance with one of mutually shared secrets (S) used by both devices (10, 30) and in a TOTP module (12, 32) operating in accordance with a TOTP method in both devices (10, 30), wherein, instead of a system time, a specifiable information (R) is provided to the TOTP modules (12, 32) for calculating the respective hash value (R'TOTP, RTOTP), such that the specifiable information (R) is generated or provided by the authenticating device (30) and, upon request of the requesting device (10) or by means of a direct input into the authenticating device (30), is transferred to the requesting device (10), where it is then provided to the TOTP module operating there for calculating a hash value and the hash value (R'TOTP) calculated there is transmitted to the authenticating device (30), and in that, if this hash value (R'TOTP) received from the authenticating device (30) matches the hash value (RTOTP) calculated in the authenticating device (30) using the specified information (R), a successful authentication is carried out and the interaction is allowed which, if there is no match, will otherwise be blocked.
  2. Method in accordance with claim 1,
    characterized in that a hardware dongle, which can be externally plugged into the requesting device (10), is employed as the TOTP module (12) assigned to the receiving device (10).
  3. Method in accordance with claim 1 or 2,
    characterized in that the hash value (R'TOTP, RTOTP) is provided as a truncated hash value.
  4. Method in accordance with claim 1,
    characterized in that at least one of the TOTP modules (12, 32) is realized as a software implementation directly in the requesting device (10) and/or the authenticating device (30).
  5. Method in accordance with claim 1,
    characterized in that, for the realization of a 2FA, a preliminary authentication request having specified access data (Z) is sent from the requesting device (10) to the authenticating device (30), or is directly input into it, allowing, in the case of a successful validity test, an authentication request.
  6. Method in accordance with claim 5,
    characterized in that a password and/or a user name and/or a certificate is (are) used as access data.
  7. Method in accordance with claim 5,
    characterized in that the access data (Z) are stored on a chip unit which operates wirelessly or wire-based, in particular, on a smart card or a USB module.
  8. Method in accordance with any of claims 1 to 7,
    characterized in that the specifiable information (R) is a random value which is generated by the authenticating device (30) or is selected from a specified list of values.
  9. Method in accordance with any of claims 1 to 7,
    characterized in that one and the same shared secret (S) is used by numerous requesting devices (10) for authentication.
  10. Method in accordance with any of claims 1 to 9,
    characterized in that interactions in devices or systems based on microcontrollers and/or FPGAs such as, for example, flame monitors, are configuration, update, parameterization, measurement, service, switching, monitoring and/or control functions in industrial installations.
  11. Method in accordance with any of claims 1 to 10,
    characterized in that the method is carried out in a microcontroller and/or an FPGA of a flame monitor.
  12. Microcontroller and/or FPGA based device for a system time independent authentication of interactions in microcontroller-based and/or FPGA-based devices or systems, in particular embedded systems and/or flame monitors, in which, in each one of a requesting device (10) and an authenticating device (30), a cryptographic hash-value (R'TOTP, RTOTP) can be calculated in accordance with one of mutually shared secrets (S) used by both devices (10, 30) and in a TOTP module (12, 32) operating in accordance with a TOTP method in both devices (10, 30), wherein, instead of a system time, a specifiable information (R) can be provided to the TOTP modules (12, 32) for calculating the respective hash value (R'TOTP, RTOTP), such that the specifiable information (R) can be generated or provided by the authenticating device (30) and, upon request of the requesting device (10) or by means of a direct input into the authenticating device (30), can be transferred to the requesting device (10), where it then can be provided to the TOTP module operating there for calculating a hash value and the hash value (R'TOTP) calculated there can be transmitted to the authenticating device (30), and in that, if this hash value (R'TOTP) received from the authenticating device (30) matches the hash value (RTOTP) calculated in the authenticating device (30) using the specified information (R), a successful authentication can be carried out and the interaction can be allowed which, if there is no match, can otherwise be blocked.
  13. Device in accordance with claim 12,
    characterized in that the device is an embedded system.
  14. Flame monitor
    characterized by a device in accordance with either of claims 12 or 13, in particular characterized in that it comprises a microcontroller and/or FPGA based system in accordance with either of claims 12 or 13 for a system time independent authentication of interactions.
EP22171481.9A 2021-05-07 2022-05-03 Method for authenticating interactions independent of a system time, and device for carrying out this method and flame monitor comprising such a device Active EP4087184B1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102021112041.1A DE102021112041A1 (en) 2021-05-07 2021-05-07 Method for authentication of interactions independent of a system time and device for carrying out this method and flame monitor with a dear-like device

Publications (2)

Publication Number Publication Date
EP4087184A1 EP4087184A1 (en) 2022-11-09
EP4087184B1 true EP4087184B1 (en) 2023-05-24

Family

ID=81580193

Family Applications (1)

Application Number Title Priority Date Filing Date
EP22171481.9A Active EP4087184B1 (en) 2021-05-07 2022-05-03 Method for authenticating interactions independent of a system time, and device for carrying out this method and flame monitor comprising such a device

Country Status (5)

Country Link
US (1) US12093361B2 (en)
EP (1) EP4087184B1 (en)
JP (1) JP2022173055A (en)
CN (1) CN115314212A (en)
DE (1) DE102021112041A1 (en)

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7930554B2 (en) * 2007-05-31 2011-04-19 Vasco Data Security,Inc. Remote authentication and transaction signatures
US9053304B2 (en) * 2012-07-13 2015-06-09 Securekey Technologies Inc. Methods and systems for using derived credentials to authenticate a device across multiple platforms
US10270748B2 (en) * 2013-03-22 2019-04-23 Nok Nok Labs, Inc. Advanced authentication techniques and applications
US9305298B2 (en) * 2013-03-22 2016-04-05 Nok Nok Labs, Inc. System and method for location-based authentication
US10574692B2 (en) * 2016-05-30 2020-02-25 Christopher Nathan Tyrwhitt Drake Mutual authentication security system with detection and mitigation of active man-in-the-middle browser attacks, phishing, and malware and other security improvements
KR102017758B1 (en) * 2016-07-11 2019-10-21 한국전자통신연구원 Health device, gateway device and method for securing protocol using the same
US10769635B2 (en) * 2016-08-05 2020-09-08 Nok Nok Labs, Inc. Authentication techniques including speech and/or lip movement analysis
US10091195B2 (en) * 2016-12-31 2018-10-02 Nok Nok Labs, Inc. System and method for bootstrapping a user binding
US10136322B2 (en) * 2017-04-21 2018-11-20 Kirio Inc. Anonymous authentication system
US11831409B2 (en) * 2018-01-12 2023-11-28 Nok Nok Labs, Inc. System and method for binding verifiable claims
US20190289017A1 (en) * 2018-03-14 2019-09-19 Ca, Inc. Time and location based authentication credentials
US10819706B2 (en) * 2018-07-09 2020-10-27 Igt System, apparatus and method for facilitating remote gaming communications in a venue
US11190511B2 (en) * 2019-01-29 2021-11-30 Salesforce.Com, Inc. Generating authentication information independent of user input

Also Published As

Publication number Publication date
DE102021112041A1 (en) 2022-11-10
CN115314212A (en) 2022-11-08
US20220358200A1 (en) 2022-11-10
JP2022173055A (en) 2022-11-17
EP4087184A1 (en) 2022-11-09
US12093361B2 (en) 2024-09-17

Similar Documents

Publication Publication Date Title
DE60223129T2 (en) METHOD AND SYSTEM FOR SECURING A COMPUTER NETWORK AND PERSONAL IDENTIFICATION DEVICE USED FOR CONTROLLING NETWORK COMPONENT ACCESS
EP2856437B1 (en) Method and device for control of a lock mechanism using a mobile terminal
DE69312328T2 (en) SYSTEM AND METHOD FOR CHANGING THE KEY OR PASSWORD IN A COMMUNICATION NETWORK WITH KEY DISTRIBUTION
EP2859705B1 (en) Authorising a user by means of a portable communications terminal
DE102014112611A1 (en) Method for authenticating at least one first unit to at least one second unit
EP3582033B1 (en) Method for securely operating a field device
EP3327679A1 (en) Method for access control of a group of persons using multiple readers and multiple tokens
EP3422628B1 (en) Method, safety device and safety system
DE102014101495A1 (en) Method of access to a physically secure rack and computer network infrastructure
WO2018157960A1 (en) Method and system for activating a user access to a server coupled to an embedded system
EP3935808B1 (en) Cryptographically protected provision of a digital certificate
DE102017111939A1 (en) Method for secure communication with a field device of process measuring technology and a corresponding field measuring device of process measuring technology
EP3465513B1 (en) User authentication by means of an id token
EP2548358B1 (en) Method for dynamically authorizing a mobile communication device
EP3312692B1 (en) Operating device for a measuring device
WO2014131557A1 (en) Generating a key using biometric data, and a puf
EP2996299B1 (en) Method and assembly for authorising an action on a self-service system
EP3647887A1 (en) Method and apparatus for the transmission of an access token for access to a field device used in the processing industry
EP4087184B1 (en) Method for authenticating interactions independent of a system time, and device for carrying out this method and flame monitor comprising such a device
DE102016120306A1 (en) Method and system for activating at least one operating / parameterizing function of a field device of automation technology
WO2023217645A1 (en) Secured access system
EP3734478A1 (en) Method for allocating certificates, management system, use of same, technical system, system component and use of identity provider
DE102009058516A1 (en) Apparatus and method for granting access rights to a maintenance functionality
DE102018102608A1 (en) Method for user management of a field device
DE102015221372A1 (en) Method for activating a configuration mode of a device

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

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20220930

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: GRANT OF PATENT IS INTENDED

RIC1 Information provided on ipc code assigned before grant

Ipc: G06F 21/62 20130101ALI20221212BHEP

Ipc: G06F 21/55 20130101ALI20221212BHEP

Ipc: G06F 21/31 20130101ALI20221212BHEP

Ipc: G06F 21/60 20130101ALI20221212BHEP

Ipc: G06F 21/32 20130101ALI20221212BHEP

Ipc: H04L 9/40 20220101AFI20221212BHEP

INTG Intention to grant announced

Effective date: 20230103

GRAS Grant fee paid

Free format text: ORIGINAL CODE: EPIDOSNIGR3

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE PATENT HAS BEEN GRANTED

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM 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: DE

Ref legal event code: R096

Ref document number: 502022000018

Country of ref document: DE

REG Reference to a national code

Ref country code: AT

Ref legal event code: REF

Ref document number: 1570240

Country of ref document: AT

Kind code of ref document: T

Effective date: 20230615

REG Reference to a national code

Ref country code: DE

Ref legal event code: R082

Ref document number: 502022000018

Country of ref document: DE

Representative=s name: WESTPHAL, MUSSGNUG & PARTNER PATENTANWAELTE MI, DE

REG Reference to a national code

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: LT

Ref legal event code: MG9D

REG Reference to a national code

Ref country code: NL

Ref legal event code: MP

Effective date: 20230524

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

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: 20230524

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: 20230925

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: 20230824

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: 20230524

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: 20230524

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: RS

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: 20230524

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: 20230524

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: 20230524

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: 20230524

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: 20230924

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: 20230524

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: 20230825

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

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: 20230524

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: 20230524

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: SM

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: 20230524

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: 20230524

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: 20230524

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: 20230524

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: 20230524

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: 20230524

REG Reference to a national code

Ref country code: DE

Ref legal event code: R097

Ref document number: 502022000018

Country of ref document: DE

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

26N No opposition filed

Effective date: 20240227

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: 20230524

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: 20230524

Ref country code: IT

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: 20230524

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: IE

Payment date: 20240517

Year of fee payment: 3

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: DE

Payment date: 20240625

Year of fee payment: 3

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: FR

Payment date: 20240522

Year of fee payment: 3

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: BE

Payment date: 20240521

Year of fee payment: 3