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

The method ensures secure and flexible management of encryption materials in information engineering systems by using conditions, roles, and identities to control their use based on system component states, addressing security risks in vehicle ecosystems.

JP7716580B2Active Publication Date: 2025-07-31MERCEDES BENZ GROUP AG
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2024513414
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-08-31
Filing Date
2022-08-02
Publication Date
2025-07-31
Estimated Expiration
2042-08-02

AI Technical Summary

Technical Problem

Existing methods for implementing and utilizing encrypted materials in information engineering systems, particularly in vehicle ecosystems, fail to securely distinguish and manage different forms of encryption materials across various system components and life cycle stages, leading to potential security risks due to inadequate protection during the development stage.

Method used

A method that uses additional data such as conditions, roles, and target component identities to control the implementation and utilization of encryption materials, ensuring secure and flexible use by system components based on their specific states and requirements, using a creation unit and evaluation unit to define and check these conditions.

Benefits of technology

Enables secure and flexible management of encryption materials across different system components and states, reducing the risk of unauthorized access and misuse, thereby enhancing overall system security.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007716580000001
    Figure 0007716580000001
  • Figure 0007716580000002
    Figure 0007716580000002
  • Figure 0007716580000003
    Figure 0007716580000003
Patent Text Reader

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 executing at least one operation, in which at at least one first point in time, a state of the system component (SK) described by at least one variable (VAR) is checked, the cryptographic material (KM) is supplemented with additional data, the state data describing possible states of the system component (SK), and the cryptographic material (KM) is used by the system component (SK) when the additional data of the cryptographic material (KM) contains at least one state that the system component (SK) has at the first point in time. The method according to the invention comprises: KM * ,BED KM Prov ,BED KM Type(skid) ,BED KM Type(skid),Prov ), at least one role KM * ), and / or at least one target component identity (ZKIDENT KM ) is characterized in that it is composed of.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a method for implementing and utilizing encrypted material in at least one system component of an information engineering system based on the method defined in detail in the first part of claim 1.

Background Art

[0002] A method for implementing and utilizing encrypted material basically addresses the problem that encrypted material corresponding to the latest security level of each system component or a lower module of the system component must be applied at different life cycle stages of the system components of an information engineering system equipped with encrypted material. This particularly applies to, but is not limited to, so-called CarIT-security devices for vehicles.

[0003] Modern vehicles, or other systems, are characterized by the fact that networking is progressing. At this time, the vehicle is not only connected to a system accessible to anyone such as the Internet, but also connected to a dedicated system operated by a vehicle manufacturer or OEM, which is, for example, a manufacturer's own application or a manufacturer's own server often also called a backend server. These are developed, marketed, and operated by the manufacturer exclusively for its own vehicle fleet. All of these together are also called a vehicle ecosystem.

[0004] In reality, due to the diverse communication relationships among the individual system components within such a vehicle ecosystem, a large number of new interfaces and applications are created, and all of these must be secured collectively by an appropriate encryption method, such as a mechanism, protocol, etc. Such encryption methods, which are known in principle from the prior art, therefore require various encryption materials, such as, for example, asymmetric key pairs, symmetric keys, certificates, random numbers, hash values, etc. All of these encryption materials must be adapted to each other and are often assigned to and utilized by all system components involved in the vehicle ecosystem, either before the start of their use or while continuing operation to exchange the encryption materials. The provision of encryption materials, so-called provisioning, is carried out, for example, within the framework of the manufacturing process, but can also be carried out during the operation of the system components. At this time, the system components particularly include control devices assembled in the vehicle, but also other components, such as applications installed in the vehicle, OEM applications available on smartphones, devices external to the vehicle, etc.

[0005] To ensure that protected communications cannot be interfered with, it is absolutely necessary to distinguish between the encryption materials used during the development stage and those used during the production stage, i.e., the actual application stage of the developed product. The encryption materials for the development stage are also referred to below as test encryption materials. During the development stage, only such test encryption materials may be used as long as they are secret encryption materials. That is, production encryption materials, and here particularly secret production encryption materials, must be protected against unauthorized access throughout the life cycle of the system components. Such protection should, ideally, be ensured by compliance with special processes safeguarded in each development department and production plant, and by the application of special protection mechanisms. However, during the development stage, this is often only inadequately ensured. This is because in many cases, the various components of the information engineering system are not yet embodied or implemented during such a development stage.

[0006] For example, the secure generation of the required encryption material may not yet be fully realized or tested. The secure transmission of the encryption material from the generation server, from the so-called encryption material server, to the system manufacturer, for example to the supplier, may not yet be ensured in some cases. The secure provision of the encryption material to the system components may not yet be realized or may not yet be finally realized. The secure storage of the encryption material in such system components may also not yet be realized in some cases. The reason is, for example, that although the Hardware Security Module (HSM) should be further assembled at a later point in time, it has not yet been assembled into the target system. The secure use of the encryption material in the system may also not yet be realized in some cases. The reason is, for example, that there are development interfaces required for testing and debugging, and these have read and write access rights to the entire system, and by extension, access rights to the installed encryption material in particular are also allowed during the development phase. However, such development interfaces are necessarily available during development and are also openly accessible to all personnel and / or companies involved during the development process.

[0007] That is to say, this concludes that it is impossible to guarantee that the encryption materials used during the development stage will not be tampered with or read. However, in this case, such test encryption materials are identical to the production encryption materials to be used later in terms of their structure and form. That is, such test encryption materials are also suitable for later operation applications, that is, they are also suitable for the production stage of each system component. Therefore, it is particularly important that test encryption materials with relatively low security and a high probability of being damaged accordingly are not misused in the production system. If production encryption materials are introduced into system components in the development stage, the situation will become even more serious. In that case, such highly secure materials that require a high level of protection can also be tampered with or read in whole or in part. Consequently, they will no longer be secret and cannot be used. If the error is not noticed or deliberately covered up, the system components that have moved on to the production stage will lose their protection later.

[0008] In actual work, safety regulations and guidelines are implemented by the personnel involved in system components at each stage. Therefore, it is impossible to eliminate errors, negligence, and intentional malpractice. From the above, in principle, there is always a risk that test encryption materials will remain in system components that have already moved on to the production stage, or that production encryption materials will be applied to system components that are still in the development stage. Deliberately or due to negligence, any encryption materials used in the development stage are likely to be damaged based on interfaces that are still open, etc. Such risks ultimately lead to an increase in security risks. This is a major drawback of the existing method.

[0009] A method for safely using encrypted material is already known from Patent Document 1. Here, the encrypted material is implemented in a plurality of system components of a networked system. This encrypted material has a marking that identifies and displays the encrypted material as development material or production material. Each system component has a binary additional flag indicating whether the corresponding system component is in the development stage or the production stage in its life cycle stage. Then, a comparison is made between the binary state flag of each system component and the marking of the encrypted material. If the marking and the flag match, that is, if the encrypted material is marked as development material, for example, and the system component is in the development stage, the corresponding encrypted material is used by the system component. On the other hand, if the marking and the binary additional flag do not match, safety measures are initiated. The check for consistency between the marking of the encrypted material and the binary additional flag is performed either before each use of the encrypted material or only once for the entire encrypted material in the system component. The check for consistency can be performed, for example, at the startup of the system component or when the encrypted material is provided. As safety measures, a warning message can be output, the provision of the encrypted material can be aborted or prevented, and / or, if necessary, the encrypted material already assigned to the system component can be erased

[0010] However, the drawback in that case is that, in order to distinguish whether the encrypted material is allowed to be applied in system components, only the distinction between two life cycle stages of the corresponding system components and the distinction between two different characteristics (test or production) of the encrypted material are made. In actual application, simply distinguishing into two groups is not sufficient. This is because the conditions for the safe use of the encrypted material for various encrypted materials and system components are too diverse. For example, if a secret is directly generated and stored in a hardware security module and never leaves there, the encrypted material can be safely used, if appropriate, already from the development stage. However, it is a prerequisite that the hardware security module in the development stage does not have, or does not use, a special diagnostic interface that would allow the reading of the secret. In contrast, a secret incorporated in software is part of the program code and can be read out, or reconstructed, relatively easily via various interfaces. In that case, it is not possible to safely apply such a secret in the subsequent production stage of the system component.

Prior Art Documents

Patent Documents

[0011]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0012] The problem of the present invention is to enable various encryption materials that differ from each other in various forms to be implemented and used in a particularly flexible and secure manner in various system components, and in this case, for system components operating in an insecure mode, either by themselves or at least in one sub-module, an encryption material suitable for insecure operation is used by the system component or at least one sub-module, and for system components operating in a secure mode, either by themselves or at least in one sub-module, it is guaranteed that an encryption material suitable for secure operation is used by the system component or at least one sub-module. The object is to provide an improved method for implementing and using encryption materials in at least one system component of an information engineering system.

Means for Solving the Problem

[0013] According to the present invention, this problem is solved by a method for implementing and using encryption materials in at least one system component of an information engineering system, which has the features of claim 1. Advantageous embodiments and developments are apparent from the dependent claims.

[0014] In a method for implementing and using encryption materials in at least one system component of an information engineering system of the type described at the beginning, the encryption material has additional data constituted by at least one condition, at least one role, and / or at least one target component identity according to the present invention.

[0015] The method according to the present invention enables a particularly flexible and secure implementation and utilization of encrypted materials in various system components and / or their subordinate modules. For example, various system components such as a control device, a cloud server, an application executed on a mobile terminal, a vehicle, or an external device may require the use of various encrypted materials such as symmetric or asymmetric keys, certificates, random numbers, hash values, etc. at different times. Thus, a specific target system component that should use encrypted materials may also require the use of different encrypted materials when in different states. At this time, the state of each system component is described using at least one variable. The corresponding system component can take on a number of different states. That is, it can have more than two states, for example, in the development stage or production stage of the life cycle. The individual subordinate modules of the system component can also be in various life cycle stages or states. For example, it can happen that the network interface is in a first non-secure state and the storage element of the system component is in a second secure state. At this time, the corresponding information engineering system may be networked or isolated.

[0016] An encrypted material is typically generated by a dedicated system such as an encrypted material server and transmitted to a target system, i.e., a target system component, as part of a special data package. At this time, in the present invention, additional data is supplemented to the encrypted material. At this time, under what circumstances the use of the encrypted material by the system component is allowed or not is defined by the corresponding conditions. The corresponding conditions can have a very diverse nature. For example, each system component is within a specific period of the product life cycle, or the system component has a hardware security module and this is in a safe state, so that the hardware security module can receive and store the encrypted material in a safe manner, which can be required by the conditions. At this time, the encrypted material can also include a plurality of conditions. Thereby, the implementation and utilization of the encrypted material under different system components can be controlled under a larger number of different application scenarios.

[0017] The encrypted material provided to the system component plays a specific role there. When a plurality of encrypted materials of the same type are used by the same system component, for example, when a plurality of 4096-Bit-RSA public keys are used, the system component itself cannot determine what role the new encrypted material should play, that is, for example, how, where it is installed, and how it is used in the system component. Such information corresponding to the role of the encrypted material can be attached to the encrypted material in the form of a role. At this time, the role is distinguished from the condition, and thereby the role does not impose conditions related to the current state of the system component.

[0018] To specifically and efficiently distinguish which system components are permitted to use encrypted material, the target component identity can be supplemented to the encrypted material. At this time, the target component identity includes a unique identification display of the system component for which the corresponding encrypted material is permitted to be used. When the corresponding encrypted material is sent to a system component not included in the target component identity, the use of the encrypted material in that system component is blocked. Thereby, it is possible to very simply and quickly set which system components are permitted to use which encrypted materials and which encrypted materials are not permitted to be used.

[0019] At this time, the target component identity may target the entire class of systems, system components, and / or their subordinate modules, that is, for example, it may target classes such as "head unit", "engine control device", "flash memory", etc., and also a single special system component, for example, a hardware security module having a serial number "GHNS-1934952".

[0020] In this way, using at least one condition, at least one role, and / or at least one target component identity, it is possible to very efficiently and flexibly control which encrypted materials are permitted to be used in which application scenarios, that is, in which states, in which system components and / or their subordinate modules, and which are not permitted.

[0021] An encrypted material is typically configured as an encrypted material (data) package and is exchanged or introduced between systems or system components. At this time, the encrypted material package includes the original encrypted material, for example, an asymmetric key pair, and respective conditions, roles, and / or target component identities in the form of additional data attached to the encrypted material. For this purpose, the attached data may be concatenated with the encrypted material, for example. The encrypted material package can further include other data. For the sake of simplicity, only the term "encrypted material" is used in the text here.

[0022] A preferred development form of the method according to the present invention intends that the encrypted material includes a role specific to at least one target component. When the same encrypted material is sent to different system components, this encrypted material can also play different roles in different system components. For example, a role specific to the target component that tells the encrypted material how it should be used in each system component can be assigned to the encrypted material. Thereby, how the encrypted material is implemented in different system components and how it is used there can be controlled more comprehensively and flexibly.

[0023] In another preferred embodiment of the method according to the present invention, all conditions are defined by a creation unit external to the system component and evaluated by at least one evaluation unit installed in the environment of the system component. The creation unit and the evaluation unit jointly define which variables should be used by the creation unit in defining the conditions. For this purpose, the creation unit and the evaluation unit can conditionally select suitable variables using a fixed set of possible variables. At this time, the creation unit selects suitable variables for each condition. Similarly, the number and type of conditions are also determined by the creation unit. The name used for each variable and the allowable value range are jointly defined by the creation unit and the evaluation unit, and the evaluation unit determines which names and value ranges of the creation unit are allowed to be used. However, the creation unit itself determines which names and value ranges are ultimately used.

[0024] The creation unit is, for example, the encryption material server already described. The evaluation unit may be composed of hardware and software, or may be composed of a human. The evaluation unit may be included in the system component, or may be installed outside the system component, but may also be provided in the same environment as the system component. This enables the evaluation unit to detect the variables on which the system component is based and the state of the corresponding system component. The evaluation unit outside the system component enables the checking of the conditions imposed on the system component by the encryption material when the system component has not yet been booted. For example, the corresponding encrypted material checked for the storage device of the system component can be saved without the corresponding system component being started in advance.

[0025] For this purpose, the evaluation unit can, in particular, check at any arbitrary point in time whether the conditions of each system component are satisfied. By the creation unit and the evaluation unit agreeing with respect to a common set of relevant variables, it can be ensured that the variables necessary for the evaluation of a particular condition can actually be detected by the evaluation unit. This improves the reliability in the application of the method according to the invention.

[0026] Furthermore, another preferred embodiment of the method contemplates that at least one variable has one of the following value ranges: - BOOLEAN; - INTEGER; or - STRING.

[0027] At this time, all variables can have the same value range, that is, they can be in the form of BOOLEAN, INTEGER, or STRING, or the individual variables can have different value ranges. By using different value ranges or forms respectively, various variables can be used for the definition of conditions and subsequent checks.

[0028] Accordingly, a variable in BOOLEAN form takes on a value of TRUE or FALSE. The value ranges INTEGER and STRING can be used to describe the state in more detail or in a more complex manner. For example, a particular state can be described using numbers and / or strings.

[0029] The value range can extend, for example, from 1 to 10. The variables used to define the state may exist, for example, in the form of a vector. The vector can include, for example, a first variable in BOOLEAN form and a second variable in INTEGER form. Such a variable vector is time-dependent. For example, at a specific point in time, the first variable can take the value TRUE and the second variable can have the value 24. Thus, it is possible to evaluate the conditions for an environment and system components in a unique state described by the current values of the variables at a specific time point t, that is, to check whether the variables meet the conditions defined at time point t. At this time, the corresponding variable vector can also contain at least one empty element. This applies, for example, when the evaluation unit cannot detect a specific variable. Instead of an empty element, placeholders such as the number "0", "9999", or the string "NAN" can also be used.

[0030] Similarly, the variable can be of a structured type. For example, the variable can be - an ARRAY or - a RECORD, and the structured type can be composed of either non-structured types or structured types.

[0031] In another preferred embodiment of the method, at least one condition is defined specifically for the target component and / or for the operation. For example, the encrypted material can be used for performing various operations such as software installation, encryption or decryption of specific data, creation or verification of signatures, and / or use by various system components. In order for the creation unit to be able to characterize the condition as being operation-specific, i.e., valid only for a specific operation, a set of operations known within the system component must be notified to the creation unit according to the set of available state variables, so that the creation unit can utilize this when defining the condition. Such a set of operations can be general, i.e., valid for all target components, or specific to the target component.

[0032] In order for a specific condition to be considered satisfied when different system components and / or when performing different operations, it may happen that for at least two different system components and / or operations, a specific variable must take different values, i.e., sometimes TRUE, sometimes FALSE, or sometimes 0, sometimes 256.

[0033] Furthermore, in another preferred embodiment of the method according to the present invention, it is intended that at least one different variable is used for target component-specific and / or operation-specific conditions at different target system components and / or at different operations. For example, not only can specific variables take different values in order to satisfy conditions in different system components and / or to perform different operations, but different variables may be required therefor. In particular, at this time, the allowed amount, and / or type, and size of the variables related to one condition can be distinguished between different system components and / or operations. For example, for the first system component to satisfy the condition, variables 1 and 2 must take the values 0 and TRUE, for the second system component, variables 1, 2, and 3 must take the values 0, TRUE, and FALSE, and for the third system component, variables 1, 2, 3, 4, 5, and 6 must take the values TRUE, [0..100], [-100..100], 0, "engaged", and FALSE in order to satisfy the same condition. Generally, at least two BOOLEAN values may be linked by an OR operator, which will be described in more detail later.

[0034] In another preferred embodiment of the method, the evaluation unit checks the conditions using an evaluation function, and at least two different evaluation units utilize different evaluation functions, in particular, operation-specific evaluation functions. Generally, it is possible for all evaluation units to utilize the same evaluation function. However, the provision of different evaluation functions improves the flexibility regarding the implementation of the method of the present invention for controlling the conditions under which encrypted material is used by system components.

[0035] Generally, a general-purpose evaluation function can also be used, whereby all encrypted materials, or the conditions constituted by the encrypted materials, can be evaluated by providing only one function. However, the evaluation function may be specifically created for different encrypted materials, for example, according to the role of the encrypted materials. At this time, in particular, another distinction is made for different evaluation functions for different operations.

[0036] Furthermore, another preferred embodiment of the present method is intended that at least one condition is defined in a machine-processable definition language, and an executable language interpretable by an interpreter, or one of the following formal logics, is used: - Propositional logic; - Propositional logic including relational logic; - Propositional logic including relational logic and functions.

[0037] The definition of the condition in a machine-processable definition language makes it possible to use an existing language to implement the method according to the present invention. After using an evaluable definition language, effective variables for describing the state of the system components can be used to formulate the condition, for example, as an expression of a processable BOOLEAN value defined by the definition language. When the encrypted material has multiple conditions, the variable sets related to the corresponding conditions can also include different variables. At this time, all variables of the corresponding variable sets may be of the same type, that is, BOOLEAN, INTEGER, or STRING, or at least two variables of the variable sets related to each condition can have different types. The same or different machine-processable definition languages can be used in combination for different conditions constituted by the encrypted material.

[0038] In well-known propositional logic, all variables related to specific conditions have a value range of BOOLEAN. That is, each individual variable can only take on the values TRUE or FALSE. A logical formula is composed of well-known logical connectives in propositional logic, namely "Λ", "V", "¬", etc., and parentheses "( )". Examples of propositional logic formulas are as follows: - variable1; - variable2 Λ TRUE; -(variable1 Λ (variable2 V variable3)).

[0039] In propositional logic including relational logic, variables related to specific conditions can each have different value ranges. There is a finite set of relational logics, each relational logic is assigned a fixed arity, and a fixed value range is assigned to each relational logic and term position. Then, a relational term is obtained by applying a relational logic to one of the constants and / or variables corresponding to the arity having a matching value range. When evaluating a relational term regarding the assignment of fixed predetermined values of variables appearing in such a term, a Boolean value is always obtained, that is, TRUE or FALSE is obtained. For example, an example of a binary relational logic that requires INTEGER as the value range in both term positions is the less-than-or-equal-to relational logic "≦", and relational terms based on this relational logic are, for example, as follows: - variable1 ≦ variable2; - 7 ≦ variable3.

[0040] A logical formula is composed of BOOLEAN constants, BOOLEAN variables, relational terms, and well-known logical connectives in propositional logic, namely Λ, V, ¬, etc., and parentheses "( )" for defining the evaluation order. Examples of propositional logic formulas including relational logic using binary relational logics "≦" and "=" are as follows: -(variable1 Λ ((variable2 ≦ variable3) V (variable3 = variable4))).

[0041] In propositional logic including relational logic and functions, a finite set of functions is additionally used, a fixed arity is assigned to each function, and a fixed value range is assigned to each function and each term position. Further, a result value range is defined for each function. And one function is applied to constants, variables, and / or functions having a corresponding number of elements corresponding to the arity and a matching value range to return a value from a predetermined result value range. For example, an example of a binary operation that requires INTEGER as the value range at both term positions and returns an INTEGER value as the result is addition "+". A logical formula is constructed in the same way as in the case of propositional logic including relational logic, but the difference is that relational terms can be formed not only by the application of relational logic to constants and / or variables, but also by functions having corresponding result / value ranges applied to constants / variables. Examples of propositional logic formulas including relational logic and functions are as follows: -(variable1 Λ ((variable2 ≤ (variable3 + variable7)) V (((variable3 - variable8) + variable2) = variable4))).

[0042] On the other hand, the use of an executable language that can be interpreted, especially by an interpreter, brings advantages. Such a language is very "powerful" based on its executability. For example, prior translation / compilation, or conversion to an expression tree, or substitution of variable values is not required before the execution of the corresponding program code. The interpretable executable language may be a script language such as Python.

[0043] In another preferred embodiment of the method according to the invention, at least two conditions are formulated in definition languages that differ from each other. In particular, the conditions specific to two target components are formulated in definition languages that differ from each other. If the first system component uses the first language and the second system component uses a second language different from the first language, two conditions formulated in different definition languages are provided, ensuring that both system components can be evaluated for the conditions relevant to each of them. Accordingly, the variables related to the conditions are also formulated in their respective definition languages. It is also possible for two conditions valid for the same system component to be formulated in definition languages that differ from each other. There may be cases where it is preferable to formulate a particular condition in a particular definition language. This may be the case, for example, when the detection and / or processing of a particular variable is only possible in a particular definition language, or when this is set based on various boundary conditions.

[0044] Furthermore, another preferred embodiment of the method according to the invention contemplates that the encryption material includes at least two conditions and that all conditions must be satisfied for the encryption material to be used by a system component. In terms of the use of formal logic, this means that the conditions used are in an AND conjunction. That is, for the encryption material to be used by a system component, all conditions must be satisfied. In this way, although the satisfaction of individual conditions is necessary but not necessarily sufficient for a system component to apply the encryption material. This is because at least one other condition must also be satisfied.

[0045] In another preferred embodiment of the method, if the evaluation unit determines that although an encryption material is about to be used by a system component, the class of the corresponding system component does not include the conditions specific to the target component, or if an operation is about to be executed by using the encryption material but this operation is not included in the conditions specific to the operation, or if the evaluation unit cannot detect the variables necessary for checking the state, the evaluation unit standardly provides the following responses for each condition: -TRUE; -FALSE; or, -A response added to the encryption material as a standard response.

[0046] Thereby, a more reliable implementation of the method according to the present invention is ensured. Generally, it may happen that the system component for which a specific encryption material should be used, or the class of the system component, is not included in the conditions specific to the target component. Nevertheless, after checking the conditions specific to the target component, the value TRUE is standardly output in order to enable the corresponding system component to apply the encryption material. Alternatively, if the application of the encryption material should be blocked in such a case, the value FALSE is standardly output. To improve the flexibility of the method according to the present invention, a standard response in the form of TRUE or FALSE can also be added to the encryption material. Thereby, in a system component where the standard response is set to TRUE, the risk of applying the encryption material in a case where it should not originally apply can be reduced. In such a case, the standard response is added to the encryption material in the form of FALSE.

[0047] The formulations made above also apply to the conditions specific to the operation, and also to cases where the evaluation unit cannot detect the variables necessary to check a specific condition.

[0048] Furthermore, in another preferred embodiment of the method according to the invention, it is intended that all additional data included in the encrypted material be protected by encryption against endangerment, in particular after using at least one digital signature and / or a symmetric integrity protection mechanism. As the symmetric integrity protection mechanism, in particular, Keyed-Hash Message Authentication Code (HMAC) can be used. The protection of the encrypted material against endangerment can further improve the protection in the implementation of the method according to the invention. In this way, the additional data added to the encrypted material package in addition to the encrypted material is protected from unauthorized manipulation. For example, the encrypted material, including the additional data to be added, can be digitally signed, for example, by the creation unit using its asymmetric private key. In particular, a secure method and a secure system are used for signing. And the public key, or a certificate containing the public key, is distributed to all relevant evaluation units. In the corresponding system, the corresponding public key or certificate is protected from unauthorized manipulation and incorporated. For example, the public key or certificate is stored in a write-protected memory (ROM) or a write-once memory (WORM). The encrypted material package also includes such a digital signature. Accordingly, the encrypted material is used by the system component only if the inspection of the signature added to the encrypted material using the introduced public key or certificate yields a positive result.

[0049] In another preferred embodiment of the method according to the invention, at least two different entities are given the right to digitally sign the encrypted material, and all entities having the right to sign are given their own end-entity certificate belonging to a common certificate hierarchy and the corresponding private key. For example, in particular when a plurality of entities create encrypted material, it is meaningful to give a plurality of entities the permission to digitally sign. And the system that executes the signature signs the corresponding encrypted material with the private key belonging to its end-entity certificate. And not only the generated signature but also the entire certificate chain is added to the encrypted material. And the certificate chain added to the encrypted material is used by the corresponding evaluation unit or a system including the evaluation unit to check the validity of the signature created by the signature system.

[0050] If the encrypted material is already a digital certificate, it is already pre-signed. And when additional data, i.e., at least one condition, role, and / or target component identity, is recorded in the certificate, this is also signed together by the certificate creation unit. For example, the additional data, or only a part of it, is included in the corresponding certificate as one or more certificate extensions and is signed together. If all the additional data is included in the certificate, the dedicated creation of the digital signature of the encrypted material can be omitted.

[0051] To ensure the best protection, the method according to the invention should be applied as early as possible in the development of the corresponding system components. Since the check of conditions by the evaluation unit depends on variables, such variables should be optimally protected against improper operations. Because a damaged variable can conceal the existence of a state that does not actually exist. Accordingly, the constants used to evaluate the conditions 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 latest system state throughout the life cycle of the information engineering system or individual system components.

[0052] As an information engineering system, a vehicle ecosystem is preferably used. Generally, the method according to the present invention can be applied to various system components of different types of information engineering systems, whether networked or not. When the information engineering system is a vehicle ecosystem, the utilization becomes particularly efficient. This is because in that case, the corresponding requirements related to high-cost development involving many partners actually often make it very difficult to comply with safety guidelines. By implementing the method according to the present invention and the self-check by each system component accordingly, potential security holes can be dramatically minimized.

[0053] Other preferred embodiments of the method of the present invention for implementing and using encrypted material in at least one system component of an information engineering system will also become apparent from the examples described in detail below with reference to the drawings.

Brief Description of the Drawings

[0054]

Figure 1

Figure 2

Figure 3

Figure 4

Embodiments for Carrying Out the Invention

[0055] Figure 1 shows a first embodiment in which an encryption material KM is used by at least one system component SK of an information engineering system IT-S. The state of the system component SK is described by at least one variable VAR. In the example of Figure 1, the set of all variables VAR is represented as VAR, and the individual state variables used here are represented as "produktiv". The state variable produktiv indicates whether the system component SK is in the production stage of its life cycle, i.e., whether it is a production system. The encryption material KM is a self-signed test root certificate TestRootCert belonging to the test root key pair (TestRootPub, TestRootPriv), which is provided to the target system as a trust anchor, and accordingly, a test connection with a communication partner can be established, which is by being able to check the reliability of the certificate signed by TestRootPriv received from the partner using TestRootCert.

[0056] The certificate TestRootCert is created under insecure conditions, for example, the private key TestRootPriv is not securely stored. Therefore, TestRootCert is not allowed to be used in a production system. Accordingly, the condition BED included in the encryption material KM is defined as produktiv = FALSE. The condition BED indicates that the certificate TestRootCert is allowed to be used only if it is not in the production stage by the target system, i.e., by the system component SK.

[0057] Figure 2 shows a similar example where the certificate ProdRootCert, which is safely applicable in the production system, contains the encryption material KM. Accordingly, the certificate ProdRootCert is always allowed to be used by the target system, i.e., by the system component SK, whether in the development stage or the production stage. ProdRootCert is allowed to be used even in the development stage because it does not contain secret content. Accordingly, since the condition BED does not depend on the state variable produktiv, it is always satisfied (TRUE). Since the condition BED does not depend on any variable VAR, an empty set of additional variables can be selected, i.e., BED TestRootCert ({produktiv}):=(TRUE) is replaced by BED TestRootCert ({}):=(TRUE).

[0058] Figure 3 shows another example of the implementation and use of the encryption material KM in the system component SK. The system component SK here has two state variables, i.e., both of the following elements: HSMProvisioningSicher; BOOLEAN, and HSMVerschlSicher: BOOLEAN of the set of variables VAR. The set of variables VAR corresponds here to a vector having two elements. The additional variable HSMProvisioningSicher indicates whether the hardware security module HSM is already in a state where it can receive and store the encryption material KM in a secure manner. The state variable HSMVerschlSicher indicates whether the hardware security module HSM is already in a state where it can use the secret key stored therein in a secure manner for encryption. The encryption material KM is, in Figure 3, a 256-bit long secret symmetric key AESKey to be used for AES encryption in the production system.

[0059] Two operations should be safeguarded by condition BED. On the one hand, this is the provision of the encryption material KM, i.e., the secure introduction and secure storage of the key to the system component SK. Furthermore, this is encryption, i.e., the secure use of the key for encryption in the system component SK. The secure use of the key in the target system is subject to two conditions BED BED AESKey Provisioning and BED AESKey Verschlusselung guaranteed by. Condition BED BED AESKey Provisioning means that the introduction of the key AESKey into the target system is only permitted if HSMProvisioningSicher = TRUE holds. Condition BED BED AESKey Verschlusselung means that the use of the key AESKey for encryption in the target system is only permitted if HSMVerschlSicher = TRUE holds.

[0060] Figure 4 shows a flowchart of the method according to the invention. Here, it is assumed that the encryption material package KM-P has the following form: KM-P = (KM, ZKIDENT KM , BED KM * , ROLE KM * , Sign KM , ZK), where ZKIDENT KM represents the totality of the permitted target component identities for the encryption material KM, ZKIDENT KM , BED KM * represents the totality of the optionally target component-specific and / or operation-specific conditions BED assigned to the encryption material KM, ROLE KM * represents the totality of the optionally target component-specific roles ROLE KM * . At this time, the above variable ZKIDENT KM , BED KM * , ROLEKM * At least one of them may be missing from the encrypted material package KM-P. Sign KM Sign is a signature of (KM, ZKIDENT KM , BED KM * , ROLE KM * ) created by the creation unit of the encrypted material KM, and ZK is a certificate chain, which is used to check the validity of the signature Sign KM of the system component SK. Furthermore, for the unique addressing of the system component SK, it is also assumed that the system component SK has an identity skid and a target component type (skid). For example, the identity skid and the target component type (skid) can be included in the system component SK of the variable VAR. The system component type can also be understood as the class of the system component SK, that is, all system components SK such as, for example, the class / type "head unit", "engine control device", etc. Furthermore, it is assumed that the evaluation unit is trying to check whether the encrypted material KM included in the encrypted material package KM-P is allowed to be installed in the system component SK for the operation Prov in the system component SK. This operation can generally be any operation such as, for example, the execution of a decryption process. In the example of FIG. 4, the operation is the original provisioning of the encrypted material KM.

[0061] First, the signature KM is inspected. If the signature inspection fails, subsequent exception handling is performed according to the first link LINK1. On the other hand, if the signature inspection is successful, here it is checked whether the encrypted material KM in the form of the encrypted material package KM-P contains at least one target component identity ZKIDENT KM . If the above applies, the identity skid of the system component SK is the target component identity ZKIDENTKM It is checked whether it is included in, and if it does not apply, exception handling is started according to the first link LINK1. On the contrary, if the above does not apply, that is, the encrypted material package KM-P does not contain the target component identity ZKIDENT KM This step is jumped if it does not contain.

[0062] Subsequently, it is checked whether the condition BED KM * is included in the encrypted material KM and, if applicable, what conditions are included. If the encrypted material package KM-P does not contain the condition BED KM * the process continues according to the second link LINK2 and the installation of the encrypted material KM is performed.

[0063] Subsequently, it is checked whether the condition BED KM * is specific to the target component.

[0064] If it does not apply, it is checked whether at least one condition BED KM * is specific to the operation.

[0065] If it does not apply, the corresponding condition BED KM is evaluated and the process proceeds according to the first or second link LINK1, LINK2.

[0066] On the contrary, if it is confirmed that at least one condition BED KM * is specific to the operation, it is subsequently checked whether the provisioning of the encrypted material KM is intended as an operation. If it applies, the operation-specific condition BED KM Prov is inspected. Subsequently, the process proceeds according to the links LINK1, LINK2.

[0067] On the other hand, if at least one type-specific condition is detected in the encryption material package KM-P, it is checked whether the at least one type-specific condition is also valid for the entire class of system components SK, i.e., whether the type (skid) is included in BED KM * For each class referenced by the type (skid), the set of conditions valid for that class is hereinafter referred to as BED KM Type(skid)* If this is the case, provisioning is allowed (see the first link LINK1). If this is not the case, it must be checked which standard procedure should be applied. That is, whether provisioning is allowed or not. For this purpose, for example, a standard response may be included in the encryption material package KM-P

[0068] Subsequently, it is checked whether the type-specific condition is additionally operation-specific BED KM Type(skid)* If this is not the case, the condition BED KM Type(skid) is evaluated and the process proceeds further according to the links LINK1, LINK2. On the other hand, if the condition BED KM Type(skid)* is operation-specific, here as an example, at least one operation-specific condition for the operation Prov ("provisioning") is checked, i.e., whether the condition BED KM Type(skid),Prov is included in BED KM Type(skid)* (This step is not shown in Figure 4). If this is not the case, exception handling is started according to the first link LINK1. On the other hand, if this is the case, i.e., BED KM Type(skid)* includes the condition BED KM Type(skid),Prov this is evaluated and the process proceeds further according to the links LINK1, LINK2

[0069] Individual condition BED KM ,BED KM Prov ,BED KM Type(skid) or BED KM Type(skid),Prov After the evaluation of, here the encrypted material KM in the form of the encrypted material package KM-P is checked to see if it contains at least one role ROLE KM * If this is not the case, the provision of the encrypted material KM for the system component SK is done without a role. On the other hand, if this is the case, it is checked whether ROLE KM * contains a role for the target component type Type(skid). If this is not the case, exception handling is done again. On the other hand, if this is the case, the provision of the encrypted material KM is done taking into account the role ROLE KM * is taken into account and the encrypted material KM is provided.

Claims

1. A method for implementing and using an encrypted material (KM) in at least one system component (SK) of an information technology system (IT-S) for performing at least one operation, comprising: at at least one first time point, checking the state of the system component (SK) described by at least one variable (VAR), supplementing the encrypted material (KM) with additional data, the additional data describing a possible state of the system component (SK), and when the additional data of the encrypted material (KM) includes at least one state that the system component (SK) has at the first time point, the encrypted material (KM) is used by the system component (SK). In the method, The additional data is, as the state, at least one condition among the conditions (BED, BED KM * , BED KM Prov , BED KM Type(skid) , BED KM Type(skid),Prov ), at least one role (ROLE KM * ), and / or at least one target component identity (ZKIDENT KM ), and is constituted by at least one of the conditions (BED, BED KM*, BED KM Prov, BED KM Type(skid), BED KM Type(skid), Prov) is defined in a machine-processable definition language, and an executable language interpretable by an interpreter is used, characterized in that at least two of the conditions (BED, BED KM*, BED KM Prov, BED KM Type(skid), BED KM Type(skid), Prov) are formulated in mutually different definition languages, in particular two target component-specific conditions (BED KM Type(skid), BED KM Type(skid), Prov).

2. The encrypted material (KM) includes at least one role specific to a target component (ROLE KM * ))), and the method according to claim 1 is characterized by this.

3. All of the foregoing conditions (BED, BED KM * , BED KM Prov , BED KM Type(skid) , BED KM Type(skid),Prov ) are defined by a creation unit external to the system component (SK) and evaluated by at least one evaluation unit executed in the environment of the system component (SK), and the creation unit and the evaluation unit jointly define variables (VAR) that can be used when the creation unit defines, the method according to claim 1 or 2.

4. At least one variable (VAR) has the following value ranges, - BOOLEAN; - INTEGER; or, - STRING The method according to claim 1, characterized in that it has.

5. Among the conditions (BED KM Prov , BED KM Type(skid) , BED KM Type(skid),Prov ), at least one condition is defined specifically for the target component and / or specifically for the operation. The method according to claim 1, characterized in that.

6. For the target component-specific and / or operation-specific said conditions (BED KM Prov , BED KM Type(skid) , BED KM Type(skid),Prov ), at least one variable (VAR) that is different for different target components and / or different operations is used, the method according to claim 5.

7. The evaluation unit checks the conditions (BED, BED KM * , BED KM Prov , BED KM Type(skid) , BED KM Type(skid),Prov ) by means of an evaluation function, and uses evaluation functions that are different from each other for at least two evaluation units that are different from each other, in particular operation-specific evaluation functions, the method according to claim 3, characterized in that.

8. The encrypted material (KM) includes at least two of the conditions (BED, BED KM * , BED KM Prov , BED KM Type(skid) , BED KM Type(skid),Prov ). For the encrypted material (KM) to be used by the system component (SK), all of at least two conditions (BED, BED KM * , BED KM Prov , BED KM Type(skid) , BED KM Type(skid),Prov ) must be satisfied. The method according to claim 1, characterized in that.

9. Target component-specific conditions (BED KM Type(skid) , BED KM Type(skid),Prov ) of the encryption material (KM) used in the system component (SK) are not included in the corresponding class of the system component (SK), or the operation is executed by using the encryption material (KM) not included in the operation-specific conditions (BED KM Prov , BED KM Type(skid),Prov ), or the evaluation unit cannot detect the variables (VAR) required for the state check, the evaluation unit shall give the following standard responses for each condition (BED, BED KM * , BED KM Prov , BED KM Type(skid) , BED KM Type(skid),Prov ) - TRUE; - FALSE; or, - A response added to the encrypted material (KM) as a standard response The method according to claim 5, characterized in that it supplies.

10. The method according to claim 1, characterized in that all additional data included in the encrypted material (KM) is protected by encryption against endangerment, in particular after using at least one digital signature and / or a symmetric integrity protection mechanism.

11. The method according to claim 10, characterized in that at least two different entities are given the qualification to digitally sign the encryption material (KM), and all entities having the right to sign are each given an individual private key and a related individual end entity certificate assigned thereto, and a related certificate chain.

12. The method according to claim 1, characterized in that a vehicle ecosystem is used as the information technology system (IT-S).

Citation Information

Patent Citations

  • Methods for the secure use of cryptographic material

    DE102020003072B3

  • Using metadata within security tokens to prevent coordinated fraud in reputation systems

    JP2013504821A

  • Information processing system, information processing apparatus, information processing method, and program

    JP2018010433A