Glossary · Security

Sign vs SignAndEncrypt

In OPC UA, Sign authenticates both applications by certificate and detects tampering, but leaves message contents readable on the wire. SignAndEncrypt adds confidentiality. Both use the same certificates and the same handshake; the difference is only whether the payload is also encrypted, and the cost difference is small.

The security difference in practice

Sign already gives you the two properties most people actually want: neither side can be impersonated without the private key, and no one can alter a Write or a Method call in flight. What Sign does not give you is secrecy. Anyone with a port mirror can read every value, every BrowseName, and any UserName token, since the token is protected by the channel rather than separately. That is the whole decision.

When Sign is the right answer

Sign is genuinely useful when you need packet-level visibility: commissioning, protocol debugging with the Wireshark OPC UA dissector, or an IDS that must inspect industrial traffic on a segmented cell network. It is also the pragmatic choice on constrained controllers where the encryption cost measurably affects cycle time. Choosing Sign should be a written decision with a reason, not a default that survived from a bench test.

When SignAndEncrypt is not optional

Require SignAndEncrypt whenever a UserName or password token is used, whenever traffic crosses a zone boundary or shared plant network, whenever recipes, part programs or anything commercially sensitive is readable in the address space, and generally wherever a 62443 security level of 2 or above is the target. Encryption on a modern CPU is cheap relative to the OPC UA stack's own overhead; the honest cost is usually a few percent, not a redesign.

Neither mode does authorisation

This is the misunderstanding that matters. SignAndEncrypt tells you which application is talking and keeps the conversation private. It says nothing about which user is behind it or what they are allowed to do. A fully encrypted channel with anonymous access and no Part 18 roles is an encrypted tunnel to an open door. Channel security and user authorisation are separate layers and you need both.

Example

What is protected under each mode

                              None    Sign    SignAndEncrypt
application authentication     no      yes     yes
tamper detection               no      yes     yes
payload confidentiality        no      no      yes
UserName token protected       no      yes     yes
readable in a packet capture   yes     yes     no
both trust lists must be set   no      yes     yes
The mistake people make: Assuming Sign hides nothing important because it is only process values. A signed-only channel exposes the entire browse structure, every BrowseName and every value to anyone on the segment - which is a free map of the plant for anyone already inside the network, and it is exactly what a lateral-movement stage looks for.

Defined in: Part 2 - Security Model; Part 4 - Services for MessageSecurityMode.

Last verified 7 September 2026 against OPC UA 1.05.07. OPC UA Connect is an educational resource and is not affiliated with the OPC Foundation.

Free download
OPC UA Server Acceptance Test Pack
A 40-check acceptance test you run against a vendor's server before commissioning sign-off. Weighted scoring, three hard gates, and a one-page verdict for the supplier meeting.
Get the free test pack →
Free, no course, no login