Skip to content

IEC 62443-4-2 and security requirements for Workloads

Nerve provides a solid basis for IEC62443-4-2 certification of a complete application, but some aspects remain under the responsibility of the application developer. The tables below provide a summary of the requirements to fulfill.

Note

Docker and docker-compose workloads rely on the same context and security mechanisms. The tables below they are grouped under the same type "docker".

FR 1 – Identification and authentication control

CR1.1, CR1.1 RE1, CR 1.3, CR 1.4, CR 1.5, CR 1.10, CR 1.11

Workload Comment
Docker
  • If no human user is needed, the requirement is not applicable.
  • For simple user interface, the Remote screens of Nerve can be used. In such a case the UI of the workload is only available after authentication in the MS or in the local UI.
  • For complex UI or for UI with a user group decoupled from the Nerve users, the user management shall be developed by the user.
VM
  • If no human user is needed, the requirement is not applicable.
  • If human users need access, the user management shall be developed by the user
Codesys Use Codesys online user management.

CR 1.2

Workload Comment
Docker, VM The user shall implement a mechanism to authenticate toward external components.
Codesys Enforce CODESYS Online UserManagement and encrypted communication by CODESYS Control runtime configuration/ security settings.Enforce CODESYS Online User Management and encrypted communication by CODESYS Control runtime configuration/security settings.

CR 1.7

Workload Comment
Docker, VM If user management is needed, the user shall implement a configurable mechanism to to enforce password strength and password policy.
Codesys Configure password strength and policy (password expiration, number of invalid login attempts, …) according your requirements by CODESYS Control runtime configuration/security settings.

CR 1.8, CR 1.9, CR 1.14

Workload Comment
Docker, VM If needed, a mechanism shall be implemented by the user.
Codesys If an HMI / Web Visu is used, the system notification shall be considered during development.

CR 1.12

Workload Comment
Docker, VM If cryptographic authentication is required, the user is responsible to fulfill all requirements.
Codesys Codesys provides a local PKI and ensures that symmetric keys are used in a compliant way. The user shall provide a valid Root CA certificate or access to a root CA.

CR 1.13

The security context is defined to avoid such situation and thus protects all workloads.

FR2 – Use control

CR2.1, CR 2.1(RE1), CR 2.1(RE2)

Workload Comment
Docker, VM The user is responsible to fulfill all requirements.
Codesys Use only fieldbus with security properties (e.g. OPC-UA). Enforce Codesys User Management

CR 2.4

Workload Comment
Docker The application shall prevent the transfer of mobile code to the application. For web application, the code shall be built using SRI to force an integrity check in the browser. Nerve enforce an integrity check before running the container.
VM The user is responsible to fulfill all requirements.
Codesys The application shall prevent the use of mobile code. Nerve checks the integrity of the Codesys application during deployment.

CR 2.5

Workload Comment
Docker-compose If the web application is accessed through the local UI Web UI, it is compliant. If direct access is required, the user is responsible to implement this requirement.
Docker, VM The user is responsible to fulfill all requirements.
Codesys If visualization is used and accessed directly, an inactivity lock out should be considered. All access to the Codesys application managed by Nerve are compliant.

CR 2.6

Workload Comment
Docker, VM If the application is accessed through Nerve remote connection, it is compliant. If a direct access is required, the user is responsible to implement this requirement.
Codesys Nerve enforce all requirements for remote sessions.

CR 2.8, CR 2.9, CR 2.10, CR 2.11

Workload Comment
Docker If the application generates audit logs according to the method proposed in this documentation, Nerve fulfills all audit logs requirements, including time synchronization. If a different method is selected, the user is responsible to implement this requirement. Audit Logs Workloads
VM The user is responsible to implement this requirement.
Codesys The audit logging is covered by Codesys, the logger-capacity shall be adapted by the customer. Nerve provides the time synchronization.

CR 2.12

Workload Comment
Docker The user is responsible to implement this requirement.
VM The user is responsible to implement this requirement.
Codesys Covered by Codesys if the user management is enforced.

FR3 – System integrity

CR 3.1, CR 3.1 (RE1)

Workload Comment
Docker, VM When using a remote connection to access the workload, Nerve fulfills the requirements. For all other communication channels, the user shall implement a mechanism to fulfill this requirement.
Codesys When using a remote connection to access the workload, Nerve fulfills the requirements. Use secure communication for fieldbuses (e.g. OPC-UA). Enforce encrypted communication by CODESYS Control runtime configuration/security settings.

CR 3.2

Workload Comment
Docker, Codesys Nerve protects the integrity at rest by using disk encryption and starting the original file after boot.
VM The user shall ensure sufficient protection of the VM against malicious code.

CR 3.3

Workload Comment
All The user shall provide documentation on how check the security mechanism.

CR3.4, CR 3.4 (RE1)

Workload Comment
Docker, Codesys Nerve protects the integrity of the code and checks it before starting the workload. For the integrity of the configuration, the user shall implement his own mechanism.
VM The user shall implement a mechanism to ensure the integrity of the VM.

Currently authenticity check are not supported.

CR 3.5

Workload Comment
All The user shall implement adequate input validation on all interfaces.

CR 3.6

Workload Comment
Docker, VM The user shall implement adequate state for the outputs on all interfaces.
Codesys On exceptions, the IO-Manager of CODESYS Control runtime system enters the configured safe state.

CR 3.7

Workload Comment
Docker, VM The user shall implement adequate error handling.
Codesys Codesys fulfills this requirement for the runtime. The application still needs to avoid leaking information through logging.

CR 3.8

Workload Comment
Docker, VM The user shall implement adequate adequate session management if needed.
Codesys Codesys fulfills this requirement for communication with the IDE.

CR 3.9

Workload Comment
Docker If the audit log mechanism from Nerve is used, the audit logs are protected adequately. If not, the user shall implement adequate adequate protection of the audit logs.Audit Logs Workloads
VM The user shall implement a mechanism to protect the audit logs.
Codesys Codesys fulfills this requirement by limiting access to the audit logs to authorized users.

CR 3.10, CR 3.11, CR 3.12, CR 3.13, CR 3.14

The requirements are not relevant for the application. Depending on the setup, they are covered by Nerve or by a combination of Nerve and custom setup of the hardware.

FR 4 – Data confidentiality

CR 4.1

Workload Comment
All Nerve ensure protection at rest of the binaries and all related configuration by using disk encryption.
All When using additional interfaces, the user is responsible for the confidentiality in transit.

CR 4.2

Workload Comment
All When offboarding the node from the Management System, Nerve delete all information from all workloads. No further action is needed

CR 4.3

Workload Comment
Docker, VM The cryptography used by the application shall be based on recognized practices and recommendations.
Codesys For IDE access and OPC-UA Codesys uses standard cryptography components. No further action required.

FR 5 – Restricted data flow

No requirement apply to the application on this level.

FR 6 – Timely response to events

CR 6.1

Workload Comment
Docker If the audit logs mechanism from Nerve is used for docker workloads, no further action is needed. Otherwise the user shall ensure that the audit logs are accessible.
VM The user shall ensure that the audit logs are accessible.
Codesys Audit logs are available through the Codesys IDE.

CR 6.2

Workload Comment
All Nerve provides the capability to send the metrics to a central OpenSearch instance and apply monitoring and alerting based on these metrics.

FR 7 – Resource availability

CR 7.1

Workload Comment
All Nerve Provides the possibility to limit resource use per workload. The user shall review the actual resource consumption of each workload and apply resource limitation accordingly.

CR 7.1 RE1

Workload Comment
Docker, VM If the workload accepts incoming connection, the user shall implement a rate limitation to mitigate the effect of DoS attacks.
Codesys Codesys is protected by design. No further action necessary.

CR 7.2

Workload Comment
Docker, VM Nerve protects the resources allocated to the workloads. Still within the workload, the user shall ensure that security functions(e.g. logging) does not interfere with normal operations.
Codesys Codesys is protected by design. No further action necessary.

CR 7.3, CR 7.3 RE1, CR 7.4

Workload Comment
Docker Docker images are normally deployed from the Management System, so no backup is needed. Docker volumes can be exported and deployed as needed.
VM Nerve provides the capability to periodically backup a VM. The backup can be restored after an integrity check. The backup is not encrypted so any sensitive information inside the VM should be protected.
Codesys The Codesys application can be exported if needed, but usually no backup is necessary, a redeployment from the Management System is sufficient to restore the status.

CR 7.5, CR 7.8

These requirements are not applicable on this level.

CR 7.7

Workload Comment
Docker, VM The user shall ensure that only necessary packages are installed in the workload, only necessary services are running and only the necessary ports are exposed to the network.
Codesys The user shall only open the ports which are absolutely needed for the application.

Workload Development and Configuration

Product aspect Description & measures
Skilled users for workload configuration Workload configuration is considered to be of the same complexity as software development.
  • Implementers of security shall ensure that only personnel with sufficient know-how of security are allowed to configure Nerve workloads.
  • Implementers of security shall ensure that security implications of the Docker Compose YAML and virtual machine XML configurations are suitable for the given system. Such implications are, for example, a service being directly reachable from an external network or user credentials being contained in parameters such as environment variables.
Resource consumption Nerve provides the capability to reserve resources for a workload. This reduces the probability of interference and therefore the availability of the system.
  • Implementers of security shall make use of the option to reserve and limit resources for each Nerve workloads.
Configuration of remote connections The Nerve remote access feature, per design, permits the traversing of zones. Users shall consider undesired piercing of security zones when configuring remote connections.
  • Implementers of security shall configure remote access routes only in line with their security concept.
  • Implementers of security shall allow remote access configuration only for users with sufficient know-how of the security concept.
Configuration of networks Nerve devices can have multiple networks. In order to minimize the attack surface, users shall configure only those networks which are needed for operation.
  • Implementers of security shall configure only those networks on a Nerve node which are needed for operation.
  • If some workloads provide access to additional ports, the workloads should be hardened to prevent unauthorized access and the firewall configuration should be adapted. Only the necessary ports should be exposed.
Acknowledging remote connections Nerve nodes provide the option to require acknowledgement of remote connections. If this option is not enabled, users with access to remote connections can establish remote connections to the device anytime.
  • Implementers of security shall activate the feature to require local acknowledgement for remote access where possible.
Following a secure development process Nerve is a system where customer applications are executed. Developers of customer applications may rely on the security features provided by Nerve. However, they do need to develop their applications in a secure way to achieve an overall secure system. Note that this requirement actually has quite big implications on the application development team and process throughout the whole lifecycle. Even though Nerve comes with a security certification, it does not mean that all applications running on Nerve are secure.
  • Implementers of applications on Nerve shall follow a secure life-cycle process for their applications running on Nerve.