Application designed to create environmental information

By designing an application that can generate and provide password-protected proof information in an execution environment, the problem of verifying the application running environment in an industrial environment is solved, and greater security and flexibility is achieved.

CN119547070APending Publication Date: 2025-02-28SIEMENS AG
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202380053137.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-07-12
Filing Date
2023-07-05
Publication Date
2025-02-28

AI Technical Summary

Technical Problem

The prior art is difficult to effectively verify the authenticity and integrity of applications in the execution environment in industrial environments, especially when the control logic needs to be adjusted, and there is a lack of flexible and independent proof mechanism.

Method used

Design an application that creates and provides password-protected proof information in the execution environment, confirms the type and authenticity of its running environment by generating a digital signature, independent of the support of the runtime environment.

Benefits of technology

It realizes the independent proof function of the application in its execution environment, improves security and flexibility, can more easily verify the application's operating environment in an industrial environment, and supports higher credibility requirements.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

The invention relates to an application (A) which is designed to be executed in an execution environment, comprising:-a document unit which is designed to create environment information, said environment information describing the execution environment when the application (A) is run; and-an authentication unit, which is designed to cryptographically secure the environment information, thereby forming authentication information. The invention also relates to an execution environment, a control device (AC) and an associated method.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to an application, a related execution environment, a control device and a related method. Background Art

[0002] Due to the increasing degree of networking in industrial applications and the need to process larger amounts of data locally to optimize manufacturing processes, industrial devices are being designed more and more flexibly with regard to their functionality. This can be achieved in particular by supporting downloadable applications (also referred to as apps) with which the device functionality can be adjusted simply and quickly even on site.

[0003] The goal is to offer the customer the widest possible range of apps. Apps from different providers can be executed on a device. The execution environment of an app can therefore vary greatly, in particular with multiple different apps also being executed, basic operating system variants and / or hardware. The characteristics of the execution environment of an app can therefore be crucial for the trustworthiness of the data provided by the app. This is important in an industrial environment when an app is to be granted access to critical data or when the results of an app are to be taken into account in a decision, in particular for the purpose of adapting control logic.

[0004] In principle, compliance checks and certification mechanisms are known, in particular for drawing conclusions about the integrity of software running on a computing platform. These compliance checks and certification mechanisms are provided by the platform and are often complex or inflexible in use, since they are, in particular, proprietary solutions from the hardware manufacturer and / or depend on the infrastructure of the hardware manufacturer.

[0005] So-called "remote attestation" is known, in particular in combination with measured boot (MeasuredBoot) and a trusted platform module (TPM). In this case, starting from a "root of trust", a cryptographic checksum is calculated for each boot component by a "root of trust for measurement". The checksum can then be stored, for example, in a special register, the so-called platform configuration register (PCR), in the TPM, in which the PCR register is updated as a function of the determined checksum. In addition, the list of PCR values ​​can be signed with a private key that is stored in the TPM and cannot be extracted, and then transferred together with the signature to another instance (e.g. a server) for checking. In this way, the access of a device to a service or, in general, to a network can be controlled as a function of the measured boot components.

[0006] Trusted Execution Environments (TEEs) are known. These represent a specially protected execution environment that can only be accessed by the normal execution environment (normal world) via well-defined interfaces. This prevents, for example, local system administrators or malware present in the normal execution environment from manipulating program execution in the TEE execution environment. Examples of TEEs are Intel SGX, Intel TDX, AMD SEV, ARM TrustZone.

[0007] Some of these technologies, such as Intel SGX, Intel TDX and AMD SEV, provide a hardware-assisted approach to attest the state of software loaded in the TEE. With the issued attestation, the user can check the integrity and authenticity of the loaded software, and then transfer secrets (such as keys for decrypting the file system of the software loaded in the TEE) to the software in the TEE. Here, it is known from some implementations such as Intel SGX that the attestation function is implemented by a special bootloader code provided by the hardware manufacturer, which is executed in a hardware-protected enclave (i.e., Intel-Enclave forms an attestation for the user enclave).

[0008] In principle, it is known from AMD SEV and Intel TDX that different virtual machines or containers are assigned randomly selected, different keys, which are used for memory encryption of the data of these virtual machines. In this way, cryptographic isolation of the virtual machines with respect to the infected host and with respect to other virtual machines can be achieved.

[0009] Various obfuscation methods are known in order to make program code difficult for humans to understand and thereby prevent reverse engineering or code changes that would be useful to an attacker. Many obfuscation tools are also available that apply obfuscating transformations to a program to a large extent automatically. This is usually done based on source code or based on the machine code of the application program after it has been compiled and linked.

[0010] "Verifiable Computing" is known, where computation is outsourced to a possibly untrusted system and a verifiable result is produced there as part of the computation. This verifiable result can be used to check whether the computation has been correctly performed as expected. Exemplary and known lines of sight are based on homomorphic encryption or obfuscation, or on multiple computations on different systems.

[0011] From Android, the SafetyNet Service is known. The goal of SafetyNet is to enable critical apps (e.g. banking and payment apps) to check the status of a device before using it in order to minimize potential misuse. In this case, the device collects data about the status of the device (e.g. whether VerifiedBoot is active or has been deactivated), which can be evaluated on the server side and made available to apps via an API on the other hand. In this way, apps can, for example, find out whether the device has been modified and, if necessary, restrict its functionality or refuse to execute. Summary of the invention

[0012] The object of the present invention is to provide an improved solution for application programs.

[0013] The invention is derived from the features of the independent claims. Advantageous further developments and embodiments are the subject matter of the dependent claims. Embodiments, possible applications and advantages of the invention are derived from the following description and the drawings.

[0014] The present invention relates to an application program, the application program being designed to be executed in an execution environment,

[0015] The application features:

[0016] - a documentation unit designed to create environment information, wherein the environment information describes the execution environment when the application program is running; and

[0017] - a certification unit, which is designed to cryptographically protect the environment information, thereby forming certification information.

[0018] The application may also be referred to as an application or an App.

[0019] In the sense of the present invention, the execution environment should be understood as the environment of the application. The application is executed in the environment, that is, the application runs in the environment. Therefore, the environment can also be called a runtime environment or an execution environment. The environment information includes information related to the execution environment when the application is running or has been running, that is, when the application is running.

[0020] The certification unit is designed to perform cryptographic protection of this environment information, which can also be referred to as App-RTE fingerprint information (wherein RTE=Run-Time Environment). This is done in particular by generating a digital signature, whereby cryptographically protected App-RTE fingerprint information, which can also be referred to as cryptographically protected certification information or authentication information, is created.

[0021] One aspect of the invention is that the application or App itself creates and provides a specially generated, cryptographically protected certificate through its execution environment. To this end, the App performs, in particular, fingerprinting of its execution environment, i.e., the App pre-processes raw information of the execution environment and then confirms through the certificate what type of execution environment it is running in.

[0022] Therefore, it is proposed that the application creates specially generated certification information in which the App confirms in what type of execution environment the App is running, and certifies the result in a cryptographically protected manner (as raw information or pre-processed into a fingerprint).

[0023] This has the advantage that the App can independently implement the attestation function to confirm its runtime environment. This has the following advantages: the runtime environment itself does not need to support this attestation function, and the corresponding security infrastructure is provided by the provider of the runtime environment and must be accessible.

[0024] Therefore, the present invention considers the situation that the environment information and the proof information must be implemented independently of the proof function of the runtime environment, and in order to solve this problem, the environment information can be generated and protected by the App itself. In particular, when the runtime environment is not designed to prove the environment information, the present invention is also advantageously used.

[0025] Another advantage of self-generated proofs is that app developers can implement this independently without requiring a controlled ecosystem that is particularly dependent on hardware and infrastructure. This solution can therefore be implemented specifically for apps that have higher security requirements for the trustworthiness of the execution environment (especially for onboarding / provisioning apps, for AI-based analysis of operating data, or whether sensitive project planning data or recipes for apps are transmitted).

[0026] It is also advantageous that the described method can be implemented in an industrial environment much easier than currently known solutions support proof. App developers can implement it independently and do not need a controlled ecosystem with strong dependencies on hardware and infrastructure for this purpose.

[0027] Therefore, the present invention provides a flexible mechanism by which reliable conclusions can be provided about the environment in which an App is running.

[0028] The App-RTE certification / certification information can then be checked by other entities, in particular users, and actions can be performed based on the results of the check, in particular processing data of the App, providing data or services to the App.

[0029] The results of the attestation / proofing information can be used by users, especially as part of a cloud service evaluation, to determine whether an App should be granted access to critical data, or whether data obtained from an App can be considered sufficiently trustworthy for certain operations.

[0030] This certification information can therefore be checked and used by the user in order to decide: whether to grant the App access to certain data or services; whether other data of the App can be considered trustworthy; and whether a connection to the App should be established or terminated in principle. In addition, the App-RTE certification information can also be analyzed for monitoring purposes and, if necessary, stored permanently for audit purposes, in particular in a production database.

[0031] Furthermore, for the user, it is possible to check whether the certification information formed by the App itself complies with the certification formed by the runtime environment. For the user, this has the advantage that a higher reliability can be achieved through the existing type of execution environment.

[0032] In one embodiment of the present invention, the application further comprises:

[0033] - an output unit, which is designed to output certification information.

[0034] Therefore, the output unit provides the password-protected certification information to other entities, in particular the App Management Server, the Device Management System, the Remote Server, the Shopfloor Monitoring Server, cloud-based backend services and / or other Apps, etc.

[0035] In another embodiment of the invention, the certification information also includes additional information. This has the advantage that the certification issued by the App itself includes additional information that is not contained in the certification issued by the runtime environment. This is also advantageous when the certification issued by the runtime environment only confirms rough summary information, in particular: "Runtime environment integer".

[0036] This additional information can be designed in particular as data processed by the App, data and / or services accessed and requested by the application, and connections established with the App.

[0037] In another embodiment of the present invention, the environment information describing the execution environment when the application is running includes:

[0038] - the hardware on which the environment is executed; and / or

[0039] - the infrastructure of the execution environment; and / or

[0040] - other applications of the execution environment; and / or

[0041] - the operating system of the execution environment; and / or

[0042] - a device and / or system on which the execution environment is formed;

[0043] - files for the execution environment; and / or

[0044] - characteristics of the execution environment; and / or

[0045] - data about processor registers of the execution environment or a system superordinate to the execution environment; and / or

[0046] - configuration data of the application, in particular the configuration (Config) file of the application, which data in particular includes the permissions of the application; and / or

[0047] - configuration data of peripheral modules of the execution environment or of a system superordinate to the execution environment; and / or

[0048] - configuration data of an expansion module (in particular designed as PCIe) of the execution environment or of a higher-level system of the execution environment; and / or

[0049] - data generated by the application's access to components of the execution environment or a system above that execution environment; and / or

[0050] - performance measurements of the execution environment; and / or

[0051] - a cryptographic key accessible to the application; and / or

[0052] - a security token accessible by the application; and / or

[0053] - A digital certificate that the application can access.

[0054] The hardware-related environmental information of the execution environment includes, in particular, security-related information of the CPU, in particular the microcode version, existing CPU security features such as Intel-CET and their configuration (in particular activation / inactivation), and vulnerabilities relative to hardware-specific side-channel attacks such as, in particular, Spectre / Meltdown.

[0055] The environment information related to the infrastructure of the execution environment includes in particular Linux containers or trusted execution environments (TEEs), such as Intel SGX enclaves or virtual machines protected by AMDSEV. The environment information also particularly involves the output of certain virtual files / kernel interfaces (proofs, sysfs, special system calls), which particularly indicate whether the App is executed in a virtual machine, in a TEE, or in a container.

[0056] Environmental information related to other applications of the execution environment includes, inter alia, existing software binaries, libraries, packages, configuration files (or their versions), including their configuration settings (especially sysctl / kernel parameters).

[0057] The environment information including the operating system of the execution environment includes in particular information about a Linux or Windows host operating system.

[0058] Environmental information related to the characteristics of the execution environment includes, in particular:

[0059] - Information about the rough classification (Normal World vs. TEE), and about the more detailed description (Reduced Privilege Container); and / or

[0060] - information about running processes or system services (especially whether certain security-critical processes such as runtime integrity checks, logging services such as auditd, etc. are running); and / or

[0061] - Information about open ports, network settings such as especially iptables rules, kernel routing tables.

[0062] You can obtain environment information related to the characteristics of the execution environment:

[0063] - in particular via data / resources that are only accessible in the TEE, such as keys that are protected in particular when setting up the platform; and / or

[0064] - In particular through data about the availability of special CPU instructions that can only be executed in a TEE like Intel SGX.

[0065] The environment information including the configuration data of the application particularly concerns the permissions of the App process itself, which can also be called the configuration of App permissions, such as the allowed system calls (System-CallWhitelisting rules), Linux capabilities, SELinux domains / AppArmor profiles. The execution environment is responsible for assigning and / or configuring App permissions (here "data").

[0066] The environmental information including data generated by access to the application particularly relates to the following data:

[0067] - from access performed under test (particularly system calls, network connections, access to peripheral components or other hardware components, through performance measurements, accessible cryptographic keys, security tokens and digital certificates); and / or

[0068] - Status information (hardware, software) from log messages (especially kernel logs).

[0069] In another embodiment of the present invention, the environment information is designed as a fingerprint of the execution environment. The fingerprint can be referred to as a preprocessed version of the data of the environment. This has the advantage that, in particular, the amount of data of the environment information is reduced and meaningful parts about the environment are selected from the data.

[0070] In another variant, all original information about the type of the execution environment or parts thereof, in particular the values ​​of certain configuration files, software or microcode version states, is transmitted in a cryptographically protected manner. Alternatively, as in this embodiment variant, a fingerprint of the execution environment is formed and transmitted.

[0071] In another extension of the present invention, the fingerprint of the execution environment includes:

[0072] - cryptographic checksum; and / or

[0073] - Password hashes; and / or

[0074] - Aggregate hash value.

[0075] In this variant, the determined App-RTE information is designed as a digital fingerprint by calculating, in particular during preprocessing, one or more cryptographic hash values ​​of this information (in particular an aggregate hash value or a list of considered characteristics plus corresponding hash values ​​of the determined characteristics).

[0076] In another embodiment of the invention, the application further comprises:

[0077] A checking unit, which is designed to check the environmental information and / or the certification information.

[0078] Alternatively or in addition to the user check, the calculated App-RTE fingerprint information is checked by the App itself and a result (e.g. "App-RTE OK / NOK", "App-RTE is TEE", etc.) is generated. This is especially done by the App itself using reference information about its own runtime environment (which is assumed to be authentic).

[0079] In a further embodiment of the invention, the certification unit is designed to cryptographically protect the environmental information by means of a cryptographic signature, thereby forming the certification information.

[0080] In particular, the certification unit is thus designed to cryptographically sign the environmental information, thereby creating a cryptographic protection and thereby forming the certification information. Alternatively, the signature can be formed by another unit.

[0081] As an alternative to the signature, encryption can be performed, in particular using a symmetric key, in order to create cryptographic confidentiality protection.

[0082] In another embodiment of the invention, the proof unit is designed to protect the environment information by obfuscating the cryptographic protection mechanism, thereby forming the proof information. In particular, the proof unit is therefore designed to cryptographically protect the environment information in an obfuscated form, thereby creating a cryptographic protection and thereby forming the proof information. In this case, in particular, obfuscating routines and / or functions and / or cryptographic materials, in particular keys and / or signature functions, which are used to form the proof information. Alternatively, the obfuscation can be performed by another unit.

[0083] In one variant, for improved protection, the fingerprint logic and / or the secret used for cryptographic protection can be obfuscated. Thus, manipulation becomes difficult. This can lead to improved protection of the mechanism regardless of the execution environment.

[0084] In a further embodiment of the invention, the certification unit is designed to form a cryptographic signature by adding a secret, thereby forming the certification information, wherein the secret is in particular designed as a private key or a symmetric key.

[0085] For this purpose, in particular, a secret available to the app (in particular a private key, a pre-exchanged symmetric key) can be used to encrypt or generate a digital signature. If this secret is available only in a protected environment (TEE; for example, a virtual machine protected by Intel SGX Enklave, Intel TDX or AMD SEV, a secure world implemented by ARM TrustZone), this can also be used as an indication / evidence for describing the characteristic "TEE" of the execution environment and as environment information.

[0086] In another embodiment of the invention, the application further comprises:

[0087] - A storage function designed to enable storage of certification information.

[0088] The storage function in particular gives instructions for storing the certification information in the storage unit.

[0089] It is also possible that the App stores the determined App-RTE information in a cryptographically protected manner, preferably with the aid of a platform key that is specific to the App instance. This has the advantage that the App does not have to repeatedly carry out a possibly complex fingerprinting of the App-RTE, but rather this is only done during installation or at the first start or after an update or at the request of the user or at the request of a server or other authorized communication partner. This is primarily an approach when changes to the execution environment (or features of the execution environment) by an attacker are unlikely or difficult to carry out.

[0090] In another variant, the App-RTE certification information can be provided or stored in a distributed database directly or after preprocessing (especially encryption, anonymization / pseudonymization, conversion into a verifiable credential) for permanent preservation or verification, especially provided or stored in a distributed ledger database (blockchain). This has the advantage that the App-RTE certification information is stored and stored in a protected form.

[0091] In another embodiment of the present invention, the document unit is designed as follows:

[0092] - creating context information during runtime of the application; and / or

[0093] -Traces back to the runtime of the application to create the environment information.

[0094] If trace back to the runtime of this application, create environmental information, then this especially comprises creating environmental information after specific events occur, and environmental information still comprises and describes these events.In addition, environmental information especially comprises the information of other applications that no longer exist at the time point of creating this environmental information of relevant runtime environment.

[0095] The invention also includes an execution environment having an application according to the invention.

[0096] In this case, the execution environment, which can also be referred to as App-RTE, is implemented in particular by one of the following elements or by a combination of the following elements:

[0097] -Local Linux host system;

[0098] -Container runtime environment (such as Docker or Podman);

[0099] - Virtual machines, such as Qemu-KVM with Linux guests;

[0100] - Trusted execution environments, such as Intel SGX, Intel TDX / MKTME, AMD SEV with Linux guest systems (hardware-level cryptographic and logical isolation), ARM TrustZone environment (hardware-level logical isolation).

[0101] The invention also includes a control device having an execution environment according to the invention.

[0102] The present invention also includes a method for forming certification information for an application, wherein the application is executed in an execution environment,

[0103] The method has the following steps:

[0104] - creating environment information, wherein the environment information describes the execution environment when the application is running; and

[0105] -Environmental information is cryptographically protected to form certification information. BRIEF DESCRIPTION OF THE DRAWINGS

[0106] BRIEF DESCRIPTION OF THE DRAWINGS Characteristics and advantages of the invention emerge from the following description of a number of exemplary embodiments with the aid of the accompanying schematic drawings.

[0107] in:

[0108] Figure 1 A schematic diagram showing an application program in an execution environment of a control device according to the present invention; and

[0109] Figure 2 A flow chart of a method according to the invention is shown. DETAILED DESCRIPTION

[0110] Figure 1 A schematic diagram showing an application A in an execution environment of a control device according to the present invention is shown.

[0111] Application A is designed to be executed in an execution environment.

[0112] The application features:

[0113] a documentation unit designed to create environment information, wherein the environment information describes the execution environment when the application A is running, wherein the environment information is in particular designed as a fingerprint of the execution environment; and

[0114] - a certification unit, which is designed to cryptographically protect the environment information, thereby forming certification information.

[0115] Application A, also called App A, consists of App logic AL and in particular a fingerprint recognition component FP, which can also be called Application Logic (Application Logic) and the fingerprint recognition component can also be called fingerprint logic FP. The fingerprint recognition component FP is especially designed as a part of the document unit.

[0116] In the automation scenario, the application A is executed on different control devices AC and their runtime environment. In particular, the App A is executed on an automation component AC with control tasks (such as an industrial PC connected to a remote IO component RI / O), or on a virtual machine that is part of a hyper-converged infrastructure system HCI, or on a shop floor server (Shopfloor-Server), which can also be called an automation component. The control device AC is connected to the real world PS, which can also be called the physical world PS or Physical World PS.

[0117] The application A is loaded from the cloud environment C via the Internet www and may therefore also be referred to as a cloud application CA or a cloud application.

[0118] These applications A are managed by a management server (Management Server) MS. The management server MS has a monitoring and analysis component M / A and an App management component AM.

[0119] Here, the device provides one or more execution environments, which may also be referred to as App-RTEs, in which App A may be executed.

[0120] App / Application A implements its own App-RTE fingerprint recognition logic FP. The fingerprint recognition logic FP is used by App A at runtime to determine and process the information and content of App-RTE.

[0121] The processed information can be cryptographically protected by the fingerprint recognition logic FP or the attestation unit of the App logic AL. The result characterizing the App-RTE is then transmitted. Here, information about the rough classification (NormalWorld vs. TEE) and about a more detailed description (reduced privilege container) can be determined and processed.

[0122] Figure 2 A flow chart of a method for forming certification information of an application according to the present invention is shown, wherein the application is executed in an execution environment,

[0123] The method has the following steps:

[0124] - Step S1: creating environment information, wherein the environment information describes the execution environment when the application is running; and

[0125] -Step S2: The environmental information is cryptographically protected to form certification information.

[0126] Although the present invention has been illustrated and described in more detail by way of embodiments, the present invention is not limited to the disclosed examples and other variations may be derived therefrom by those skilled in the art without departing from the scope of protection of the present invention.

Claims

1. An application (A) designed to be executed in an execution environment, The application has: - a documentation unit designed to create environmental information, wherein The environment information describes the execution environment when the application (A) is running; and - a certification unit, which is designed to cryptographically protect the environmental information, thereby forming certification information.

2. The application (A) according to claim 1, The application also features: - an output unit, said output unit being designed to output said certification information.

3. Application (A) according to any one of the preceding claims, in, The certification information also includes additional information.

4. Application (A) according to any one of the preceding claims, in, The environment information describing the execution environment when the application (A) is running relates to: - the hardware of the execution environment; and / or - the infrastructure of the execution environment; and / or - other applications (A) of said execution environment; and / or - the operating system of the execution environment; and / or - a device and / or system on which said execution environment is formed; - files of the execution environment; and / or - characteristics of the execution environment; and / or - data about processor registers of the execution environment or a system above the execution environment; and / or - configuration data of said application (A); and / or - configuration data of peripheral modules of the execution environment or of a system superordinate to the execution environment; and / or - configuration data of peripheral modules of the execution environment or of a system superordinate to the execution environment; and / or - data generated by the application (A) accessing the execution environment or a component of a higher-level system of the execution environment; and / or - performance measurements of the execution environment; and / or - a cryptographic key accessible to said application (A); and / or - a security token accessible to said application (A); and / or - A digital certificate accessible to said application (A).

5. Application (A) according to any one of the preceding claims, in, The environment information is designed as a fingerprint of the execution environment.

6. The application (A) according to claim 5, in, The fingerprint (FP) of the execution environment includes: - cryptographic checksum; and / or - Password hashes; and / or - Aggregate hash value.

7. Application (A) according to any one of the preceding claims, The application also features: A checking unit, which is designed to check the environmental information and / or the certification information.

8. Application (A) according to any one of the preceding claims, in, The certification unit is designed to cryptographically protect the environment information through a cryptographic signature, thereby forming the certification information.

9. The application (A) according to claim 8, in, The certification unit is designed to form the cryptographic signature by adding a secret, thereby forming the certification information, wherein the secret is in particular designed as a private key or a symmetric key.

10. Application (A) according to any one of the preceding claims, in, The certification unit is designed to protect the environmental information by obfuscating a password protection mechanism, thereby forming the certification information.

11. Application (A) according to any one of the preceding claims, The application also features: - a storage function designed to enable storage of said certification information.

12. Application (A) according to any one of the preceding claims, in, The document unit is designed to: - creating said environment information during the runtime of said application (A); and / or - Tracing back to the runtime of the application (A) to create the environment information.

13. An execution environment having an application (A) according to any one of the preceding claims.

14. A control device (AC, RI / O) having an execution environment according to claim 13.

15. A method for forming certification information of an application (A), wherein: The application (A) is executed in the execution environment, The method comprises the following steps: - creating (S1) environment information, wherein the environment information describes the execution environment when the application is running; and - The environmental information is cryptographically protected (S2), thereby forming certification information.

Citation Information

Cited By

  • Confidential calculation method and device of application program, electronic equipment and storage medium

    CN119939639A