[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

EP4205005A1 - Method for implementing and using cryptographic material in at least one system component of an information technology system - Google Patents

Method for implementing and using cryptographic material in at least one system component of an information technology system

Info

Publication number
EP4205005A1
EP4205005A1 EP22761462.5A EP22761462A EP4205005A1 EP 4205005 A1 EP4205005 A1 EP 4205005A1 EP 22761462 A EP22761462 A EP 22761462A EP 4205005 A1 EP4205005 A1 EP 4205005A1
Authority
EP
European Patent Office
Prior art keywords
bedkm
skid
type
prov
cryptographic material
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.)
Withdrawn
Application number
EP22761462.5A
Other languages
German (de)
French (fr)
Inventor
Viktor Friesen
Viktor Pavlovic
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.)
Mercedes Benz Group AG
Original Assignee
Mercedes Benz Group AG
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 Mercedes Benz Group AG filed Critical Mercedes Benz Group AG
Priority to EP23209298.1A priority Critical patent/EP4297335A3/en
Priority to EP23209295.7A priority patent/EP4297332A3/en
Priority to EP23209297.3A priority patent/EP4297334A3/en
Priority to EP23209296.5A priority patent/EP4297333A3/en
Publication of EP4205005A1 publication Critical patent/EP4205005A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • 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/3247Cryptographic 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 digital signatures
    • 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
    • H04L9/3265Cryptographic 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 using certificate chains, trees or paths; Hierarchical trust model

Definitions

  • the invention relates to a method for implementing and using cryptographic material in at least one system component of an information technology system according to the type defined in more detail in the preamble of claim 1.
  • the procedure for implementing and using cryptographic material essentially deals with the fact that in different life cycle phases of system components of an information technology system that are equipped with cryptographic material, cryptographic material corresponding to the current security level of the respective system component or a sub-module of the system component must be used. This relates in particular, but not exclusively, to the area of so-called CarlT security for vehicles.
  • Modern vehicles are characterized by increasing networking.
  • the vehicles are not only connected to generally accessible systems such as the Internet, but also to dedicated systems operated by the vehicle manufacturer or OEM, for example manufacturer-specific applications and a manufacturer-specific server, which is often also referred to as a backend server.
  • manufacturer-specific applications and a manufacturer-specific server, which is often also referred to as a backend server.
  • backend server which is often also referred to as a backend server.
  • the cryptographic material for the development phase is also referred to below as test crypto material.
  • test crypto material In the development phase, as long as the crypto material is secret, only such test crypto material may be used.
  • the productive crypto material, and here in particular secret productive crypto material must be protected from unauthorized access during the entire life cycle of the system component. Ideally, this protection should be guaranteed by adhering to a special secure process and using special protection mechanisms in the respective development departments and production facilities.
  • the secure use of the cryptographic material in the system may not yet have been implemented, for example because the development interfaces required for testing and debugging are available, which have read and write access to the entire system and thus in particular also access to the installed cryptographic material allowed during the development phase.
  • these are necessarily available during development and are usually openly accessible to all people and/or companies involved in the development process.
  • test crypto material used during the development phase will not be manipulated or read.
  • the structure and form of this test crypto material is identical to the productive crypto material used later. It is therefore also suitable for use later in operation, i.e. in the productive phase of the respective system component. It is therefore particularly important that the test crypto material, which is relatively poorly secured and therefore highly likely to be corrupted, is not misused in the production system. It is even more serious when productive crypto material ends up on a system component in the development phase. This material, which has a very high protection requirement, can then also be manipulated or read out in whole or in part. It is no longer secret and cannot be used.
  • a method for the secure use of cryptographic material is already known from DE 10 2020 003 072 B3.
  • the cryptographic material has a mark identifying the cryptographic material as development or production material.
  • the individual system components have a binary status flag which indicates whether the corresponding system component is in the development phase or in the productive phase in its life cycle phase.
  • the marking of the cryptographic material is then compared with the binary status flag of the respective system component. If the marking and the flag match, ie if the cryptographic material is marked as development material and the system component is in the development phase, then the corresponding cryptographic material is used by the system component. If, on the other hand, the marking and the binary status flag do not match, safety measures are initiated.
  • the verification of the correspondence between the marking of the cryptographic material and the binary state flag takes place prior to the respective use of the cryptographic material or once for all cryptographic material in the system component.
  • the match can be checked, for example, when the system component is started up or when the cryptographic material is made available.
  • a warning message can be issued, the delivery of the cryptographic material can be canceled or prevented and/or after Cryptographic material that has already been introduced into a system component can be deleted as required.
  • the disadvantage here is that to distinguish whether cryptographic material may be used on the system component, a distinction is only made between two life cycle phases of the corresponding system component and two different properties (test or productive) for the cryptographic material. In real use, a differentiation into just two groups will not suffice, since the conditions for the secure use of cryptographic material are too different for different cryptographic materials and system components. For example, if a secret is created and stored directly in a hardware security module and never leaves it, the cryptographic material can be used securely during the development phase if necessary. However, the prerequisite here is that the hardware security module in the development phase does not have or use any special diagnostic interfaces which would enable the secret to be read out. A secret included in software, on the other hand, is part of a program code and can thus be read out or reconstructed comparatively easily via various interfaces. A secure use of such a secret in a later productive phase of the system component is then not possible.
  • the present invention is based on the object of specifying an improved method for the implementation and use of cryptographic material in at least one system component of an information technology system, which allows a particularly flexible, secure implementation and use of cryptographic materials that differ in a variety of ways in various system components. and thereby ensures that, in the case of a system component which itself or in which at least one sub-module is operated in an insecure mode, cryptographic material suitable for insecure operation is used by the system component or at least the sub-module and in the case of a system component which itself or in which at least one sub-module is operated in a secure mode, cryptographic material suitable for secure operation is used by the system component or at least the sub-module.
  • this object is achieved by a method for implementing and using cryptographic material in at least one system component of an information technology system having the features of claim 1.
  • the cryptographic material has additional data which, according to the invention, are formed by at least one condition, at least one role and/or at least one target component identity.
  • the method according to the invention allows a particularly flexible, secure implementation and use of cryptographic material in the most varied of system components and/or their sub-modules.
  • Various system components such as a control device, a cloud server, an application running on a mobile device, a vehicle or an external device require the use of a wide variety of cryptographic materials such as symmetric or asymmetric keys, certificates, random numbers, hash values or the like at different times.
  • a specific target system component which is to use cryptographic material, can also require the use of different cryptographic materials in different states.
  • the state of the respective system component is described using at least one variable.
  • the corresponding system component can assume a large number of different states, i.e.
  • a network interface can be in a first, insecure state
  • a memory element of the system component can be in a second, secure state.
  • a corresponding information technology system can be networked or isolated.
  • Cryptographic material is typically generated by a dedicated system, for example a crypto material server, and transmitted to a target system, i.e. a target system component, as part of a special data packet. According to the invention, the cryptographic material is supplemented with additional data.
  • a corresponding condition defines the circumstances under which the use of the cryptographic material by the system component is permitted or not permitted.
  • the corresponding conditions can be of the most diverse nature.
  • the condition can require that the respective system component is in a certain phase of a product life cycle, or that the system component has a hardware security module and that this is in a secure state so that the hardware security module can securely record cryptographic material and can put down.
  • the cryptographic material can also include several conditions. This allows the implementation and use of cryptographic material in various system components to be controlled in an even larger number of different application scenarios.
  • Cryptographic material intended for a system component fulfills a specific role there. If several cryptographic materials of the same type are used by the same system component, for example several public 4096-bit RSA keys, the system component itself cannot distinguish which role the new cryptographic material should play, i.e. how and where it should be in the system component to install and how to use it. This information pertaining to the roll of cryptographic material may be attached to the cryptographic material in the form of the roll. The role differs from the condition in that the role does not place any conditions on the current status of the system component.
  • the cryptographic material can be supplemented with a target component identity.
  • the target component identity includes a clear identification of the system components that are allowed to use the corresponding cryptographic material. If the corresponding cryptographic material is applied to a system component that is not in the Target component identity is included, the use of the cryptographic material on this system component is prevented. This makes it particularly easy and quick to provide which system components may use which cryptographic material and which may not.
  • the target component identity can be directed to an entire class of systems, system components and/or their sub-modules, for example to the class “head unit”, “engine control unit”, “flash memory” or the like, as well as to exactly one special system component , such as the hardware security module with serial number GHNS-1934952.
  • At least one condition at least one role and/or at least one target component identity
  • the cryptographic material is typically designed as a crypto material (data) packet and exchanged between systems or system components or introduced there.
  • the cryptographic material package includes at least the actual cryptographic material, for example an asymmetric pair of keys, and the respective condition, role and/or target component identity in the form of additional data attached to the cryptographic material.
  • the attached data can be concatenated with the cryptographic material, for example.
  • the crypto material package can also include further data. For the sake of simplicity, only the cryptographic material is discussed in this text.
  • the cryptographic material comprises at least one role specific to the target component. If one and the same cryptographic material is sent to different system components, it can also fulfill different roles on the different system components. In this way, target component-specific roles can be introduced into the cryptographic material, which tell the cryptographic material on which system component it should be used and how. This allows control even more extensively and flexibly how cryptographic material is implemented on various system components and used there.
  • all conditions are defined by a system component-external creator and evaluated by at least one evaluator running in an environment of the system component, with the creator and the evaluator jointly specifying which variables are used by the creator when defining conditions should.
  • the creator and the evaluator can use a fixed set of possible variables and select suitable variables depending on the condition. The creator selects suitable variables for each condition.
  • the number and type of conditions is determined by the creator.
  • the name and permissible value range used for the respective variable is then determined jointly by the creator and the evaluator, with the evaluator determining which names and value ranges the creator may use. However, the creator decides for himself which names and value ranges he ultimately uses.
  • the creator is, for example, the already mentioned crypto material server.
  • the evaluator can be trained by hardware and software or by a human being.
  • the evaluator can be included in the system component or it can also be implemented externally to the system component, but it can be provided in the same environment as the system component. This allows the evaluator to capture the variables underlying the system component and describing the corresponding state of the system component.
  • An evaluator external to the system component enables the condition(s) imposed on the system component by means of the cryptographic material to be checked for a system component that has not yet been booted.
  • verified cryptographic material corresponding to the system component can be stored in a memory without the corresponding system component having to be started up beforehand.
  • the evaluator is able to check at any point in time whether a possible condition for the respective system component is met or not. If the creator and the evaluator agree on a common set of relevant variables, it can be ensured that the variables required to evaluate a certain condition can actually be recorded by the evaluator. This increases the reliability in the application of the method according to the invention.
  • All variables can have the same value range, i.e. be of the BOOLEAN, INTEGER or STRING type, or individual variables can also have different value ranges. By using the different value ranges or types, a wide variety of variables can be used to define and subsequently check conditions.
  • a variable of the BOOLEAN type assumes the value TRUE or FALSE.
  • states can be described in even more detail or in a more complex way. For example, a specific state can be described using numbers and/or character strings.
  • a range of values can range from 1 to 10, for example.
  • the variables used to define a state can be in the form of a vector, for example.
  • the vector may include a first variable of the BOOLEAN type and a second variable of the INTEGER type.
  • This variability vector is time dependent.
  • the first variable can have the value TRUE and the second variable have the value 24.
  • the corresponding variable vector can also include at least one empty element. This is the case, for example, when the evaluator cannot capture a particular variable. Instead of an empty element, a placeholder can also be used, such as the number "0", "9999" or a character string such as "NAN”.
  • variables can be of a structured type, for example variables can be a:
  • structured types can be formed from both unstructured and structured types.
  • At least one condition is defined in a target-component-specific and/or operation-specific manner.
  • the cryptographic material may be used and/or used by various system components to perform various operations such as installing software, locking or decrypting certain data, creating or verifying a signature, or the like.
  • operation-specific i.e. only valid for a specific operation
  • a number of operations known within the system component must be communicated to the creator, analogous to the number of usable state variables, so that they can be used when defining conditions can.
  • This set of operations can be general, i.e. valid for all target components, or target-component-specific.
  • a specific condition In order for a specific condition to be considered fulfilled on different system components and/or when performing different operations, it can be the case that for at least two different system components and/or operations a specific variable has a different value, i.e. TRUE once and FALSE once, or once 0 and once 256.
  • a further advantageous embodiment of the method according to the invention also provides that for a target-component-specific and/or operation-specific Condition on a different target system component and / or in a different operation at least one different variable is used.
  • a specific variable assume different values in order to fulfill a condition on different system components and/or to carry out different operations, but different variables can also be required for this purpose.
  • the quantity and/or type as well as a size of a permissible value range of the variables relevant to a condition can differ between different system components and/or operations.
  • the variables 1 and 2 in order to fulfill a condition on a first system component, the variables 1 and 2 must assume the values 0 and TRUE and on a second system component the variables 1, 2 and 3 must assume the values 0, TRUE and FALSE.
  • the variables 1, 2, 3, 4, 5 and 6 On a third system component, however, to fulfill the same condition, the variables 1, 2, 3, 4, 5 and 6 must have the values TRUE, [0..100], [-100..100], 0, "engaged” and FALSE assume.
  • at least two BOOLEAN expressions can be OR linked, which will be discussed below.
  • an evaluator checks a condition by means of an evaluation function, wherein at least two evaluators who differ from one another use an evaluation function that differs from one another, in particular an operation-specific evaluation function. It is generally possible for all evaluators to use the same evaluation function. However, the provision of different evaluation functions increases flexibility in the implementation of the method according to the invention for controlling the conditions under which cryptographic material is used by system components.
  • a generic evaluation function can also be used, whereby all cryptographic material, or the conditions covered by the cryptographic material, can be evaluated by providing only one function.
  • the evaluation function can also be designed specifically for different cryptographic materials, for example depending on the role of the cryptographic material.
  • a distinction is again made for different evaluation functions for different operations.
  • a further advantageous embodiment of the method according to the invention also provides that at least one condition is defined in a machine-processable definition language, with an executable language that can be interpreted by an interpreter or one of the following formal logics being used:
  • condition in a machine-processable definition language makes it possible to use existing languages for carrying out the method according to the invention.
  • conditions can be formulated about the valid variables that describe a state of the system component, for example as BOOLEAN-valued expressions that are defined and processable by means of the definition language.
  • a set of variables relevant to the corresponding condition can also contain different variables. All variables of a corresponding set of variables can be of the same type, i.e. BOOLEAN, INTEGER or STRING, or at least two variables of a set of variables relevant to a respective condition can differ in their type.
  • the same or different machine-processable definition languages can be mixedly used for different conditions comprised by the cryptographic material.
  • variables relevant to a specific condition can have different value ranges. There is a finite set of relations, with each relation being assigned a fixed arity, and each relation and the position being assigned a fixed range of values. A relational term is then obtained by applying a relation to a number of constants and/or variables with the appropriate value ranges that corresponds to the arity. When evaluating a relational term for a fixed value assignment of the variables occurring in this term, the result is always a Boolean value, i.e. TRUE or FALSE.
  • An example of a two-digit relation that requires INTEGER as the value range in both places, for example, is the less than or equal relation " ⁇ ", relational terms based on this relation would be, for example:
  • an executable language that can be interpreted by an interpreter offers advantages. Such languages are very “powerful” due to their executability. Thus, before executing a corresponding program code, no previous translation/compilation, or transformation into a formula tree and insertion of variable values, is necessary.
  • An interpretable executable language can be, for example, a scripting language such as Python.
  • At least two conditions are formulated in a definition language that differs from one another, in particular two target-component-specific conditions are formulated in a definition language that differs from one another. If a first system component uses a first language and a second system component uses a second language that differs from the first language, the provision of two conditions formulated with different definition languages ensures that both system components can also evaluate the condition relevant to them. The variables relevant to the conditions are formulated accordingly in the respective definition language. It is also possible for two conditions valid for the same system component to be formulated in a definition language that differs from one another. So it can be advantageous to formulate a certain condition with a certain definition language. This is the case, for example, if certain variables can only be recorded and/or processed with a certain definition language or if this is specified due to a wide variety of boundary conditions.
  • a further advantageous embodiment of the method according to the invention also provides that the cryptographic material comprises at least two conditions and all of the conditions must be met in order for the cryptographic material to be used by the system component.
  • the conditions used are AND-linked. So must all Conditions must be met for the cryptographic material to be used by the system component. For example, the fulfillment of a single condition for the use of the cryptographic material by the system component is necessary, but not necessarily sufficient, since at least one further condition must be met.
  • the evaluator supplies, if cryptographic material is to be used by a system component whose target component-specific condition does not include the class of the corresponding system component, if an operation is to be carried out using the cryptographic material which is not covered by an operation-specific condition or when an evaluator cannot capture a variable required to check a condition, the response for that condition defaults to:
  • a system component, or a class of the system component, from which certain cryptographic materials are to be used cannot be included in a target-component-specific condition. So that the cryptographic material can still be used by the corresponding system component, the value TRUE is output by default after the target component-specific condition has been checked. If, in such a case, the use of the cryptographic material is to be prevented instead, the value FALSE is output by default.
  • the standard response in the form of TRUE or FALSE can also be appended to the cryptographic material.
  • a further advantageous embodiment of the method according to the invention also provides that all additional data comprised by the cryptographic material is cryptographically secured against being compromised, in particular using at least one digital signature and/or a symmetrical integrity protection mechanism.
  • a keyed hash message authentication code HMAC
  • HMAC keyed hash message authentication code
  • Securing the cryptographic material against compromise increases the protection even further when the method according to the invention is carried out.
  • the additional data attached to the cryptographic material package in addition to the cryptographic material is protected against unauthorized manipulation.
  • the cryptographic material together with the associated additional data can be digitally signed by the creator using his asymmetric private key.
  • secure procedures and secure systems are used for signing.
  • the public key or a certificate containing the public key is then distributed to all evaluators concerned.
  • the corresponding public key or certificate is introduced in a tamper-proof manner in the corresponding systems.
  • the public key or the certificate is stored in a read-only memory (ROM) or in a memory that can only be written once (WORM).
  • the crypto-material package includes such a digital signature. Accordingly, the cryptographic material is only used by the system component if a check of the signature attached to the cryptographic material using the introduced public key or the certificate supplies a positive result.
  • At least two different actors are authorized to digitally sign the cryptographic material, with all actors authorized to sign receiving their own leaf certificate belonging to a common certificate hierarchy with the associated private key.
  • a system performing the signature then signs the corresponding cryptographic material with the private key belonging to its leaf certificate. Not only the generated signature is then added to the cryptographic material, but also the entire certificate chain.
  • the certificate chain attached to the cryptographic material is then used by a corresponding evaluator or a system comprising the evaluator in order to check the correctness of the signature created by the signing system.
  • the cryptographic material is already a digital certificate, it is signed from the start. If additional data, i.e. at least one condition, role and/or target component identity, is then included in the certificate, this is also signed by the creator of the certificate. In this way, the additional data, or just parts of it, can be included in the corresponding certificate as one or more certificate extensions and thus co-signed. If all additional data is included in the certificate, the dedicated creation of the digital signature for the cryptographic material can be dispensed with.
  • additional data i.e. at least one condition, role and/or target component identity
  • the method according to the invention should be used as early as possible when developing a corresponding system component. Since the condition check by the evaluator depends on variables, these variables must be protected against manipulation as best as possible, since corrupted variables can simulate the existence of a non-existent state. Accordingly, constants used to evaluate a condition are preferably stored in a write-once memory such as a WORM memory. The values of the variables on which the conditions depend are preferably systematically adapted to the current system state during the entire life cycle of the information technology system or of the individual system components.
  • a vehicle ecosystem is preferably used as the information technology system.
  • the method according to the invention can be used for different system components in different types of networked or non-networked information technology systems. Use is particularly efficient when information technology system is a vehicle ecosystem, since the corresponding requirements in terms of complex development with many partners involved often make compliance with safety guidelines very difficult in practice. The risk of a potential security gap can be drastically minimized by the implementation of the method according to the invention and thus a self-check by the respective system component.
  • FIG. 1 shows a schematic representation of a first use of cryptographic material on a system component of an information technology system
  • FIG. 2 shows a schematic representation of a use of alternative cryptographic material on the system component shown in FIG. 1;
  • FIG. 3 shows a schematic representation of a use of alternative cryptographic material on a further system component
  • FIG. 4 shows a flowchart of an exemplary processing of cryptographic material on a system component when executing an operation.
  • FIG. 1 shows a first exemplary embodiment for using cryptographic material KM from at least one system component SK of an information technology system IT-S.
  • a state of the system component SK is described using at least one variable VAR.
  • VAR the set of all variables VAR is referred to as VAR and the individual status variable used here as “productive”.
  • the status variable productive indicates whether the system component SK is in a productive phase of its life cycle, i.e. it is a productive system or not.
  • the cryptographic material KM is a self-signed test root certificate TestRootCert belonging to a test root key pair (TestRootPub, TestRootPriv), which is introduced into the target system as a trust anchor to be able to set up test connections with communication partners by checking the trustworthiness of the certificates signed with TestRootPriv received from partners using TestRootCert.
  • the BED condition states that the TestRootCert certificate may only be used by the target system, i.e. the system component SK, if it is not in the productive phase.
  • FIG. 2 shows a similar exemplary embodiment, in which the cryptographic material KM now includes a securely generated certificate ProdRootCert that can be used securely in productive systems.
  • the ProdRootCert certificate may always be used by the target system, i.e. the system component SK, for example also in the development and productive phases.
  • ProdRootCert may also be used in the development phase because it does not contain any secret parts.
  • FIG. 3 shows a further exemplary embodiment of the implementation and use of cryptographic material KM in a system component SK.
  • the system component SK has two status variables here, namely the two elements HSMProvisioningSicher: BOOLEAN and HSMVerschlaecher: BOOLEAN of the set of variables VAR.
  • the set of variables VAR here corresponds to a vector with two elements.
  • the state variable HSMProvisioningSicher indicates whether a hardware security module HSM is already in a state in which it can securely receive and store cryptographic material KM.
  • the state variable HSMVerschleichSecure indicates whether the hardware security module HSM is already in a state in which it can securely use secret keys stored in it for encryption.
  • the cryptographic material KM is shown in FIG 3 around a 256-bit long, secret symmetric key AESKey, which is to be used for AES encryption in production systems.
  • Two operations are to be protected by conditions BED.
  • this involves the provision of cryptographic material KM, ie the secure introduction and secure storage of a key in the system component SK.
  • Encryption is also involved, ie the secure use of a key for encryption in the system component SK.
  • the secure use of the key in the target system is ensured by two conditions BED BEDAESKe y provisionin9 and BEDAESKe y encryption9 .
  • Sign is the signature created by the creator of the cryptographic material KM (KM, ZKIDENTTM, BEDTM*, ROLETM*) and ZK is the certificate chain, with the help of which the system component SK can check the correctness of the SignTM signature.
  • the system component SK has the identity skid and the target system component type Type(skid).
  • the identity skid and the target system component type Type(skid) on a system component SK can be included in the variable VAR.
  • a system component type can also be understood as a class of system components SK, for example all system components SK of the class/type “head unit”, “engine control unit” or the like.
  • the evaluator wants to check whether the cryptographic material KM contained in the crypto material package KM-P may be installed in the system component SK for an operation Prov in the system component SK.
  • the operation can generally be any operation, such as performing a decryption process. In the example in FIG. 4, the operation is the actual provisioning of the cryptographic material KM.
  • the Signature SignTM is checked. If the signature check is unsuccessful, an exception handling follows according to a first link LINK1. If, on the other hand, the signature check is successful, it is checked whether the cryptographic material KM, here in the form of the cryptographic material package KM-P, includes at least one target component identity ZKIDENTTM. If this is the case, then it is checked whether the identity skid of the system component SK is included in the target component identity ZKIDENTTM, and if not, according to the first link LINK1, exception handling is initiated. However, if this is not the case, i.e. the crypto material package KM-P does not include a target component identity ZKIDENTTM, this step is skipped.
  • the set of conditions valid for the respective classes referenced by Type(skid) is referred to below as BEDKM Type(skid) *. If this is the case, provisioning may take place (see first link LINK1). If this is not the case, it must be checked which standard procedure should be used. So whether provisioning may take place or not. For this purpose, for example, a standard response can be included in the crypto material packet KM-P.
  • BEDKM Type(skid) * is also operation-specific. If this is not the case, the condition BEDKM Type(skid) is evaluated and the links LINK1 , LINK2 are followed. If, on the other hand, the conditions BEDKM Type(skid) * are operation-specific, it is checked whether there is at least one operation-specific condition in BEDKM Type(skid) *, here as a representative example for the operation Prov ("Provisioning"), i.e. a condition BEDKM Type(skid) ' Prov , (this step is not shown in Figure 4). If this is not the case, exception handling is initiated according to the first link LINK1. If this is the case, however, if BEDKM Type(skid) * contains a condition BEDKM Type(skid) ' Prov , then this is evaluated and the procedure is continued in the same way as the links LINK1 , LINK2.
  • the cryptographic material KM here in the form of the crypto material package KM-P, includes at least one role ROLEKM*. If this is not the case, the cryptographic material KM is made available for the system component SK without a role. If, on the other hand, this is the case, it is then checked whether ROLEKM* includes a role for the target component type Type(skid). If this is not the case, exception handling occurs again. If this is the case, however, the cryptographic material KM is provided taking into account the role ROLEKM*.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)

Abstract

The invention relates to a method for implementing and using cryptographic material (KM) in at least one system component (SK) of an information technology system (IT-S) for performing at least one operation, wherein a state of the system component (SK) as described by at least one variable (VAR) is checked at least at a first time, the cryptographic material (KM) is supplemented with additional data, wherein the additional data describe possible states of system components (SK), and the cryptographic material (KM) is used by the system component (SK) when the additional data of the cryptographic material (KM) comprise at least the state that the system component (SK) has at the first time. The method according to the invention is characterized in that the additional data are formed by at least one condition (BED, BEDKM*, BEDKM Prov, BEDKM Type(skid), BEDKM Type(skid), Prov), at least one role (ROLEKM*) and/or at least one target component identity (ZKIDENTKM).

Description

Mercedes-Benz Group AG Mercedes-Benz Group AG
Verfahren zur Implementierung und Nutzung von kryptografischem Material in wenigstens einer Systemkomponente eines informationstechnischen Systems Method for implementing and using cryptographic material in at least one system component of an information technology system
Die Erfindung betrifft ein Verfahren zur Implementierung und Nutzung von kryptografischem Material in wenigstens einer Systemkomponente eines informationstechnischen Systems nach der im Oberbegriff von Anspruch 1 näher definierten Art. The invention relates to a method for implementing and using cryptographic material in at least one system component of an information technology system according to the type defined in more detail in the preamble of claim 1.
Das Verfahren zur Implementierung und Nutzung von kryptografischem Material beschäftigt sich im Wesentlichen damit, dass in unterschiedlichen Lebenszyklusphasen von Systemkomponenten eines informationstechnischen Systems, welche mit kryptografischem Material ausgestattet sind, dem aktuellen Sicherheitsniveau der jeweiligen Systemkomponente oder eines Untermoduls der Systemkomponente entsprechendes kryptografisches Material Verwendung finden muss. Dies bezieht sich insbesondere, nicht jedoch ausschließlich, auf das Gebiet der sogenannten CarlT- Security für Fahrzeuge. The procedure for implementing and using cryptographic material essentially deals with the fact that in different life cycle phases of system components of an information technology system that are equipped with cryptographic material, cryptographic material corresponding to the current security level of the respective system component or a sub-module of the system component must be used. This relates in particular, but not exclusively, to the area of so-called CarlT security for vehicles.
Moderne Fahrzeuge, aber auch andere Systeme, zeichnen sich durch eine zunehmende Vernetzung aus. Die Fahrzeuge sind dabei nicht nur mit allgemein zugänglichen Systemen wie dem Internet verbunden, sondern auch mit dedizierten, vom Fahrzeughersteller bzw. OEM betriebenen Systemen, beispielsweise herstellereigenen Applikationen und einem herstellereigenen Server, welcher häufig auch als Backendserver bezeichnet wird. Diese werden vom Hersteller exklusiv für die eigene Fahrzeugflotte entwickelt, vermarktet und betrieben. All dies zusammen wird auch als Fahrzeug-Ökosystem bezeichnet. Modern vehicles, but also other systems, are characterized by increasing networking. The vehicles are not only connected to generally accessible systems such as the Internet, but also to dedicated systems operated by the vehicle manufacturer or OEM, for example manufacturer-specific applications and a manufacturer-specific server, which is often also referred to as a backend server. These are developed, marketed and operated by the manufacturer exclusively for their own vehicle fleet. All this together is also known as the vehicle ecosystem.
In der Praxis ist es nun so, dass durch die vielfältigen Kommunikationsbeziehungen zwischen den einzelnen Systemkomponenten innerhalb eines solchen Fahrzeug- Ökosystems eine Vielzahl neuer Schnittstellen und Anwendungen entsteht, die allesamt durch geeignete kryptografische Verfahren, wie beispielsweise Mechanismen, Protokolle usw., abgesichert werden müssen. Diese kryptografischen Verfahren, welche so prinzipiell aus dem Stand der Technik bekannt sind, benötigen dafür vielfältiges kryptografisches Material wie beispielsweise asymmetrische Schlüsselpaare, symmetrische Schlüssel, Zertifikate, Zufallszahlen, Hashwerte usw. All diese Kryptomateriale sind aufeinander abgestimmt und werden oft vor ihrer Inbetriebnahme, zum Austausch von Kryptomaterial auch während des laufenden Betriebs, in dem Fahrzeug-Ökosystem in alle teilnehmenden Systemkomponenten eingebracht und müssen von diesen genutzt werden. Die Bereitstellung des kryptografischen Materials, das sogenannte Provisioning, erfolgt beispielsweise im Rahmen des Herstellungsprozesses, sie kann aber auch während des Betriebs der Systemkomponenten erfolgen. Die Systemkomponenten umfassen dabei insbesondere in den Fahrzeugen verbaute Steuergeräte, aber auch andere Komponenten wie beispielsweise im Fahrzeug installierte Applikationen, auf einem Smartphone verfügbare Applikationen des OEM, fahrzeugexterne Geräte und dergleichen. In practice, the diverse communication relationships between the individual system components within such a vehicle ecosystem result in a large number of new interfaces and applications, all of which are must be protected by suitable cryptographic methods, such as mechanisms, protocols, etc. These cryptographic methods, which are known in principle from the prior art, require a wide range of cryptographic material such as asymmetric key pairs, symmetric keys, certificates, random numbers, hash values, etc. All of these cryptographic materials are coordinated with one another and are often exchanged before they are put into operation of crypto material, also during ongoing operation, in the vehicle ecosystem in all participating system components and must be used by them. The provision of the cryptographic material, the so-called provisioning, takes place, for example, as part of the manufacturing process, but it can also take place during the operation of the system components. The system components include in particular control units installed in the vehicles, but also other components such as applications installed in the vehicle, OEM applications available on a smartphone, vehicle-external devices and the like.
Um zuverlässig zu verhindern, dass in die geschützte Kommunikation eingegriffen werden kann, ist es zwingend notwendig, zwischen kryptografischem Material, welches während der Entwicklungsphase verwendet wird, und kryptografischem Material, das während der Produktivphase, also dem realen Einsatz des fertig entwickelten Produkts, zum Einsatz kommt, unterschieden wird. Das kryptografische Material für die Entwicklungsphase, wird nachfolgend auch als Test-Kryptomaterial bezeichnet. In der Entwicklungsphase darf, solange es sich um geheimes Kryptomaterial handelt, nur ausschließlich solches Test-Kryptomaterial verwendet werden. Das Produktiv- Kryptomaterial, und hier insbesondere geheimes Produktiv-Kryptomaterial, muss nämlich während des gesamten Lebenszyklus der Systemkomponente vor unberechtigtem Zugriff geschützt werden. Dieser Schutz sollte dabei im Idealfall durch das Einhalten eines speziellen abgesicherten Prozesses und die Verwendung spezieller Schutzmechanismen in den jeweiligen Entwicklungsabteilungen und Produktionsstätten gewährleistet werden. In der Entwicklungsphase ist dies jedoch meist nur unzureichend gewährleistet, da verschiedene Bausteine des informationstechnischen Systems in dieser Entwicklungsphase meist nicht oder noch nicht umgesetzt bzw. implementiert sind. So kann beispielsweise die sichere Erzeugung des benötigten kryptografischen Materials noch nicht vollständig umgesetzt oder getestet sein. Die sichere Übertragung des kryptografischen Materials vom Erzeugungsserver, dem sogenannten Kryptomaterial- Server, zum Systemhersteller, beispielsweise einem Zulieferer, ist gegebenenfalls noch nicht sichergestellt. Das sichere Einbringen des Kryptomaterials in die Systemkomponente ist noch nicht oder noch nicht endgültig umgesetzt. Das sichere Speichern des kryptografischen Materials in dieser Systemkomponente ist eventuell noch nicht umgesetzt, weil beispielsweise das Zielsystem noch kein Hardwaresicherheitsmodul (Hardware Security Module; HSM) verbaut hat, obwohl dies zu einem späteren Zeitpunkt noch eingebaut werden soll. Die sichere Nutzung des kryptografischen Materials in dem System ist ggf. noch nicht umgesetzt, beispielsweise, weil zum Testen und Debuggen benötigte Entwicklungsschnittstellen vorhanden sind, welche einen lesenden und schreibenden Zugriff auf das gesamte System haben und damit insbesondere auch einen Zugriff auf das installierte kryptografische Material während der Entwicklungsphase erlauben. Diese sind aber notwendigerweise während der Entwicklung vorhanden und meist auch für alle beteiligten Personen und/oder Firmen im Entwicklungsprozess offen zugänglich. In order to reliably prevent protected communication from being accessed, it is absolutely necessary to separate cryptographic material used during the development phase and cryptographic material used during the productive phase, i.e. the real use of the fully developed product comes, is differentiated. The cryptographic material for the development phase is also referred to below as test crypto material. In the development phase, as long as the crypto material is secret, only such test crypto material may be used. The productive crypto material, and here in particular secret productive crypto material, must be protected from unauthorized access during the entire life cycle of the system component. Ideally, this protection should be guaranteed by adhering to a special secure process and using special protection mechanisms in the respective development departments and production facilities. In the development phase, however, this is usually only insufficiently guaranteed, since various components of the information technology system are usually not or not yet implemented or implemented in this development phase. For example, the secure generation of the required cryptographic material may not yet have been fully implemented or tested. The secure transmission of the cryptographic material from the generation server, the so-called crypto material server, to the system manufacturer, for example a supplier, may not yet be guaranteed. The secure introduction of the crypto material into the system component has not yet been implemented or has not yet been finally implemented. The secure storage of the cryptographic material in this system component may not yet have been implemented because, for example, the target system has not yet installed a hardware security module (Hardware Security Module; HSM), although this is to be installed at a later date. The secure use of the cryptographic material in the system may not yet have been implemented, for example because the development interfaces required for testing and debugging are available, which have read and write access to the entire system and thus in particular also access to the installed cryptographic material allowed during the development phase. However, these are necessarily available during development and are usually openly accessible to all people and/or companies involved in the development process.
Dies führt also dazu, dass nicht sichergestellt werden kann, dass das während der Entwicklungsphase verwendete Kryptomaterial nicht manipuliert oder ausgelesen wird. Dabei ist es jedoch so, dass dieses Test-Kryptomaterial in seiner Struktur und Form identisch zu dem später genutzten Produktiv-Kryptomaterial ist. Es eignet sich somit auch für den Einsatz im späteren Betrieb, also in der Produktivphase der jeweiligen Systemkomponente. Deshalb ist es besonders wichtig, dass das relativ schlecht gesicherte und daher mit einer hohen Wahrscheinlichkeit korrumpierte Test- Kryptomaterial im Produktivsystem nicht missbräuchlich eingesetzt wird. Noch gravierender ist es, wenn Produktiv-Kryptomaterial auf eine Systemkomponente in der Entwicklungsphase gelangt. Dieses einen sehr hohen Schutzbedarf aufweisende Material kann dann ebenfalls manipuliert oder ganz oder teilweise ausgelesen werden. Es ist damit nicht mehr geheim und kann nicht verwendet werden. Falls der Fehler unbemerkt bleibt oder bewusst vertuscht wird, verliert die später in die Produktivphase wechselnde Systemkomponente ihre Absicherung. In der Praxis ist es so, dass die Sicherheitsvorschriften und Richtlinien durch die in den Phasen mit den Systemkomponenten beschäftigten Personen umgesetzt werden. Deshalb sind Fehler, Versehen und auch bewusste Manipulationen nicht auszuschließen. Von daher besteht prinzipiell immer die Gefahr, dass Test- Kry pto mate rial in einer bereits in die Produktivphase gewechselten Systemkomponente verbliebt oder das Produktiv-Kryptomaterial auf einer Systemkomponente eingesetzt wird, die noch in der Entwicklungsphase ist. Jegliches bewusst oder versehentlich in der Entwicklungsphase genutztes Kryptomaterial ist, aufgrund der vielen noch offenen Schnittstellen etc. mit hoher Wahrscheinlichkeit korrumpiert. Diese Gefahren führen letztlich zu einem erhöhten Sicherheitsrisiko. Dies stellt einen gravierenden Nachteil der bestehenden Vorgehensweise dar. This means that it cannot be guaranteed that the crypto material used during the development phase will not be manipulated or read. However, the structure and form of this test crypto material is identical to the productive crypto material used later. It is therefore also suitable for use later in operation, i.e. in the productive phase of the respective system component. It is therefore particularly important that the test crypto material, which is relatively poorly secured and therefore highly likely to be corrupted, is not misused in the production system. It is even more serious when productive crypto material ends up on a system component in the development phase. This material, which has a very high protection requirement, can then also be manipulated or read out in whole or in part. It is no longer secret and cannot be used. If the error goes unnoticed or is deliberately covered up, the system component that later switches to the productive phase loses its protection. In practice, the safety regulations and guidelines are implemented by the people working with the system components in the phases. Therefore, errors, oversights and deliberate manipulations cannot be ruled out. Therefore, there is always a risk that test crypto material will remain in a system component that has already switched to the productive phase or that the productive crypto material will be used on a system component that is still in the development phase. Any crypto material used intentionally or accidentally in the development phase is very likely to be corrupted due to the many interfaces etc. that are still open. These dangers ultimately lead to an increased security risk. This represents a serious disadvantage of the existing procedure.
Ein Verfahren zur sicheren Nutzung von kryptografischem Material ist bereits aus der DE 10 2020 003 072 B3 bekannt. Dabei werden mehrere Systemkomponenten eines vernetzten Systems mit kryptografischem Material ausgestattet. Das kryptografische Material weist eine Markierung auf, welche das kryptografische Material als Entwicklungs- oder Produktivmaterial kennzeichnet. Die einzelnen Systemkomponenten weisen ein binäres Zustandsflag auf, welches angibt, ob sich die entsprechende Systemkomponente in ihrer Lebenszyklusphase in der Entwicklungs- oder in der Produktivphase befindet. Es erfolgt dann ein Vergleich der Markierung des kryptografischen Materials mit dem binären Zustandsflag der jeweiligen Systemkomponente. Stimmen die Markierung und das Flag überein, sprich ist das kryptografische Material beispielsweise als Entwicklungsmaterial markiert und befindet sich die Systemkomponente in der Entwicklungsphase, so wird das entsprechende kryptografische Material von der Systemkomponente verwendet. Stimmen hingegen die Markierung und das binäre Zustandsflag nicht überein, so werden Sicherungsmaßnahmen eingeleitet. Die Überprüfung der Übereinstimmung zwischen der Markierung des kryptografischen Materials und dem binären Zustandsflag erfolgt vor dem jeweiligen Gebrauch des kryptografischen Materials oder einmalig für das gesamte kryptografische Material in der Systemkomponente. Die Überprüfung der Übereinstimmung kann beispielsweise beim Hochfahren der Systemkomponente oder auch beim Bereitstellen des kryptografischen Materials erfolgen. Als Sicherungsmaßnahme kann eine Warnmeldung ausgegeben werden, die Bereitstellung des kryptografischen Materials abgebrochen oder verhindert werden und/oder nach Bedarf bereits in eine Systemkomponente eingebrachtes kryptografisches Material gelöscht werden. A method for the secure use of cryptographic material is already known from DE 10 2020 003 072 B3. Several system components of a networked system are equipped with cryptographic material. The cryptographic material has a mark identifying the cryptographic material as development or production material. The individual system components have a binary status flag which indicates whether the corresponding system component is in the development phase or in the productive phase in its life cycle phase. The marking of the cryptographic material is then compared with the binary status flag of the respective system component. If the marking and the flag match, ie if the cryptographic material is marked as development material and the system component is in the development phase, then the corresponding cryptographic material is used by the system component. If, on the other hand, the marking and the binary status flag do not match, safety measures are initiated. The verification of the correspondence between the marking of the cryptographic material and the binary state flag takes place prior to the respective use of the cryptographic material or once for all cryptographic material in the system component. The match can be checked, for example, when the system component is started up or when the cryptographic material is made available. As a security measure, a warning message can be issued, the delivery of the cryptographic material can be canceled or prevented and/or after Cryptographic material that has already been introduced into a system component can be deleted as required.
Nachteilig ist dabei jedoch, dass zur Unterscheidung, ob kryptografisches Material auf der Systemkomponente eingesetzt werden darf, lediglich zwischen zwei Lebenszyklusphasen der entsprechenden Systemkomponente und zwei verschiedenen Eigenschaften (Test oder Produktiv) für das kryptografische Material unterschieden wird. Im realen Einsatz wird eine Unterscheidung in lediglich zwei Gruppen nicht ausreichen, da die Bedingungen für die sichere Nutzung von kryptografischem Material für verschiedene kryptografische Materiale und Systemkomponenten zu unterschiedlich sind. Wird beispielsweise ein Geheimnis direkt in einem Hardwaresicherheitsmodul erzeugt und aufbewahrt und verlässt dieses nie, so kann das kryptografische Material gegebenenfalls schon während der Entwicklungsphase sicher genutzt werden. Voraussetzung ist dabei jedoch, dass das Hardwaresicherheitsmodul in der Entwicklungsphase keine speziellen Diagnoseschnittstellen, welche das Auslesen des Geheimnisses ermöglichen würden, aufweist bzw. verwendet. Ein in Software inkludiertes Geheimnis hingegen ist Teil eines Programmcodes und kann so über diverse Schnittstellen vergleichsweise einfach ausgelesen beziehungsweise rekonstruiert werden. Ein sicherer Einsatz eines solchen Geheimnisses in einer späteren Produktivphase der Systemkomponente ist dann nicht möglich. The disadvantage here, however, is that to distinguish whether cryptographic material may be used on the system component, a distinction is only made between two life cycle phases of the corresponding system component and two different properties (test or productive) for the cryptographic material. In real use, a differentiation into just two groups will not suffice, since the conditions for the secure use of cryptographic material are too different for different cryptographic materials and system components. For example, if a secret is created and stored directly in a hardware security module and never leaves it, the cryptographic material can be used securely during the development phase if necessary. However, the prerequisite here is that the hardware security module in the development phase does not have or use any special diagnostic interfaces which would enable the secret to be read out. A secret included in software, on the other hand, is part of a program code and can thus be read out or reconstructed comparatively easily via various interfaces. A secure use of such a secret in a later productive phase of the system component is then not possible.
Der vorliegenden Erfindung liegt die Aufgabe zugrunde, ein verbessertes Verfahren zur Implementierung und Nutzung von kryptografischem Material in wenigstens einer Systemkomponente eines informationstechnischen Systems anzugeben, welches eine besonders flexible sichere Implementierung und Nutzung von sich auf vielfältige Art und Weise unterscheidenden kryptografischen Materialen in verschiedenen Systemkomponenten erlaubt, und dabei gewährleistet, dass bei einer Systemkomponente, die selbst oder bei der wenigstens ein Untermodul in einem unsicheren Modus betrieben wird, für einen unsicheren Betrieb geeignetes kryptografisches Material von der Systemkomponente oder zumindest dem Untermodul verwendet wird und bei einer Systemkomponente, die selbst oder bei der wenigstens ein Untermodul in einem sicheren Modus betrieben wird, für einen sicheren Betrieb geeignetes kryptografisches Material von der Systemkomponente oder zumindest dem Untermodul verwendet wird. Erfindungsgemäß wird diese Aufgabe durch ein Verfahren zur Implementierung und Nutzung von kryptografischem Material in wenigstens einer Systemkomponente eines informationstechnischen Systems mit den Merkmalen des Anspruchs 1 gelöst. Vorteilhafte Ausgestaltungen und Weiterbildungen ergeben sich aus den hiervon abhängigen Ansprüchen. The present invention is based on the object of specifying an improved method for the implementation and use of cryptographic material in at least one system component of an information technology system, which allows a particularly flexible, secure implementation and use of cryptographic materials that differ in a variety of ways in various system components. and thereby ensures that, in the case of a system component which itself or in which at least one sub-module is operated in an insecure mode, cryptographic material suitable for insecure operation is used by the system component or at least the sub-module and in the case of a system component which itself or in which at least one sub-module is operated in a secure mode, cryptographic material suitable for secure operation is used by the system component or at least the sub-module. According to the invention, this object is achieved by a method for implementing and using cryptographic material in at least one system component of an information technology system having the features of claim 1. Advantageous configurations and developments result from the dependent claims.
Bei einem Verfahren zur Implementierung und Nutzung von kryptografischem Material in wenigstens einer Systemkomponente eines informationstechnischen Systems der eingangs genannten Art, weist das kryptografische Material Zusatzdaten auf, welche erfindungsgemäß von wenigstens einer Bedingung, wenigstens einer Rolle und/oder wenigstens einer Zielkomponentenidentität ausgebildet werden. In a method for implementing and using cryptographic material in at least one system component of an information technology system of the type mentioned at the outset, the cryptographic material has additional data which, according to the invention, are formed by at least one condition, at least one role and/or at least one target component identity.
Das erfindungsgemäße Verfahren erlaubt eine besonders flexible sichere Implementierung und Nutzung von kryptografischem Material in den unterschiedlichsten Systemkomponenten und/oder deren Untermodulen. So erfordern verschiedene Systemkomponenten wie ein Steuergerät, ein Cloud-Server, eine auf einem mobilen Endgerät ausgeführte Applikation, ein Fahrzeug oder ein externes Gerät zu verschiedenen Zeitpunkten die Verwendung verschiedenster kryptografischer Materiale, wie symmetrische oder asymmetrische Schlüssel, Zertifikate, Zufallszahlen, Hashwerte oder dergleichen. So kann eine bestimmte Ziel-Systemkomponente, welche kryptografisches Material verwenden soll, in verschiedenen Zuständen auch die Verwendung verschiedener kryptografischer Materiale erfordern. Der Zustand der jeweiligen Systemkomponente wird dabei mit Hilfe wenigstens einer Variablen beschrieben. Die entsprechende Systemkomponente kann eine Vielzahl unterschiedlicher Zustände annehmen, somit also auch mehr als zwei Zustände wie das Befinden in einer Entwicklungsphase oder einer Produktivphase eines Lebenszyklus aufweisen. Auch können sich einzelne Untermodule einer Systemkomponente in verschiedenen Lebenszyklusphasen bzw. Zuständen befinden. Beispielsweise kann sich eine Netzwerkschnittstelle in einem ersten, unsicheren Zustand, und ein Speicherelement der Systemkomponente in einem zweiten, sicheren Zustand befinden. Ein entsprechendes informationstechnisches System kann dabei vernetzt oder isoliert sein. Kryptografisches Material wird typischerweise von einem dedizierten System, beispielsweise einem Kryptomaterial-Server, erzeugt und als Teil eines speziellen Datenpakets an ein Zielsystem, sprich eine Ziel-Systemkomponente, übertragen. Dabei wird erfindungsgemäß das kryptografische Material um Zusatzdaten ergänzt. Eine entsprechende Bedingung legt dabei fest, unter welchen Umständen das Verwenden des kryptografischen Materials von der Systemkomponente zulässig ist bzw. nicht zulässig ist. Die entsprechenden Bedingungen können vielfältigster Natur sein. Beispielsweise kann mit der Bedingung gefordert werden, dass sich die jeweilige Systemkomponente in einem bestimmten Abschnitt eines Produktlebenszyklus befindet, oder dass die Systemkomponente ein Hardwaresicherheitsmodul aufweist, und, dass sich dieses in einem sicheren Zustand befindet, sodass das Hardwaresicherheitsmodul auf sichere Weise kryptografisches Material aufnehmen und ablegen kann. Das kryptografische Material kann dabei auch mehrere Bedingungen umfassen. Hierdurch kann die Implementierung und Nutzung von kryptografischem Material bei verschiedenen Systemkomponenten in einer noch größeren Anzahl unterschiedlicher Einsatzszenarien gesteuert werden. The method according to the invention allows a particularly flexible, secure implementation and use of cryptographic material in the most varied of system components and/or their sub-modules. Various system components such as a control device, a cloud server, an application running on a mobile device, a vehicle or an external device require the use of a wide variety of cryptographic materials such as symmetric or asymmetric keys, certificates, random numbers, hash values or the like at different times. Thus, a specific target system component, which is to use cryptographic material, can also require the use of different cryptographic materials in different states. The state of the respective system component is described using at least one variable. The corresponding system component can assume a large number of different states, i.e. it can also have more than two states, such as being in a development phase or a productive phase of a life cycle. Individual sub-modules of a system component can also be in different life cycle phases or states. For example, a network interface can be in a first, insecure state, and a memory element of the system component can be in a second, secure state. A corresponding information technology system can be networked or isolated. Cryptographic material is typically generated by a dedicated system, for example a crypto material server, and transmitted to a target system, i.e. a target system component, as part of a special data packet. According to the invention, the cryptographic material is supplemented with additional data. A corresponding condition defines the circumstances under which the use of the cryptographic material by the system component is permitted or not permitted. The corresponding conditions can be of the most diverse nature. For example, the condition can require that the respective system component is in a certain phase of a product life cycle, or that the system component has a hardware security module and that this is in a secure state so that the hardware security module can securely record cryptographic material and can put down. The cryptographic material can also include several conditions. This allows the implementation and use of cryptographic material in various system components to be controlled in an even larger number of different application scenarios.
Für eine Systemkomponente vorgesehenes kryptografisches Material erfüllt dort eine bestimmte Rolle. Werden von der gleichen Systemkomponente mehrere kryptografische Materiale der gleichen Art verwendet, beispielsweise mehrere öffentliche 4096-Bit-RSA- Schlüssel, so kann die Systemkomponente selbst nicht unterscheiden, welche Rolle das neue kryptografische Material spielen soll, also beispielsweise wie und wo es in der Systemkomponente zu installieren und wie es zu verwenden ist. Diese, die Rolle des kryptografischen Materials betreffende Information, kann in Form der Rolle an das kryptografische Material angehängt werden. Die Rolle unterscheidet sich dabei von der Bedingung derart, dass die Rolle keine Bedingung an den aktuellen Zustand der Systemkomponente stellt. Cryptographic material intended for a system component fulfills a specific role there. If several cryptographic materials of the same type are used by the same system component, for example several public 4096-bit RSA keys, the system component itself cannot distinguish which role the new cryptographic material should play, i.e. how and where it should be in the system component to install and how to use it. This information pertaining to the roll of cryptographic material may be attached to the cryptographic material in the form of the roll. The role differs from the condition in that the role does not place any conditions on the current status of the system component.
Zur besonders effizienten Unterscheidung in welcher Systemkomponente kryptografisches Material verwendet werden darf, kann das kryptografische Material mit einer Zielkomponentenidentität ergänzt werden. Die Zielkomponentenidentität umfasst dabei eine eindeutige Kennzeichnung der Systemkomponenten, welche das entsprechende kryptografische Material verwenden dürfen. Wird das entsprechende kryptografische Material auf eine Systemkomponente aufgebracht, welche nicht in der Zielkomponentenidentität umfasst ist, so wird die Verwendung des kryptografischen Materials auf dieser Systemkomponente unterbunden. Hierdurch lässt sich besonders einfach und schnell Vorsehen, welche Systemkomponenten welches kryptografische Material verwenden dürfen und welche nicht. For a particularly efficient distinction in which system component cryptographic material may be used, the cryptographic material can be supplemented with a target component identity. The target component identity includes a clear identification of the system components that are allowed to use the corresponding cryptographic material. If the corresponding cryptographic material is applied to a system component that is not in the Target component identity is included, the use of the cryptographic material on this system component is prevented. This makes it particularly easy and quick to provide which system components may use which cryptographic material and which may not.
Die Zielkomponentenidentität kann dabei sowohl auf eine gesamte Klasse von Systemen, Systemkomponenten und/oder deren Untermodule gerichtet sein, also beispielsweise auf die Klasse „Head-Unit“, „Motorsteuergerät“, „Flash-Speicher“ oder dergleichen, sowie auf genau eine spezielle Systemkomponente, beispielsweise das Hardwaresicherheitsmodul mit der Seriennummer „GHNS-1934952“. The target component identity can be directed to an entire class of systems, system components and/or their sub-modules, for example to the class “head unit”, “engine control unit”, “flash memory” or the like, as well as to exactly one special system component , such as the hardware security module with serial number GHNS-1934952.
Mit Hilfe der wenigstens einen Bedingung, wenigstens einen Rolle und/oder wenigstens einer Zielkomponentenidentität lässt sich somit sehr effizient und flexibel steuern, welches kryptografische Material in welchen Einsatzszenarien, sprich in welchen Zuständen von welcher Systemkomponente und/oder deren Untermodulen, verwendet werden darf und welches nicht. With the help of at least one condition, at least one role and/or at least one target component identity, it is thus possible to control very efficiently and flexibly which cryptographic material may be used in which application scenarios, i.e. in which states of which system component and/or its submodules, and which not.
Das kryptografische Material wird typischerweise als Kryptomaterial-(Daten)Paket ausgebildet und zwischen Systemen bzw. Systemkomponenten ausgetauscht bzw. dort eingebracht. Das Kryptomaterial-Paket umfasst dabei wenigstens das eigentliche kryptografische Material, also beispielsweise ein asymmetrisches Schlüsselpaar, und die jeweilige Bedingung, Rolle und/oder Zielkomponentenidentität in Form von an das kryptografische Material angehängter Zusatzdaten. Hierzu können die angehängten Daten beispielsweise mit dem kryptografischen Material konkateniert sein. Auch kann das Kryptomaterial-Paket weitere Daten umfassen. Der Einfachheit halber wird im vorliegenden Text nur vom kryptografischen Material gesprochen. The cryptographic material is typically designed as a crypto material (data) packet and exchanged between systems or system components or introduced there. The cryptographic material package includes at least the actual cryptographic material, for example an asymmetric pair of keys, and the respective condition, role and/or target component identity in the form of additional data attached to the cryptographic material. For this purpose, the attached data can be concatenated with the cryptographic material, for example. The crypto material package can also include further data. For the sake of simplicity, only the cryptographic material is discussed in this text.
Eine vorteilhafte Weiterbildung des erfindungsgemäßen Verfahrens sieht vor, dass das kryptografische Material wenigstens eine zielkomponentenspezifische Rolle umfasst. Wird ein und dasselbe kryptografische Material an verschiedene Systemkomponenten verschickt, so kann es auf den verschiedenen Systemkomponenten auch verschiedene Rollen erfüllen. So lassen sich in das kryptografische Material zielkomponentenspezifische Rollen einbringen, welche dem kryptografischen Material mitteilen, auf welcher Systemkomponente es wie genutzt werden soll. Hierdurch lässt sich noch umfangreicher und flexibler steuern, wie kryptografisches Material auf verschiedene Systemkomponenten implementiert und dort genutzt wird. An advantageous development of the method according to the invention provides that the cryptographic material comprises at least one role specific to the target component. If one and the same cryptographic material is sent to different system components, it can also fulfill different roles on the different system components. In this way, target component-specific roles can be introduced into the cryptographic material, which tell the cryptographic material on which system component it should be used and how. This allows control even more extensively and flexibly how cryptographic material is implemented on various system components and used there.
Entsprechend einer weiteren vorteilhaften Ausgestaltung des erfindungsgemäßen Verfahrens werden sämtliche Bedingungen von einem systemkomponentenexternen Ersteller definiert und von wenigstens einem in einer Umgebung der Systemkomponente ausgeführten Auswerter ausgewertet, wobei der Ersteller und der Auswerter gemeinsam festlegen, welche Variablen bei der Definition von Bedingungen durch den Ersteller verwendet werden sollen. Hierzu können der Ersteller und der Auswerter einen festen Satz möglicher Variablen nutzen und bedingungsabhängig passende Variablen auswählen. Der Ersteller wählt dabei für jede Bedingung passende Variablen aus. According to a further advantageous embodiment of the method according to the invention, all conditions are defined by a system component-external creator and evaluated by at least one evaluator running in an environment of the system component, with the creator and the evaluator jointly specifying which variables are used by the creator when defining conditions should. For this purpose, the creator and the evaluator can use a fixed set of possible variables and select suitable variables depending on the condition. The creator selects suitable variables for each condition.
Ebenso wird die Anzahl und die Art der Bedingungen vom Ersteller bestimmt. Der für die jeweiligen Variablen verwendete Name und zulässige Wertebereich wird dann gemeinsam von Ersteller und Auswerter festgelegt, wobei der Auswerter bestimmt, welche Namen und Wertebereiche der Ersteller verwenden darf. Der Ersteller entscheidet allerdings selbst, welche Namen und Wertebereiche er dann letztendlich verwendet. Likewise, the number and type of conditions is determined by the creator. The name and permissible value range used for the respective variable is then determined jointly by the creator and the evaluator, with the evaluator determining which names and value ranges the creator may use. However, the creator decides for himself which names and value ranges he ultimately uses.
Bei dem Ersteller handelt es sich beispielsweise um den bereits erwähnten Kryptomaterial-Server. Der Auswerter kann von Hard- und Software ausgebildet sein oder auch von einem Menschen. Der Auswerter kann von der Systemkomponente umfasst sein oder aber auch extern zur Systemkomponente ausgeführt sein, jedoch in einer selben Umgebung wie die Systemkomponente vorgesehen sein. Dies ermöglicht es dem Auswerter, die der Systemkomponente zugrundeliegenden und den entsprechenden Zustand der Systemkomponente beschreibenden Variablen zu erfassen. Ein systemkomponentenexterner Auswerter ermöglicht das Überprüfen der mittels des kryptografischen Materials an die Systemkomponente gestellten Bedingung(en) bei einer noch nicht gebooteten Systemkomponente. So lässt sich beispielsweise ohne ein vorheriges Hochfahren der entsprechenden Systemkomponente in einem Speicher der Systemkomponente entsprechendes überprüftes kryptografisches Material abspeichern. The creator is, for example, the already mentioned crypto material server. The evaluator can be trained by hardware and software or by a human being. The evaluator can be included in the system component or it can also be implemented externally to the system component, but it can be provided in the same environment as the system component. This allows the evaluator to capture the variables underlying the system component and describing the corresponding state of the system component. An evaluator external to the system component enables the condition(s) imposed on the system component by means of the cryptographic material to be checked for a system component that has not yet been booted. Thus, for example, verified cryptographic material corresponding to the system component can be stored in a memory without the corresponding system component having to be started up beforehand.
Der Auswerter ist insbesondere dazu in der Lage, zu jedem beliebigen Zeitpunkt zu überprüfen, ob eine etwaige Bedingung für die jeweilige Systemkomponente erfüllt ist oder nicht. Indem sich der Ersteller und der Auswerter auf einen gemeinsamen Satz relevanter Variablen einigen, kann sichergestellt werden, dass die zur Auswertung einer bestimmten Bedingung benötigten Variablen vom Auswerter auch tatsächlich erfasst werden können. Dies erhöht die Zuverlässigkeit in der Anwendung des erfindungsgemäßen Verfahrens. In particular, the evaluator is able to check at any point in time whether a possible condition for the respective system component is met or not. If the creator and the evaluator agree on a common set of relevant variables, it can be ensured that the variables required to evaluate a certain condition can actually be recorded by the evaluator. This increases the reliability in the application of the method according to the invention.
Eine weitere vorteilhafte Ausgestaltung des Verfahrens sieht ferner vor, dass wenigstens eine Variable einen der folgenden Wertebereiche aufweist: A further advantageous embodiment of the method also provides that at least one variable has one of the following value ranges:
- BOOLEAN; - BOOLEAN;
- INTEGER; oder - INTEGER; or
- STRING. - STRING.
Dabei können alle Variablen denselben Wertebereich aufweisen, sprich vom Typ BOOLEAN, INTEGER oder STRING sein, oder aber es können auch einzelne Variablen verschiedene Wertebereiche aufweisen. Durch die Verwendung der unterschiedlichen Wertebereiche bzw. Typen lassen sich die unterschiedlichsten Variablen zur Definition und nachfolgenden Überprüfung von Bedingungen verwenden. All variables can have the same value range, i.e. be of the BOOLEAN, INTEGER or STRING type, or individual variables can also have different value ranges. By using the different value ranges or types, a wide variety of variables can be used to define and subsequently check conditions.
Entsprechend nimmt eine Variable vom Typ BOOLEAN den Wert TRUE oder FALSE an. Mit Hilfe der Wertebereiche INTEGER und STRING lassen sich Zustände noch detaillierter beziehungsweise vielschichtiger beschreiben. So kann ein bestimmter Zustand beispielsweise mit Hilfe von Zahlen und/oder auch Zeichenketten beschrieben werden. Correspondingly, a variable of the BOOLEAN type assumes the value TRUE or FALSE. With the help of the INTEGER and STRING value ranges, states can be described in even more detail or in a more complex way. For example, a specific state can be described using numbers and/or character strings.
Ein Wertebereich kann beispielsweise von 1 bis 10 reichen. Die zur Definition eines Zustands verwendeten Variablen können beispielsweise in Form eines Vektors vorliegen. Der Vektor kann beispielsweise eine erste Variable vom Typ BOOLEAN und eine zweite Variable vom Typ INTEGER umfassen. Dieser Variabienvektor ist zeitabhängig. Zu einem bestimmten Zeitpunkt kann beispielsweise die erste Variable den Wert TRUE annehmen und die zweite Variable den Wert 24 aufweisen. Damit kann eine Bedingung für jede Systemkomponente durch den Auswerter, dessen Umgebung sich zu einem bestimmten Zeitpunkt t in einem eindeutigen durch die aktuellen Werte der Variablen beschriebenen Zustand befindet, ausgewertet werden, also darauf überprüft werden, ob die Variablen zu dem Zeitpunkt t die definierten Bedingungen erfüllen oder nicht. Der entsprechende Variabienvektor kann dabei auch wenigstens ein leeres Element umfassen. Dies ist beispielsweise der Fall, wenn der Auswerter eine bestimmte Variable nicht erfassen kann. Anstelle eines leeren Elements kann auch ein Platzhalter verwendet werden, wie beispielsweise die Zahl „0“, „9999“ oder eine Zeichenkette wie „NAN“. A range of values can range from 1 to 10, for example. The variables used to define a state can be in the form of a vector, for example. For example, the vector may include a first variable of the BOOLEAN type and a second variable of the INTEGER type. This variability vector is time dependent. At a certain point in time, for example, the first variable can have the value TRUE and the second variable have the value 24. In this way, a condition for each system component can be evaluated by the evaluator whose environment is in a state described by the current values of the variables at a specific point in time t, i.e. it can be checked whether the variables at point in time t meet the defined conditions fulfill or not. The corresponding variable vector can also include at least one empty element. This is the case, for example, when the evaluator cannot capture a particular variable. Instead of an empty element, a placeholder can also be used, such as the number "0", "9999" or a character string such as "NAN".
Ebenso können Variablen von einem strukturierten Typ sein, beispielsweise können Variablen ein: Likewise, variables can be of a structured type, for example variables can be a:
- ARRAY oder ein - ARRAY or a
- RECORD sein, wobei strukturierte Typen sowohl aus un strukturierten als auch aus strukturierten Typen gebildet werden können. - RECORD, where structured types can be formed from both unstructured and structured types.
Entsprechend einer weiteren vorteilhaften Ausgestaltung des Verfahrens ist wenigstens eine Bedingung zielkomponentenspezifisch und/oder operationsspezifisch definiert. So kann das kryptografische Material zur Durchführung verschiedener Operationen wie das Installieren von Software, Ver- oder Entschlüssen von bestimmten Daten, Erstellen oder Prüfen einer Signatur oder dergleichen verwendet und/oder von verschiedenen Systemkomponenten verwendet werden. Damit der Ersteller eine Bedingung als operationsspezifisch, also nur für eine bestimmte Operation geltend, kennzeichnen kann, muss, analog zur Menge der nutzbaren Zustandsvariablen, eine Menge von innerhalb der Systemkomponente bekannten Operationen dem Ersteller mitgeteilt werden, damit dieser diese bei der Definition von Bedingungen nutzen kann. Diese Menge von Operationen kann dabei allgemein, also für alle Zielkomponenten gültig, oder zielkomponentenspezifisch sein. According to a further advantageous embodiment of the method, at least one condition is defined in a target-component-specific and/or operation-specific manner. Thus, the cryptographic material may be used and/or used by various system components to perform various operations such as installing software, locking or decrypting certain data, creating or verifying a signature, or the like. In order for the creator to be able to mark a condition as operation-specific, i.e. only valid for a specific operation, a number of operations known within the system component must be communicated to the creator, analogous to the number of usable state variables, so that they can be used when defining conditions can. This set of operations can be general, i.e. valid for all target components, or target-component-specific.
Damit eine bestimmte Bedingung auf unterschiedlichen Systemkomponenten und/oder bei der Durchführung unterschiedlicher Operationen als erfüllt gilt, kann es der Fall sein, dass für wenigstens zwei verschiedene Systemkomponenten und/oder Operationen eine bestimmte Variable einen unterschiedlichen Wert, also einmal TRUE und einmal FALSE, oder einmal 0 und einmal 256 annehmen muss. In order for a specific condition to be considered fulfilled on different system components and/or when performing different operations, it can be the case that for at least two different system components and/or operations a specific variable has a different value, i.e. TRUE once and FALSE once, or once 0 and once 256.
Eine weitere vorteilhafte Ausgestaltung des erfindungsgemäßen Verfahrens sieht ferner vor, dass für eine zielkomponentenspezifische und/oder operationsspezifische Bedingung auf einer unterschiedlichen Ziel-Systemkomponente und/oder bei einer unterschiedlichen Operation wenigstens eine unterschiedliche Variable verwendet wird. So kann nicht nur eine bestimmte Variable zur Erfüllung einer Bedingung auf unterschiedlichen Systemkomponenten und/oder zur Durchführung unterschiedlicher Operationen verschiedene Werte annehmen, sondern es können hierzu auch unterschiedliche Variablen erforderlich sein. Insbesondere kann sich dabei die Menge und/oder Typ sowie eine Größe eines zulässigen Wertebereichs der für eine Bedingung relevanten Variablen zwischen unterschiedlichen Systemkomponenten und/oder Operationen unterscheiden. Beispielsweise müssen zur Erfüllung einer Bedingung auf einer ersten Systemkomponente die Variablen 1 und 2 die Werte 0 und TRUE annehmen und auf einer zweiten Systemkomponente die Variablen 1 , 2 und 3 die Werte 0, TRUE und FALSE annehmen. Auf einer dritten Systemkomponente müssen zur Erfüllung der selben Bedingung hingegen die Variablen 1 , 2, 3, 4, 5 und 6 die Werte TRUE, [0..100], [-100..100], 0, „engaged“ und FALSE annehmen. Es können generell auch wenigstens zwei BOOLEAN-wertige Ausdrücke ODER verknüpft sein, worauf im Folgenden noch eingegangen wird. A further advantageous embodiment of the method according to the invention also provides that for a target-component-specific and/or operation-specific Condition on a different target system component and / or in a different operation at least one different variable is used. Not only can a specific variable assume different values in order to fulfill a condition on different system components and/or to carry out different operations, but different variables can also be required for this purpose. In particular, the quantity and/or type as well as a size of a permissible value range of the variables relevant to a condition can differ between different system components and/or operations. For example, in order to fulfill a condition on a first system component, the variables 1 and 2 must assume the values 0 and TRUE and on a second system component the variables 1, 2 and 3 must assume the values 0, TRUE and FALSE. On a third system component, however, to fulfill the same condition, the variables 1, 2, 3, 4, 5 and 6 must have the values TRUE, [0..100], [-100..100], 0, "engaged" and FALSE assume. In general, at least two BOOLEAN expressions can be OR linked, which will be discussed below.
Entsprechend einer weiteren vorteilhaften Ausgestaltung des Verfahrens überprüft ein Auswerter eine Bedingung mittels einer Auswertfunktion, wobei wenigstens zwei zueinander abweichende Auswerter eine zueinander abweichende Auswertfunktion nutzen, insbesondere eine operationsspezifische Auswertfunktion. Generell ist es möglich, dass sämtliche Auswerter dieselbe Auswertfunktion nutzen. Durch das Vorsehen verschiedener Auswertfunktionen wird jedoch eine Flexibilität in der Durchführung des erfindungsgemäßen Verfahrens zur Steuerung, unter welchen Bedingungen kryptografisches Material von Systemkomponenten eingesetzt wird, erhöht. According to a further advantageous embodiment of the method, an evaluator checks a condition by means of an evaluation function, wherein at least two evaluators who differ from one another use an evaluation function that differs from one another, in particular an operation-specific evaluation function. It is generally possible for all evaluators to use the same evaluation function. However, the provision of different evaluation functions increases flexibility in the implementation of the method according to the invention for controlling the conditions under which cryptographic material is used by system components.
So kann generell auch eine generische Auswertfunktion verwendet werden, wodurch sämtliches kryptografische Material, beziehungsweise die vom kryptografischen Material umfassten Bedingungen, durch das Vorsehen lediglich einer Funktion ausgewertet werden kann. Die Auswertfunktion kann jedoch auch spezifisch für verschiedene kryptografische Materiale, beispielsweise je nach Rolle des kryptografischen Materials, ausgeführt sein. Insbesondere wird dabei noch einmal für verschiedene Auswertfunktionen für verschiedene Operationen unterschieden. Eine weitere vorteilhafte Ausgestaltung des erfindungsgemäßen Verfahrens sieht ferner vor, dass wenigstens eine Bedingung in einer maschinell verarbeitbaren Definitionssprache definiert ist, wobei eine durch einen Interpreter interpretierbare ausführbare Sprache oder eine der folgenden formalen Logiken verwendet wird: In general, a generic evaluation function can also be used, whereby all cryptographic material, or the conditions covered by the cryptographic material, can be evaluated by providing only one function. However, the evaluation function can also be designed specifically for different cryptographic materials, for example depending on the role of the cryptographic material. In particular, a distinction is again made for different evaluation functions for different operations. A further advantageous embodiment of the method according to the invention also provides that at least one condition is defined in a machine-processable definition language, with an executable language that can be interpreted by an interpreter or one of the following formal logics being used:
- Aussagenlogik; - propositional logic;
- Aussagenlogik mit Relationen; oder - propositional logic with relations; or
- Aussagenlogik mit Relationen und Funktionen. - Propositional logic with relations and functions.
Die Definition der Bedingung in einer maschinell verarbeitbaren Definitionssprache ermöglicht die Verwendung bestehender Sprachen zur Durchführung des erfindungsgemäßen Verfahrens. Unter Verwendung einer auswertbaren Definitionssprache lassen sich Bedingungen über den geltenden, einen Zustand der Systemkomponente beschreibenden Variablen, beispielsweise als mittels der Definitionssprache definierte und verarbeitbare BOOLEAN-wertige Ausdrücke, formulieren. Weist das kryptografische Material mehrere Bedingungen auf, so kann ein für die entsprechende Bedingung relevanter Variabiensatz auch unterschiedliche Variablen enthalten. Dabei können alle Variablen eines entsprechenden Variabiensatzes vom gleichen Typ sein, sprich BOOLEAN, INTEGER oder STRING, oder sich auch wenigstens zwei Variablen eines für eine jeweilige Bedingung relevanten Variabiensatzes in ihrem Typ unterscheiden. Auch können für verschiedene vom kryptografischen Material umfasste Bedingungen dieselben oder verschiedene maschinell verarbeitbare Definitionssprachen gemischt verwendet werden. The definition of the condition in a machine-processable definition language makes it possible to use existing languages for carrying out the method according to the invention. Using a definition language that can be evaluated, conditions can be formulated about the valid variables that describe a state of the system component, for example as BOOLEAN-valued expressions that are defined and processable by means of the definition language. If the cryptographic material has several conditions, a set of variables relevant to the corresponding condition can also contain different variables. All variables of a corresponding set of variables can be of the same type, i.e. BOOLEAN, INTEGER or STRING, or at least two variables of a set of variables relevant to a respective condition can differ in their type. Also, the same or different machine-processable definition languages can be mixedly used for different conditions comprised by the cryptographic material.
Bei der bekannten Aussagenlogik haben alle für eine bestimmte Bedingung relevanten Variablen den Wertebereich BOOLEAN. Die einzelnen Variablen können also nur die Werte TRUE oder FALSE annehmen. Logische Formeln werden mit Hilfe von bekannten aussagenlogischen Junktoren, sprich „A“, „V“, oder dergleichen, sowie Klammern „(“ „)“ gebildet. Beispiele von aussagenlogischen Formeln sind: In the well-known propositional logic, all variables relevant to a specific condition have the value range BOOLEAN. The individual variables can therefore only have the values TRUE or FALSE. Logical formulas are formed with the help of well-known propositional logical connectives, i.e. "A", "V", or the like, as well as brackets "(" ")". Examples of propositional formulas are:
- Variabiei ; - Variabiei;
- Variable2 A TRUE; - Variable2 A TRUE;
- (Variabiei A (Variable2 v Variables)). Bei Aussagenlogik mit Relationen können für eine bestimmte Bedingung relevante Variablen verschiedene Wertebereiche haben. Es existiert eine endliche Menge von Relationen, wobei jeder Relation eine feste Stelligkeit zugeordnet ist, sowie jeder Relation und der Stelle ein fester Wertebereich zugeordnet ist. Ein relationaler Term ergibt sich dann durch die Anwendung einer Relation auf eine der Stelligkeit entsprechende Anzahl von Konstanten und/oder Variablen mit den passenden Wertebereichen. Bei der Auswertung eines relationalen Terms für eine feste vorgegebene Wertebelegung der in diesem Term vorkommenden Variablen ergibt sich immer ein Boolescher Wert, also TRUE oder FALSE. Ein Beispiel für eine zweistellige Relation, die beispielsweise in beiden Stellen INTEGER als Wertebereich erfordert, ist die kleiner-gleich-Relation „<“, auf dieser Relation basierende relationale Terme wären beispielsweise: - (Variablei A (Variable2 v Variables)). In propositional logic with relations, variables relevant to a specific condition can have different value ranges. There is a finite set of relations, with each relation being assigned a fixed arity, and each relation and the position being assigned a fixed range of values. A relational term is then obtained by applying a relation to a number of constants and/or variables with the appropriate value ranges that corresponds to the arity. When evaluating a relational term for a fixed value assignment of the variables occurring in this term, the result is always a Boolean value, i.e. TRUE or FALSE. An example of a two-digit relation that requires INTEGER as the value range in both places, for example, is the less than or equal relation "<", relational terms based on this relation would be, for example:
Variabiei < Variable2; 7 < Variables. variable < variable2; 7 < variables.
Logische Formeln werden mit Hilfe von BOOLEAN-Konstanten, BOOLEAN-Variablen, relationalen Termen und bekannten aussagenlogischen Junktoren A, V, etc. sowie Klammern „(“ und „)“ zur Festlegung der Auswertungsreihenfolge gebildet. Ein Beispiel für eine aussagenlogische Formel mit Relationen, das die zweitstelligen Relationen „<“ und „=“ verwendet, ist: Logical formulas are formed with the help of BOOLEAN constants, BOOLEAN variables, relational terms and well-known propositional logical connectives A, V, etc. as well as brackets "(" and ")" to determine the evaluation order. An example of a propositional formula with relations that uses the two-digit relations "<" and "=" is:
(Variabiei A ((Variable2 < Variables) v (Variables = Variable4))). (Variablei A ((Variable2 < Variables) v (Variables = Variable4))).
Bei Aussagenlogik mit Relationen und Funktionen wird zusätzlich eine endliche Menge von Funktionen verwendet, wobei jeder Funktion eine feste Stelligkeit zugeordnet ist, sowie jeder Funktion und jeder Stelle ein fester Wertebereich zugeordnet ist. Außerdem ist für jede Funktion der Wertebereich des Ergebnisses definiert. Eine Funktion wird dann auf eine der Stelligkeit entsprechende Anzahl von Konstanten, Variablen und/oder Funktionen mit den passenden Wertebereichen angewendet und liefert einen Wert aus dem vorgegebenen Ergebnis-Wertebereich. Ein Beispiel für eine zweistellige Funktion, die beispielsweise in beiden Stellen INTEGER als Wertebereich erfordert und einen INTEGER-Wert als Ergebnis liefert, ist die Addition „+“. Logische Formeln werden wie bei der Aussagenlogik mit Relationen gebildet, mit dem Unterschied, dass relationale Terme nicht nur durch Anwendung von Relationen auf Konstanten und/oder Variablen, sondern auch auf Konstanten/Variablen angewendete Funktionen mit entsprechendem Ergebnis- Wertebereich gebildet werden können. Ein Beispiel für eine aussagenlogische Formel mit Relationen und Funktionen ist: In the case of propositional logic with relations and functions, a finite set of functions is also used, with each function being assigned a fixed number of digits, and each function and each digit being assigned a fixed range of values. In addition, the value range of the result is defined for each function. A function is then applied to a number of constants, variables and/or functions with the appropriate value ranges that corresponds to the arity and returns a value from the specified result value range. An example of a two-digit function that requires INTEGER as the range of values in both digits and returns an INTEGER value as the result is the addition "+". Logical formulas are formed with relations as in propositional logic, with the difference that relational terms are not only formed by applying relations to constants and/or variables, but also to functions applied to constants/variables with the corresponding result Value range can be formed. An example of a propositional formula with relations and functions is:
- (Variabiei A ((Variable2 < (Variables + Variable?)) v (((Variables - Variables) + Variable2) = Variable4))). - (Variablei A ((Variable2 < (Variables + Variable?)) v (((Variables - Variables) + Variable2) = Variable4))).
Insbesondere die Verwendung einer durch einen Interpreter interpretierbaren ausführbaren Sprache hingegen bietet Vorteile. Solche Sprachen sind aufgrund der Ausführbarkeit sehr „mächtig“. So ist vor Ausführung eines entsprechenden Programmcodes keine vorherige Übersetzung/Kompilierung, beziehungsweise Transformation in einen Formelbaum und Einsetzen von Variabienwerten, notwendig. Bei einer interpretierbaren ausführbaren Sprache kann es sich beispielsweise um eine Skriptsprache wie Python handeln. In particular, the use of an executable language that can be interpreted by an interpreter offers advantages. Such languages are very “powerful” due to their executability. Thus, before executing a corresponding program code, no previous translation/compilation, or transformation into a formula tree and insertion of variable values, is necessary. An interpretable executable language can be, for example, a scripting language such as Python.
Entsprechend einer weiteren vorteilhaften Ausgestaltung des erfindungsgemäßen Verfahrens werden wenigstens zwei Bedingungen in einer zueinander abweichenden Definitionssprache formuliert, insbesondere werden zwei zielkomponentenspezifische Bedingungen in einer zueinander abweichenden Definitionssprache formuliert. Verwendet eine erste Systemkomponente eine erste Sprache und eine zweite Systemkomponente eine zweite, zur ersten Sprache abweichende Sprache, so wird durch das Vorsehen zweier mit verschiedenen Definitionssprachen formulierter Bedingungen sichergestellt, dass beide Systemkomponenten die für sie relevante Bedingung auch auswerten können. Entsprechend sind auch die für die Bedingungen relevanten Variablen in der jeweiligen Definitionssprache formuliert. Es ist auch möglich, dass zwei für dieselbe Systemkomponente gültige Bedingungen in einer zueinander abweichenden Definitionssprache formuliert werden. So kann es vorteilhaft sein, eine bestimmte Bedingung mit einer bestimmten Definitionssprache zu formulieren. Dies ist beispielsweise der Fall, wenn das Erfassen und/oder Verarbeiten bestimmter Variablen nur mit einer bestimmten Definitionssprache möglich ist bzw. dies aufgrund verschiedenster Randbedingungen vorgegeben ist. According to a further advantageous embodiment of the method according to the invention, at least two conditions are formulated in a definition language that differs from one another, in particular two target-component-specific conditions are formulated in a definition language that differs from one another. If a first system component uses a first language and a second system component uses a second language that differs from the first language, the provision of two conditions formulated with different definition languages ensures that both system components can also evaluate the condition relevant to them. The variables relevant to the conditions are formulated accordingly in the respective definition language. It is also possible for two conditions valid for the same system component to be formulated in a definition language that differs from one another. So it can be advantageous to formulate a certain condition with a certain definition language. This is the case, for example, if certain variables can only be recorded and/or processed with a certain definition language or if this is specified due to a wide variety of boundary conditions.
Eine weitere vorteilhafte Ausgestaltung des erfindungsgemäßen Verfahrens sieht ferner vor, dass das kryptografische Material wenigstens zwei Bedingungen umfasst und sämtliche Bedingungen erfüllt sein müssen, damit das kryptografische Material von der Systemkomponente verwendet wird. Rückbezogen auf die Verwendung formaler Logiken bedeutet dies, dass die verwendeten Bedingungen UND-verknüpft sind. So müssen alle Bedingungen erfüllt sein, damit das kryptografische Material von der Systemkomponente verwendet wird. So ist das Erfüllen einer einzelnen Bedingung zur Anwendung des kryptografischen Materials von der Systemkomponente notwendig, aber nicht notwendigerweise hinreichend, da wenigstens eine weitere Bedingung erfüllt werden muss. A further advantageous embodiment of the method according to the invention also provides that the cryptographic material comprises at least two conditions and all of the conditions must be met in order for the cryptographic material to be used by the system component. Referring back to the use of formal logic, this means that the conditions used are AND-linked. So must all Conditions must be met for the cryptographic material to be used by the system component. For example, the fulfillment of a single condition for the use of the cryptographic material by the system component is necessary, but not necessarily sufficient, since at least one further condition must be met.
Entsprechend einer weiteren vorteilhaften Ausgestaltung des Verfahrens liefert der Auswerter, wenn von einer Systemkomponente kryptografisches Material verwendet werden soll, dessen zielkomponentenspezifische Bedingung die Klasse der entsprechende Systemkomponente nicht umfasst, wenn durch Nutzung des kryptografischen Materials eine Operation durchzuführen ist, welche nicht von einer operationsspezifischen Bedingung umfasst ist oder wenn ein Auswerter eine zur Überprüfung eines Zustands erforderliche Variable nicht erfassen kann, für die jeweilige Bedingung standardmäßig die folgende Antwort: According to a further advantageous embodiment of the method, the evaluator supplies, if cryptographic material is to be used by a system component whose target component-specific condition does not include the class of the corresponding system component, if an operation is to be carried out using the cryptographic material which is not covered by an operation-specific condition or when an evaluator cannot capture a variable required to check a condition, the response for that condition defaults to:
- TRUE; - TRUE;
- FALSE; oder - FALSE; or
- eine als Standardantwort an das kryptografische Material angehängte Antwort. - a response attached to the cryptographic material as a default response.
Hierdurch wird eine noch zuverlässigere Umsetzung des erfindungsgemäßen Verfahrens gewährleistet. So kann generell eine Systemkomponente, beziehungsweise eine Klasse der Systemkomponente, von der bestimmte kryptografische Materiale verwendet werden sollen, nicht in eine zielkomponentenspezifische Bedingung inkludiert sein. Damit trotzdem von der entsprechenden Systemkomponente das kryptografische Material angewendet werden kann, wird standardmäßig nach der Überprüfung der zielkomponentenspezifischen Bedingung der Wert TRUE ausgegeben. Soll stattdessen in einem solchen Fall die Anwendung des kryptografischen Materials unterbunden werden, wird standardmäßig der Wert FALSE ausgegeben. Zur Erhöhung der Flexibilität des erfindungsgemäßen Verfahrens kann auch die Standardantwort in Form von TRUE oder FALSE an das kryptografische Material angehängt werden. Hierdurch lässt sich das Risiko senken, dass auf einer Systemkomponente, deren Standardantwort auf TRUE gesetzt ist, das kryptografische Material angewendet wird, obwohl dies eigentlich nicht der Fall sein sollte. So wird in diesem Falle die Standardantwort in Form von FALSE an das kryptografische Material angehängt. Die im vorigen getätigten Formulierungen gelten entsprechend für eine operationsspezifische Bedingung, sowie für den Fall, dass ein Auswerter eine zur Überprüfung einer bestimmten Bedingung erforderliche Variable nicht erfassen kann. This ensures an even more reliable implementation of the method according to the invention. In general, a system component, or a class of the system component, from which certain cryptographic materials are to be used, cannot be included in a target-component-specific condition. So that the cryptographic material can still be used by the corresponding system component, the value TRUE is output by default after the target component-specific condition has been checked. If, in such a case, the use of the cryptographic material is to be prevented instead, the value FALSE is output by default. To increase the flexibility of the method according to the invention, the standard response in the form of TRUE or FALSE can also be appended to the cryptographic material. This can reduce the risk that a system component whose default response is set to TRUE will have the cryptographic material applied when it really shouldn't. In this case, the default response in the form of FALSE is appended to the cryptographic material. The formulations made above apply correspondingly to an operation-specific condition, as well as in the event that an evaluator cannot record a variable required to check a specific condition.
Eine weitere vorteilhafte Ausgestaltung des erfindungsgemäßen Verfahrens sieht ferner vor, dass sämtliche vom kryptografischen Material umfassten Zusatzdaten kryptografisch gegen eine Kompromittierung abgesichert werden, insbesondere unter Verwendung wenigstens einer digitalen Signatur und/oder eines symmetrischen Integritätsschutzmechanismus. Als symmetrischer Integritätsschutzmechanismus kann insbesondere ein Keyed-Hash Message Authentication Code (HMAC) verwendet werden. Das Absichern des kryptografischen Materials gegen Kompromittierung erhöht den Schutz bei der Durchführung des erfindungsgemäßen Verfahrens noch weiter. So werden die neben dem kryptografischen Material an das Kryptomaterial-Paket angehängten Zusatzdaten gegen unbefugte Manipulation geschützt. Beispielsweise kann das kryptografische Material samt den dazugehörigen Zusatzdaten beispielsweise vom Ersteller mit Hilfe seines asymmetrischen privaten Schlüssels digital signiert werden. Insbesondere werden zum Signieren sichere Verfahren und sichere Systeme genutzt. Der öffentliche Schlüssel oder ein den öffentlichen Schlüssel enthaltendes Zertifikat wird dann an alle betroffenen Auswerter verteilt. In den entsprechenden Systemen wird der entsprechende öffentliche Schlüssel bzw. das Zertifikat manipulationsgeschützt eingebracht. Beispielsweise wird der öffentliche Schlüssel bzw. das Zertifikat in einem schreibgeschützten Speicher (ROM) oder in einem nur einmalig beschreibbaren Speicher (WORM) abgespeichert. Entsprechend umfasst das Kryptomaterial-Paket eine solche digitale Signatur. Dementsprechend wird das kryptografische Material von der Systemkomponente nur dann verwendet, wenn eine Prüfung der an das kryptografische Material angehängten Signatur mit Hilfe des eingebrachten öffentlichen Schlüssels bzw. des Zertifikats ein positives Ergebnis liefert. A further advantageous embodiment of the method according to the invention also provides that all additional data comprised by the cryptographic material is cryptographically secured against being compromised, in particular using at least one digital signature and/or a symmetrical integrity protection mechanism. In particular, a keyed hash message authentication code (HMAC) can be used as a symmetrical integrity protection mechanism. Securing the cryptographic material against compromise increases the protection even further when the method according to the invention is carried out. In this way, the additional data attached to the cryptographic material package in addition to the cryptographic material is protected against unauthorized manipulation. For example, the cryptographic material together with the associated additional data can be digitally signed by the creator using his asymmetric private key. In particular, secure procedures and secure systems are used for signing. The public key or a certificate containing the public key is then distributed to all evaluators concerned. The corresponding public key or certificate is introduced in a tamper-proof manner in the corresponding systems. For example, the public key or the certificate is stored in a read-only memory (ROM) or in a memory that can only be written once (WORM). Correspondingly, the crypto-material package includes such a digital signature. Accordingly, the cryptographic material is only used by the system component if a check of the signature attached to the cryptographic material using the introduced public key or the certificate supplies a positive result.
Entsprechend einer weiteren vorteilhaften Ausgestaltung des erfindungsgemäßen Verfahrens erhalten wenigstens zwei unterschiedliche Akteure eine Berechtigung zum digitalen Signieren des kryptografischen Materials, wobei sämtliche zum Signieren berechtigte Akteure ihr eigenes zu einer gemeinsamen Zertifikatshierarchie gehörendes Blattzertifikat mit dem dazugehörigen privaten Schlüssel erhalten. So ist es insbesondere dann sinnvoll, mehreren Akteuren eine Berechtigung zum digitalen Signieren zu geben, wenn auch mehrere Akteure kryptografisches Material erstellen. Ein die Signatur durchführendes System signiert dann das entsprechende kryptografische Material mit dem zu seinem Blattzertifikat gehörendem privaten Schlüssel. Dem kryptografischen Material wird dann nicht nur die erzeugte Signatur, sondern auch die gesamte Zertifikats kette hinzugefügt. Die an das kryptografische Material angehängte Zertifikats kette wird dann von einem entsprechenden Auswerter bzw. einem den Auswerter umfassenden System genutzt, um die Korrektheit der vom signierenden System erstellen Signatur zu prüfen. According to a further advantageous embodiment of the method according to the invention, at least two different actors are authorized to digitally sign the cryptographic material, with all actors authorized to sign receiving their own leaf certificate belonging to a common certificate hierarchy with the associated private key. In particular, it makes sense to give several actors permission to digitally sign albeit multiple actors create cryptographic material. A system performing the signature then signs the corresponding cryptographic material with the private key belonging to its leaf certificate. Not only the generated signature is then added to the cryptographic material, but also the entire certificate chain. The certificate chain attached to the cryptographic material is then used by a corresponding evaluator or a system comprising the evaluator in order to check the correctness of the signature created by the signing system.
Handelt es sich bei dem kryptografischen Material bereits um ein digitales Zertifikat, so ist es von vorneherein signiert. Werden dann Zusatzdaten, sprich wenigstens eine Bedingung, Rolle und/oder Zielkomponentenidentität, in das Zertifikat aufgenommen, so werden diese vom Ersteller des Zertifikats mitsigniert. So lassen sich die Zusatzdaten, oder auch nur Teile davon, als eine oder mehrere Zertifikatserweiterungen in das entsprechende Zertifikat mit aufnehmen und somit mitsignieren. Werden alle Zusatzdaten in das Zertifikat mit aufgenommen, so kann auf die dedizierte Erstellung der digitalen Signatur des kryptografischen Materials verzichtet werden. If the cryptographic material is already a digital certificate, it is signed from the start. If additional data, i.e. at least one condition, role and/or target component identity, is then included in the certificate, this is also signed by the creator of the certificate. In this way, the additional data, or just parts of it, can be included in the corresponding certificate as one or more certificate extensions and thus co-signed. If all additional data is included in the certificate, the dedicated creation of the digital signature for the cryptographic material can be dispensed with.
Zur Gewährung eines bestmöglichen Schutzes sollte das erfindungsgemäße Verfahren frühestmöglich bei der Entwicklung einer entsprechenden Systemkomponente verwendet werden. Da die Überprüfung der Bedingung durch den Auswerter von Variablen abhängig ist, sind diese Variablen bestmöglich vor einer Manipulation zu schützen, da korrumpierte Variablen das Vorliegen eines tatsächlich nicht existierenden Zustands vortäuschen können. Zur Bewertung einer Bedingung verwendete Konstanten werden dementsprechend bevorzugt in einem einmalig beschreibbaren Speicher wie einem WORM-Speicher abgelegt. Die Werte der Variablen, von denen die Bedingungen abhängen, werden bevorzugt während des gesamten Lebenszyklus des informationstechnischen Systems bzw. der einzelnen Systemkomponenten auf systematische Weise an den aktuellen Systemzustand angepasst. To ensure the best possible protection, the method according to the invention should be used as early as possible when developing a corresponding system component. Since the condition check by the evaluator depends on variables, these variables must be protected against manipulation as best as possible, since corrupted variables can simulate the existence of a non-existent state. Accordingly, constants used to evaluate a condition are preferably stored in a write-once memory such as a WORM memory. The values of the variables on which the conditions depend are preferably systematically adapted to the current system state during the entire life cycle of the information technology system or of the individual system components.
Bevorzugt wird als informationstechnisches System ein Fahrzeug-Ökosystem genutzt. Generell kann das erfindungsgemäße Verfahren für verschiedene Systemkomponenten in verschiedenartigen vernetzten oder nicht-vernetzten informationstechnischen Systemen eingesetzt werden. Besonders effizient ist eine Nutzung dann, wenn das informationstechnische System ein Fahrzeug-Ökosystem ist, da hier die entsprechenden Anforderungen hinsichtlich einer aufwändigen Entwicklung mit vielen beteiligten Partnern das Einhalten von Sicherheitsrichtlinien in der Praxis häufig sehr schwierig macht. Durch die Implementierung des erfindungsgemäßen Verfahrens und damit einer Selbstüberprüfung durch die jeweilige Systemkomponente kann die Gefahr einer potenziellen Sicherheitslücke drastisch minimiert werden. A vehicle ecosystem is preferably used as the information technology system. In general, the method according to the invention can be used for different system components in different types of networked or non-networked information technology systems. Use is particularly efficient when information technology system is a vehicle ecosystem, since the corresponding requirements in terms of complex development with many partners involved often make compliance with safety guidelines very difficult in practice. The risk of a potential security gap can be drastically minimized by the implementation of the method according to the invention and thus a self-check by the respective system component.
Weitere vorteilhafte Ausgestaltungen des erfindungsgemäßen Verfahrens zur Implementierung und Nutzung von kryptografischem Material in wenigstens einer Systemkomponente eines informationstechnischen Systems ergeben sich auch aus den Ausführungsbeispielen, welche nachfolgend unter Bezugnahme auf die Figuren näher beschrieben werden. Further advantageous refinements of the method according to the invention for implementing and using cryptographic material in at least one system component of an information technology system also result from the exemplary embodiments, which are described in more detail below with reference to the figures.
Dabei zeigen: show:
Fig. 1 eine Prinzipdarstellung einer ersten Verwendung von kryptografischem Material auf einer Systemkomponente eines informationstechnischen Systems; 1 shows a schematic representation of a first use of cryptographic material on a system component of an information technology system;
Fig. 2 eine Prinzipdarstellung einer Verwendung alternativen kryptografischen Materials auf der in Figur 1 gezeigten Systemkomponente; FIG. 2 shows a schematic representation of a use of alternative cryptographic material on the system component shown in FIG. 1;
Fig. 3 eine Prinzipdarstellung einer Verwendung alternativen kryptografischen Materials auf einer weiteren Systemkomponente; und 3 shows a schematic representation of a use of alternative cryptographic material on a further system component; and
Fig. 4 ein Ablaufdiagramm einer beispielhaften Verarbeitung von kryptografischem Material auf einer Systemkomponente bei der Ausführung einer Operation. 4 shows a flowchart of an exemplary processing of cryptographic material on a system component when executing an operation.
Figur 1 zeigt ein erstes Ausführungsbeispiel zur Verwendung von kryptografischem Material KM von wenigstens einer Systemkomponente SK eines informationstechnischen Systems IT-S. Ein Zustand der Systemkomponente SK wird mittels wenigstens einer Variable VAR beschrieben. In dem Beispiel in Figur 1 wird die Menge aller Variablen VAR als VAR bezeichnet und die einzelne hier verwendete Zustandsvariable als „produktiv“. Die Zustandsvariable produktiv zeigt an, ob sich die Systemkomponente SK in einer Produktivphase ihres Lebenszyklus befindet, also ein Produktivsystem ist, oder nicht. Bei dem kryptografischen Material KM handelt es sich um ein selbstsigniertes, zu einem Test-Root-Schlüsselpaar (TestRootPub, TestRootPriv) gehörendes Test-Root- Zertifikat TestRootCert, das ins Zielsystem als Vertrauensanker eingebracht wird, um damit Test-Verbindungen mit Kommunikationspartnern aufbauen zu können, indem die Vertrauenswürdigkeit der von Partnern empfangenen mit TestRootPriv signierten Zertifikate mit Hilfe von TestRootCert überprüft werden kann. FIG. 1 shows a first exemplary embodiment for using cryptographic material KM from at least one system component SK of an information technology system IT-S. A state of the system component SK is described using at least one variable VAR. In the example in FIG. 1, the set of all variables VAR is referred to as VAR and the individual status variable used here as “productive”. The status variable productive indicates whether the system component SK is in a productive phase of its life cycle, i.e. it is a productive system or not. The cryptographic material KM is a self-signed test root certificate TestRootCert belonging to a test root key pair (TestRootPub, TestRootPriv), which is introduced into the target system as a trust anchor to be able to set up test connections with communication partners by checking the trustworthiness of the certificates signed with TestRootPriv received from partners using TestRootCert.
Das Zertifikat TestRootCert ist unter unsicheren Bedingungen erstellt worden, beispielsweise ist der private Schlüssel TestRootPriv nicht sicher abgelegt. Somit darf TestRootCert in Produktivsystemen nicht verwendet werden. Dementsprechend ist eine vom kryptografischen Material KM umfasste Bedingung BED als produktiv = FALSE definiert. Die Bedingung BED besagt, dass das Zertifikat TestRootCert vom Zielsystem, sprich der Systemkomponente SK, nur verwendet werden darf, wenn es sich nicht in der Produktivphase befindet. The TestRootCert certificate was created under insecure conditions, for example the private key TestRootPriv is not securely stored. Thus, TestRootCert must not be used in production systems. Accordingly, a condition BED comprised by the cryptographic material KM is defined as productive=FALSE. The BED condition states that the TestRootCert certificate may only be used by the target system, i.e. the system component SK, if it is not in the productive phase.
Figur 2 zeigt ein ähnliches Ausführungsbeispiel, bei dem das kryptografische Material KM nun ein sicher erzeugtes, in Produktivsystemen sicher einsatzbares Zertifikat ProdRootCert umfasst. Entsprechend darf das Zertifikat ProdRootCert vom Zielsystem, sprich der Systemkomponente SK, immer, beispielsweise auch in der Entwicklungs- und in der Produktivphase, verwendet werden. ProdRootCert darf auch in der Entwicklungsphase verwendet werden, weil es keine geheimen Anteile enthält. Entsprechend ist die Bedingung BED auch nicht von der Zustandsvariable produktiv abhängig, sondern gilt immer als erfüllt (TRUE). Da die Bedingung BED von keiner Variablen VAR abhängt, könnte man auch eine leere Menge von Zustandsvariablen wählen, also BEDTestRootcert({}):=(TRUE) anstelle von BEDTestRootcert({produktiv}):=(TRUE). FIG. 2 shows a similar exemplary embodiment, in which the cryptographic material KM now includes a securely generated certificate ProdRootCert that can be used securely in productive systems. Accordingly, the ProdRootCert certificate may always be used by the target system, i.e. the system component SK, for example also in the development and productive phases. ProdRootCert may also be used in the development phase because it does not contain any secret parts. Accordingly, the BED condition is not productively dependent on the status variable, but is always considered to be fulfilled (TRUE). Since the condition BED does not depend on any variable VAR, one could also choose an empty set of state variables, i.e. BED TestRootcert ({}):=(TRUE) instead of BED TestRootcert ({productive}):=(TRUE).
Figur 3 zeigt ein weiteres Ausführungsbeispiel der Implementierung und Nutzung von kryptografischem Material KM in einer Systemkomponente SK. Die Systemkomponente SK weist hier zwei Zustandsvariablen auf, nämlich die beiden Elemente HSMProvisioningSicher: BOOLEAN, und HSMVerschlSicher: BOOLEAN der Menge an Variablen VAR. Die Menge an Variablen VAR entspricht hier einem Vektor mit zwei Elementen. Die Zustandsvariable HSMProvisioningSicher zeigt an, ob ein Hardwaresicherheitsmodul HSM bereits in einem Zustand ist, in dem es auf sichere Weise kryptografisches Material KM aufnehmen und ablegen kann. Die Zustandsvariable HSMVerschlSicher zeigt an, ob das Hardwaresicherheitsmodul HSM bereits in einem Zustand ist, in dem es auf sichere Weise in ihm abgelegte geheime Schlüssel für Verschlüsselung nutzen kann. Bei dem kryptografischen Material KM handelt es in Figur 3 um einen 256-Bit langen, geheimen symmetrischen Schlüssel AESKey, der für AES- Verschlüsselung in Produktivsystemen genutzt werden soll. FIG. 3 shows a further exemplary embodiment of the implementation and use of cryptographic material KM in a system component SK. The system component SK has two status variables here, namely the two elements HSMProvisioningSicher: BOOLEAN and HSMVerschlaecher: BOOLEAN of the set of variables VAR. The set of variables VAR here corresponds to a vector with two elements. The state variable HSMProvisioningSicher indicates whether a hardware security module HSM is already in a state in which it can securely receive and store cryptographic material KM. The state variable HSMVerschleichSecure indicates whether the hardware security module HSM is already in a state in which it can securely use secret keys stored in it for encryption. The cryptographic material KM is shown in FIG 3 around a 256-bit long, secret symmetric key AESKey, which is to be used for AES encryption in production systems.
Zwei Operationen sollen durch Bedingungen BED abgesichert werden. Dabei handelt es sich zum einen um das Bereitstellen kryptografischen Materials KM, sprich das sichere Einbringen und sichere Ablegen eines Schlüssels in die Systemkomponente SK. Ferner handelt es sich um Verschlüsselung, das heißt die sichere Nutzung eines Schlüssels für die Verschlüsselung in der Systemkomponente SK. Die sichere Verwendung des Schlüssels im Zielsystem wird durch zwei Bedingungen BED BEDAESKey Provisionin9 und BEDAESKey Verschlüsselun9 sichergestellt. Die Bedingung BED BEDAESKey Provisionin9 besagt, dass der Schlüssel AESKey nur in das Zielsystem eingebracht werden darf, wenn HSMProvisioningSicher = TRUE gilt. Die Bedingung BED BEDAESKey Verschlüsselun9 besagt, dass der Schlüssel AESKey im Zielsystem nur dann für die Verschlüsselung genutzt werden darf, wenn HSMVerschlSicher = TRUE gilt. Two operations are to be protected by conditions BED. On the one hand, this involves the provision of cryptographic material KM, ie the secure introduction and secure storage of a key in the system component SK. Encryption is also involved, ie the secure use of a key for encryption in the system component SK. The secure use of the key in the target system is ensured by two conditions BED BEDAESKe y provisionin9 and BEDAESKe y encryption9 . The condition BED BEDAESKe y Provisionin9 states that the key AESKey may only be brought into the target system if HSMProvisioningSicher = TRUE. The condition BED BEDAESKe y Encryption9 states that the key AESKey may only be used for encryption in the target system if HSMVerschliffSicher = TRUE.
Figur 4 zeigt ein Ablaufdiagramm eines erfindungsgemäßen Verfahrens. Dabei wird angenommen, dass ein Kryptomaterial-Paket KM-P folgende Form aufweist: KM-P = (KM, ZKIDENTKM, BEDKM*, ROLEKM*, Sign™, ZK), wobei ZKI DENTKM die Gesamtheit der für das kryptografische Material KM erlaubten Zielkomponentenidentitäten ZKI DENTKM, BEDKM* die Gesamtheit der dem kryptografischen Material KM zugeordneten, gegebenenfalls zielkomponentenspezifischen und/oder operationsspezifischen Bedingungen BED, und ROLEKM* die Gesamtheit der gegebenenfalls zielkomponentenspezifischen Rollen ROLEKM* bezeichnet. Dabei kann auch wenigstens eine der genannten Größen ZKI DENTKM, BEDKM*, ROLEKM* im Kryptomaterial-Paket KM- P fehlen. Sign ist die vom Ersteller des kryptografischen Materials KM erstellte Signatur von (KM, ZKIDENT™, BED™*, ROLE™*) und ZK ist die Zertifikats kette, mit deren Hilfe die Systemkomponente SK die Korrektheit der Signatur Sign™ überprüfen kann. Zur eindeutigen Adressierung einer Systemkomponente SK wird des Weiteren angenommen, dass die Systemkomponente SK die Identität skid und den Zielsystemkomponenten-Typen Type(skid) aufweist. Beispielsweise können die Identität skid und der Zielsystemkomponenten Typ Type(skid) auf einer Systemkomponente SK in die Variablen VAR inkludiert sein. Ein Systemkomponententyp kann auch als Klasse von Systemkomponenten SK verstanden werden, also beispielsweise alle Systemkomponenten SK der Klasse/des Typs „Head-Unit“, „Motorsteuergerät“ oder dergleichen. Ferner wird angenommen, dass der Auswerter überprüfen will, ob das im Kryptomaterial-Paket KM-P enthaltene kryptografische Material KM in der Systemkomponente SK für eine Operation Prov in der Systemkomponente SK installiert werden darf. Bei der Operation kann es sich generell um eine beliebige Operation handeln, wie beispielsweise das Durchführen eines Entschlüsselungsvorgangs. In dem Beispiel in Figur 4 handelt es sich bei der Operation um das eigentliche Provisioning des kryptografischen Materials KM. FIG. 4 shows a flow chart of a method according to the invention. It is assumed that a cryptographic material packet KM-P has the following form: KM-P=(KM, ZKIDENTKM, BEDKM*, ROLEKM*, Sign™, ZK), where ZKI DENTKM is the entirety of the target component identities permitted for the cryptographic material KM ZKI DENTKM, BEDKM* denotes the entirety of the cryptographic material KM, possibly target component-specific and/or operation-specific conditions BED, and ROLEKM* denotes the entirety of possibly target component-specific roles ROLEKM*. At least one of the variables mentioned ZKI DENTKM, BEDKM*, ROLEKM* can also be missing in the crypto material package KM-P. Sign is the signature created by the creator of the cryptographic material KM (KM, ZKIDENT™, BED™*, ROLE™*) and ZK is the certificate chain, with the help of which the system component SK can check the correctness of the Sign™ signature. For unique addressing of a system component SK, it is also assumed that the system component SK has the identity skid and the target system component type Type(skid). For example, the identity skid and the target system component type Type(skid) on a system component SK can be included in the variable VAR. A system component type can also be understood as a class of system components SK, for example all system components SK of the class/type “head unit”, “engine control unit” or the like. It is also assumed that the evaluator wants to check whether the cryptographic material KM contained in the crypto material package KM-P may be installed in the system component SK for an operation Prov in the system component SK. The operation can generally be any operation, such as performing a decryption process. In the example in FIG. 4, the operation is the actual provisioning of the cryptographic material KM.
Zuerst erfolgt eine Prüfung der Signatur Sign™. Ist die Signaturprüfung nicht erfolgreich, so folgt gemäß einem ersten Link LINK1 eine Ausnahmebehandlung. Ist die Signaturprüfung hingegen erfolgreich, so wird überprüft, ob das kryptografische Material KM, hier in Form des Kryptomaterial-Pakets KM-P, wenigstens eine Zielkomponentenidentität ZKIDENT™ umfasst. Ist dies der Fall, so wird überprüft, ob die Identität skid der Systemkomponente SK von der Zielkomponentenidentität ZKIDENT™ umfasst ist, und falls nicht, gemäß des ersten Links LINK1 eine Ausnahmebehandlung eingeleitet. Ist dies hingegen nicht der Fall, umfasst das Kryptomaterial-Paket KM-P also keine Zielkomponentenidentität ZKIDENT™, wird dieser Schritt übersprungen. First, the Signature Sign™ is checked. If the signature check is unsuccessful, an exception handling follows according to a first link LINK1. If, on the other hand, the signature check is successful, it is checked whether the cryptographic material KM, here in the form of the cryptographic material package KM-P, includes at least one target component identity ZKIDENT™. If this is the case, then it is checked whether the identity skid of the system component SK is included in the target component identity ZKIDENT™, and if not, according to the first link LINK1, exception handling is initiated. However, if this is not the case, i.e. the crypto material package KM-P does not include a target component identity ZKIDENT™, this step is skipped.
Anschließend wird überprüft, ob und ggf. welche Bedingungen BED * im kryptografischen Material KM enthalten sind. Umfasst das Kryptomaterial-Paket KM-P keine Bedingung BED™*, so wird gemäß eines zweiten Links LINK2, der eine Installation des kryptografischen Materials KM bedeuten könnte, fortgefahren. It is then checked whether and, if so, which conditions BED * are contained in the cryptographic material KM. If the cryptographic material package KM-P does not include a BED™* condition, then a second link LINK2, which could mean installation of the cryptographic material KM, is followed.
Anschließend wird untersucht, ob wenigstens eine Bedingung BED™* zielkomponentenspezifisch ist. It is then examined whether at least one condition BED™* is target component-specific.
Ist dies nicht der Fall, so wird überprüft, ob wenigstens eine Bedingung BED™* operationsspezifisch ist. If this is not the case, a check is made as to whether at least one BED™* condition is operation-specific.
Ist dies nicht der Fall, so wird die entsprechende Bedingung BED™ ausgewertet und entsprechend des ersten oder zweiten Links LINK1 , LINK2 fortgefahren. If this is not the case, then the corresponding condition BED™ is evaluated and the process is continued according to the first or second link LINK1, LINK2.
Wird hingegen festgestellt, dass die wenigstens eine Bedingung BED™* operationsspezifisch ist, so erfolgt anschließend eine Prüfung, ob als Operation eine Bereitstellung des kryptografischen Materials KM vorgesehen ist, also ein Provisioning. Ist dies der Fall, so erfolgt eine Prüfung der operationsspezifischen Bedingung BEDKMProv Anschließend wird analog der Links LINK1 , LINK2 fortgefahren. If, on the other hand, it is determined that the at least one condition BED™* is operation-specific, then a check is then carried out as to whether a Provision of the cryptographic material KM is provided, so a provisioning. If this is the case, the operation-specific condition BEDKM Prov is checked. The procedure then proceeds analogously to the links LINK1, LINK2.
Wurde hingegen wenigstes eine typspezifische Bedingung im Kryptomaterial-Paket KM- P erkannt, so wird überprüft, ob wenigstens eine der typspezifischen Bedingungen auch für eine ganze Klasse an Systemkomponenten SK gültig ist, also ob Type(skid) in BEDKM* enthalten ist. Die Menge der für die jeweilige durch Type(skid) referenzierte Klassen gültigen Bedingungen wird im Folgenden als BEDKMType(skid)* bezeichnet. Ist dies der Fall, so darf ein Provisioning erfolgen (siehe erster Link LINK1). Ist dies nicht der Fall, muss überprüft werden, welches Standardverfahren angewendet werden soll. Also ob ein Provisioning erfolgen darf oder nicht. Hierzu kann beispielsweise eine Standardantwort in das Kryptomaterial-Paket KM-P inkludiert sein. On the other hand, if at least one type-specific condition was recognized in the crypto material package KM-P, a check is made to determine whether at least one of the type-specific conditions is also valid for an entire class of system components SK, ie whether Type(skid) is contained in BEDKM*. The set of conditions valid for the respective classes referenced by Type(skid) is referred to below as BEDKM Type(skid) *. If this is the case, provisioning may take place (see first link LINK1). If this is not the case, it must be checked which standard procedure should be used. So whether provisioning may take place or not. For this purpose, for example, a standard response can be included in the crypto material packet KM-P.
Anschließend wird überprüft, ob die typspezifische Bedingung BEDKMType(skid)* auch zusätzlich operationsspezifisch ist. Ist das nicht der Fall, wird die Bedingung BEDKMType(skid) ausgewertet und gemäß der Links LINK1 , LINK2 fortgefahren. Sind die Bedingungen BEDKMType(skid)* hingegen operationsspezifisch, wird überprüft, ob in BEDKMType(skid)* wenigstens eine operationsspezifische Bedingung, hier als stellvertretendes Beispiel für die Operation Prov („Provisioning“), also eine Bedingung BEDKMType(skid)Prov, umfasst ist (dieser Schritt ist in Figur 4 nicht gezeigt). Ist dies nicht der Fall, wird gemäß des ersten Links LINK1 eine Ausnahmebehandlung eingeleitet. Ist dies hingegen der Fall, enthält BEDKMType(skid)* also eine Bedingung BEDKMType(skid)Prov, so wird diese ausgewertet und es wird analog der Links LINK1 , LINK2 fortgefahren. It is then checked whether the type-specific condition BEDKM Type(skid) * is also operation-specific. If this is not the case, the condition BEDKM Type(skid) is evaluated and the links LINK1 , LINK2 are followed. If, on the other hand, the conditions BEDKM Type(skid) * are operation-specific, it is checked whether there is at least one operation-specific condition in BEDKM Type(skid) *, here as a representative example for the operation Prov ("Provisioning"), i.e. a condition BEDKM Type(skid) ' Prov , (this step is not shown in Figure 4). If this is not the case, exception handling is initiated according to the first link LINK1. If this is the case, however, if BEDKM Type(skid) * contains a condition BEDKM Type(skid) ' Prov , then this is evaluated and the procedure is continued in the same way as the links LINK1 , LINK2.
Nach Auswertung der einzelnen Bedingungen BEDKM, BEDKMProv, BEDKMType(skid) oder BEDKMType(skid), Prov wird geprüft, ob das kryptografische Material KM, hier in Form des Kryptomaterial-Pakets KM-P, wenigstens eine Rolle ROLEKM* umfasst. Ist dies nicht der Fall, erfolgt eine Bereitstellung des kryptografischen Materials KM für die Systemkomponente SK ohne Rolle. Ist dies hingegen der Fall, so wird anschließend überprüft, ob ROLEKM* eine Rolle für den Zielkomponenten-Typen Type(skid) umfasst. Ist dies nicht der Fall, erfolgt erneut eine Ausnahmebehandlung. Ist dies hingegen der Fall, erfolgt die Bereitstellung des kryptografischen Materials KM unter Berücksichtigung der Rolle ROLEKM*. After evaluating the individual conditions BEDKM, BEDKM Prov , BEDKM Type(skid) or BEDKM Type(skid), Prov, it is checked whether the cryptographic material KM, here in the form of the crypto material package KM-P, includes at least one role ROLEKM*. If this is not the case, the cryptographic material KM is made available for the system component SK without a role. If, on the other hand, this is the case, it is then checked whether ROLEKM* includes a role for the target component type Type(skid). If this is not the case, exception handling occurs again. If this is the case, however, the cryptographic material KM is provided taking into account the role ROLEKM*.

Claims

Patentansprüche Verfahren zur Implementierung und Nutzung von kryptografischem Material (KM) in wenigstens einer Systemkomponente (SK) eines informationstechnischen Systems (IT-S) zur Durchführung wenigstens einer Operation, wobei wenigstens zu einem ersten Zeitpunkt ein durch wenigstens eine Variable (VAR) beschriebener Zustand der Systemkomponente (SK) überprüft wird, das kryptografische Material (KM) um Zusatzdaten ergänzt wird, wobei die Zusatzdaten mögliche Zustände von Systemkomponenten (SK) beschreiben, und das kryptografische Material (KM) von der Systemkomponente (SK) verwendet wird, wenn die Zusatzdaten des kryptografischen Materials (KM) zumindest den Zustand umfassen, den die Systemkomponente (SK) zum ersten Zeitpunkt aufweist, dadurch gekennzeichnet, dass die Zusatzdaten von wenigstens einer Bedingung (BED, BEDKM*, BEDKMProv, BEDKMType(skid), BEDKMType(skid) Prov), wenigstens einer Rolle (ROLEKM*) und/oder wenigstens einer Zielkomponentenidentität (ZKIDENTKM) ausgebildet werden. Verfahren nach Anspruch 1 , dadurch gekennzeichnet, dass das kryptografische Material (KM) wenigstens eine zielkomponentenspezifische Rolle (ROLEKM*) umfasst. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass sämtliche Bedingungen (BED, BEDKM*, BEDKMProv, BEDKMType(skid), BEDKMType(skid)' Prov) von einem zur Systemkomponente (SK) externen Ersteller definiert und von wenigstens einem in einer Umgebung der Systemkomponente (SK) ausgeführten Auswerter ausgewertet werden, wobei der Ersteller und der Auswerter gemeinsam festlegen, welche Variablen (VAR) vom Ersteller bei der Definition genutzt werden dürfen. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass wenigstens eine Variable (VAR) einen der folgenden Wertebereiche aufweist:Method for implementing and using cryptographic material (KM) in at least one system component (SK) of an information technology system (IT-S) for performing at least one operation, wherein at least at a first point in time a state described by at least one variable (VAR) of the system component (SK) is checked, the cryptographic material (KM) is supplemented with additional data, with the additional data describing possible states of system components (SK), and the cryptographic material (KM) is used by the system component (SK) if the additional data of the cryptographic material (KM) include at least the state that the system component (SK) has at the first point in time, characterized in that the additional data of at least one condition (BED, BEDKM*, BEDKM Prov , BEDKM Type(skid) , BEDKM Type(skid ) Prov ), at least one role (ROLEKM*) and/or at least one target component identity (ZKIDENTKM). be loaded. Method according to Claim 1, characterized in that the cryptographic material (KM) comprises at least one target component-specific role (ROLEKM*). The method according to claim 1 or 2, characterized in that all conditions (BED, BEDKM *, BED K M Prov , BED K M Type (skid) , BED K M Type (skid) ' Prov ) from a system component (SK) external Creator defined and evaluated by at least one in an environment of the system component (SK) running evaluator, the creator and the evaluator together determine which variables (VAR) may be used by the creator in the definition. Method according to one of Claims 1 to 3, characterized in that at least one variable (VAR) has one of the following value ranges:
- BOOLEAN; - BOOLEAN;
- INTEGER; oder - INTEGER; or
- STRING. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass wenigstens eine Bedingung (BEDKMProv, BEDKMType(skid), BEDKMType(skid)Prov) zielkomponentenspezifisch und/oder operationsspezifisch definiert ist. Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass für eine zielkomponentenspezifische und/oder operationsspezifische Bedingung (BEDKMProv, BEDKMType(skid), BEDKMType(skid)Prov) auf einer unterschiedlichen Zielkomponente und/oder bei einer unterschiedlichen Operation wenigstens eine unterschiedliche Variable (VAR) verwendet wird. Verfahren nach einem der Ansprüche 3 bis 6, dadurch gekennzeichnet, dass ein Auswerter eine Bedingung (BED, BEDKM*, BEDKMProv, BEDKMType(skid), BEDKMType(skid)Prov) mittels einer Auswertfunktion überprüft, wobei wenigstens zwei zueinander abweichende Auswerter eine zueinander abweichende Auswertfunktion nutzen, insbesondere eine operationsspezifische Auswertfunktion. Verfahren nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, dass wenigstens eine Bedingung (BED, BEDKM*, BEDKMProv, BEDKMType(skid), BEDKMType(skid)Prov) in einer maschinell verarbeitbaren Definitionssprache definiert ist, wobei eine durch einen Interpreter interpretierbare ausführbare Sprache oder eine der folgenden formalen Logiken verwendet wird: - STRING. Method according to one of Claims 1 to 4, characterized in that at least one condition (BEDKM Prov , BEDKM Type(skid) , BEDKM Type(skid) ' Prov ) is defined in a target-component-specific and/or operation-specific manner. The method according to claim 5, characterized in that for a target component-specific and / or operation-specific condition (BED K M Prov , BED K M Type (skid) , BED K M Type (skid) ' Prov ) on a different target component and / or at a different operation at least one different variable (VAR) is used. Method according to one of Claims 3 to 6, characterized in that an evaluator checks a condition (BED, BEDKM*, BEDKM Prov , BEDKM Type (skid) , BEDKM Type (skid) ' Prov ) by means of an evaluation function, with at least two mutually deviating Evaluators use an evaluation function that differs from one another, in particular an operation-specific evaluation function. Method according to one of Claims 1 to 7, characterized in that at least one condition (BED, BEDKM*, BEDKM Prov , BEDKM Type(skid) , BEDKM Type(skid) ' Prov ) is defined in a machine-processable definition language, with a executable language that can be interpreted by an interpreter or one of the following formal logics is used:
- Aussagenlogik; - propositional logic;
- Aussagenlogik mit Relationen; oder - propositional logic with relations; or
- Aussagenlogik mit Relationen und Funktionen. Verfahren nach Anspruch 8, dadurch gekennzeichnet, dass wenigstens zwei Bedingungen (BED, BEDKM*, BEDKMProv, BEDKMType(skid), BEDKMType(skid)Prov) in einer zueinander abweichenden Definitionssprache formuliert werden, insbesondere zwei zielkomponentenspezifische Bedingungen- Propositional logic with relations and functions. Method according to Claim 8, characterized in that at least two conditions (BED, BEDKM*, BEDKM Prov , BEDKM Type(skid) , BEDKM Type(skid) ' Prov ) are formulated in a definition language that differs from one another, in particular two target component-specific conditions
(BEDKMType(skid), BEDKMType(skid)Prov). Verfahren nach einem der Ansprüche 8 oder 9, dadurch gekennzeichnet, dass das kryptografische Material (KM) wenigstens zwei Bedingungen (BED, BEDKM*, BEDKMProv, BEDKMType(skid), BEDKMType(skid)Prov) umfasst und sämtliche Bedingungen (BED, BEDKM*, BEDKMProv, BEDKMType(skid), BEDKMType(skid)' Prov) erfüllt sein müssen, damit das kryptografische Material (KM) von der Systemkomponente (SK) verwendet wird. Verfahren nach einem der Ansprüche 5 bis 10, dadurch gekennzeichnet, dass wenn auf einer Systemkomponente (SK) kryptografisches Material (KM) verwendet werden soll dessen zielkomponentenspezifische Bedingung (BEDKMType(skid), BEDKMType(skid)Prov) die Klasse der entsprechende Systemkomponente (SK) nicht umfasst, wenn durch Nutzung des kryptografischen Materials (KM) eine Operation durchzuführen ist, welche nicht von einer operationsspezifischen Bedingung (BEDKMProv, BEDKMType(skid)Prov) umfasst ist oder wenn ein Auswerter eine zur Überprüfung eines Zustands erforderliche Variable (VAR) nicht erfassen kann, der Auswerter für die jeweilige Bedingung (BED, BEDKM*, BEDKMProv, BEDKMType(skid), BEDKMType(skid)Prov) standardmäßig die folgende Antwort liefert: (BED K M Type(skid) , BED K M Type(skid) ' Prov ). Method according to one of Claims 8 or 9, characterized in that the cryptographic material (KM) comprises at least two conditions (BED, BEDKM*, BEDKM Prov , BEDKM Type(skid) , BEDKM Type(skid) ' Prov ) and all the conditions ( BED, BEDKM*, BED K M Prov , BED K M Type(skid) , BED K M Type(skid) ' Prov ) must be fulfilled in order for the cryptographic material (KM) to be used by the system component (SK). Method according to one of Claims 5 to 10, characterized in that if cryptographic material (KM) is to be used on a system component (SK), its target component-specific condition (BEDKM Type (skid) , BEDKM Type (skid) ' Prov ) the class of the corresponding System component (SK) not included if an operation is to be carried out using the cryptographic material (KM) which is not covered by an operation-specific condition (BEDKM Prov , BEDKM Type(skid) ' Prov ) or if an evaluator is to check a state cannot capture required variable (VAR), the evaluator for the given condition (BED, BEDKM*, BEDKM Prov , BEDKM Type(skid) , BEDKM Type(skid) ' Prov ) returns the following response by default:
- TRUE; - TRUE;
- FALSE; oder 27 - FALSE; or 27
- eine als Standardantwort an das kryptografische Material (KM) angehängte Antwort. Verfahren nach einem der Ansprüche 1 bis 11 , dadurch gekennzeichnet, dass sämtliche vom kryptografischen Material (KM) umfassten Zusatzdaten kryptografisch gegen eine Kompromittierung abgesichert werden, insbesondere unter Verwendung wenigstens einer digitalen Signatur und/oder eines symmetrischen Integritätsschutzmechanismus. Verfahren nach Anspruch 12, dadurch gekennzeichnet, dass wenigstens zwei unterschiedliche Akteure eine Berechtigung zum digitalen Signieren des kryptografischen Materials (KM) erhalten, wobei sämtliche zum Signieren berechtigte Akteure die jeweils ihnen zugeordneten individuellen privaten Schlüssel samt den dazugehörigen individuellen Blattzertifikaten und die dazugehörige Zertifikats kette erhalten. Verfahren nach einem der Ansprüche 1 bis 13, dadurch gekennzeichnet, dass als informationstechnisches System (IT-S) ein Fahrzeug-Ökosystem genutzt wird. - a response attached to the cryptographic material (KM) as a standard response. Method according to one of claims 1 to 11, characterized in that all of the cryptographic material (KM) included additional data are cryptographically protected against compromise, in particular using at least one digital signature and / or a symmetrical integrity protection mechanism. Method according to Claim 12, characterized in that at least two different actors are authorized to digitally sign the cryptographic material (KM), with all actors authorized to sign receiving the individual private keys assigned to them together with the associated individual leaf certificates and the associated certificate chain . Method according to one of Claims 1 to 13, characterized in that a vehicle ecosystem is used as the information technology system (IT-S).
EP22761462.5A 2021-08-31 2022-08-02 Method for implementing and using cryptographic material in at least one system component of an information technology system Withdrawn EP4205005A1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP23209298.1A EP4297335A3 (en) 2021-08-31 2022-08-02 Method for the implementation and use of cryptographic material in at least one system component of an information technology system
EP23209295.7A EP4297332A3 (en) 2021-08-31 2022-08-02 Method for the implementation and use of cryptographic material in at least one system component of an information technology system
EP23209297.3A EP4297334A3 (en) 2021-08-31 2022-08-02 Method for the implementation and use of cryptographic material in at least one system component of an information technology system
EP23209296.5A EP4297333A3 (en) 2021-08-31 2022-08-02 Method for the implementation and use of cryptographic material in at least one system component of an information technology system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102021004427.4A DE102021004427B4 (en) 2021-08-31 2021-08-31 Method for implementing and using cryptographic material in at least one system component of an information technology system
PCT/EP2022/071725 WO2023030811A1 (en) 2021-08-31 2022-08-02 Method for implementing and using cryptographic material in at least one system component of an information technology system

Related Child Applications (4)

Application Number Title Priority Date Filing Date
EP23209296.5A Division EP4297333A3 (en) 2021-08-31 2022-08-02 Method for the implementation and use of cryptographic material in at least one system component of an information technology system
EP23209298.1A Division EP4297335A3 (en) 2021-08-31 2022-08-02 Method for the implementation and use of cryptographic material in at least one system component of an information technology system
EP23209297.3A Division EP4297334A3 (en) 2021-08-31 2022-08-02 Method for the implementation and use of cryptographic material in at least one system component of an information technology system
EP23209295.7A Division EP4297332A3 (en) 2021-08-31 2022-08-02 Method for the implementation and use of cryptographic material in at least one system component of an information technology system

Publications (1)

Publication Number Publication Date
EP4205005A1 true EP4205005A1 (en) 2023-07-05

Family

ID=83149023

Family Applications (5)

Application Number Title Priority Date Filing Date
EP23209296.5A Pending EP4297333A3 (en) 2021-08-31 2022-08-02 Method for the implementation and use of cryptographic material in at least one system component of an information technology system
EP23209297.3A Pending EP4297334A3 (en) 2021-08-31 2022-08-02 Method for the implementation and use of cryptographic material in at least one system component of an information technology system
EP22761462.5A Withdrawn EP4205005A1 (en) 2021-08-31 2022-08-02 Method for implementing and using cryptographic material in at least one system component of an information technology system
EP23209298.1A Pending EP4297335A3 (en) 2021-08-31 2022-08-02 Method for the implementation and use of cryptographic material in at least one system component of an information technology system
EP23209295.7A Pending EP4297332A3 (en) 2021-08-31 2022-08-02 Method for the implementation and use of cryptographic material in at least one system component of an information technology system

Family Applications Before (2)

Application Number Title Priority Date Filing Date
EP23209296.5A Pending EP4297333A3 (en) 2021-08-31 2022-08-02 Method for the implementation and use of cryptographic material in at least one system component of an information technology system
EP23209297.3A Pending EP4297334A3 (en) 2021-08-31 2022-08-02 Method for the implementation and use of cryptographic material in at least one system component of an information technology system

Family Applications After (2)

Application Number Title Priority Date Filing Date
EP23209298.1A Pending EP4297335A3 (en) 2021-08-31 2022-08-02 Method for the implementation and use of cryptographic material in at least one system component of an information technology system
EP23209295.7A Pending EP4297332A3 (en) 2021-08-31 2022-08-02 Method for the implementation and use of cryptographic material in at least one system component of an information technology system

Country Status (7)

Country Link
US (1) US20240356746A1 (en)
EP (5) EP4297333A3 (en)
JP (1) JP2024536707A (en)
KR (1) KR20240038749A (en)
CN (1) CN117882072A (en)
DE (1) DE102021004427B4 (en)
WO (1) WO2023030811A1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160119362A1 (en) * 2013-06-24 2016-04-28 Nxp B.V. Data processing system, method of initializing a data processing system, and computer program product

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019003904A1 (en) 2019-06-03 2020-12-03 Daimler Ag System for generating cryptographic material
DE102019212959B3 (en) 2019-08-28 2021-03-04 Volkswagen Aktiengesellschaft Method for protected communication between a vehicle and an external server, device for carrying out key derivation in the method and vehicle
TWI705687B (en) * 2019-09-09 2020-09-21 新唐科技股份有限公司 Key management device and processor chip for data encryption/decryption
DE102020003072B3 (en) 2020-05-22 2021-07-15 Daimler Ag Procedure for the secure use of cryptographic material

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160119362A1 (en) * 2013-06-24 2016-04-28 Nxp B.V. Data processing system, method of initializing a data processing system, and computer program product

Also Published As

Publication number Publication date
EP4297332A3 (en) 2024-03-13
EP4297334A2 (en) 2023-12-27
US20240356746A1 (en) 2024-10-24
EP4297332A2 (en) 2023-12-27
KR20240038749A (en) 2024-03-25
JP2024536707A (en) 2024-10-08
CN117882072A (en) 2024-04-12
EP4297335A3 (en) 2024-03-27
EP4297334A3 (en) 2024-03-27
EP4297333A3 (en) 2024-03-27
EP4297335A2 (en) 2023-12-27
WO2023030811A1 (en) 2023-03-09
DE102021004427B4 (en) 2024-05-29
DE102021004427A1 (en) 2023-03-02
EP4297333A2 (en) 2023-12-27

Similar Documents

Publication Publication Date Title
EP3274825B1 (en) Method and execution environment for the secure execution of program instructions
DE102012110499B4 (en) Safety access procedure for electronic automotive control units
EP3012761B1 (en) Protection of software models
DE102012220990B3 (en) Method and arrangement for secure communication between network devices in a communication network
EP1999521B1 (en) Field device
DE102016210788B4 (en) Component for processing data worthy of protection and method for implementing a security function for protecting data worthy of protection in such a component
DE102020003072B3 (en) Procedure for the secure use of cryptographic material
EP3811260B1 (en) Cryptography module and method for operating same
DE102021004427B4 (en) Method for implementing and using cryptographic material in at least one system component of an information technology system
DE102021006638A1 (en) Method for implementing and using cryptographic material in at least one system component of an information technology system
DE102021006637A1 (en) Method for implementing and using cryptographic material in at least one system component of an information technology system
DE102005030657B3 (en) Meter, e.g. odometer, coding method, for securing meter reading, involves determining newly coded meter reading by using forward linked one-way function of reading, where display area of function is included in function prototype area
DE102010040115A1 (en) Method for providing information to a controller
DE102019005545A1 (en) Method for operating a machine data communication network and machine data communication network
DE102021110766B3 (en) Forensics module and embedded system
DE102021110768B3 (en) Forensics module and embedded system
WO2024061548A1 (en) Method for carrying out a decommissioning of an electrical energy store of a motor vehicle, computer program product and system
DE102022200544A1 (en) Method for the secure provision of a computer program to be protected in a computing unit
DE10215626B4 (en) Procedure for changing encryption algorithms for protected software or protected data
DE102023004446A1 (en) Responding to cyber attacks on an electric vehicle
EP3893065A1 (en) Method for payment based execution of a function of a field device to be implemented, corresponding field device and service unit
DE102019220157A1 (en) Security check method, security check device, information system for a motor vehicle, motor vehicle
DE102019220164A1 (en) Security check method, security check device, information system, motor vehicle
DE102019210625A1 (en) Control device and method of operating the same
DE102018005102A1 (en) Adaptive security updates for applications

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

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

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

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

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

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

Free format text: STATUS: EXAMINATION IS IN PROGRESS

17Q First examination report despatched

Effective date: 20240209

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

Free format text: STATUS: THE APPLICATION HAS BEEN WITHDRAWN

18W Application withdrawn

Effective date: 20240517