already released and reference models are soon to be
ready.
4.2 OPC UA Security Model
The security model of OPC UA is specified in part 2
of the specification by OPC Foundation (2009). This
document describes how security can be assured
using OPC UA. First, secure channel is established
to guarantee confidentially, integrity and application
authentication. Second, secure session is established
between server and client to guarantee user
authentication and authorization. It should be noted
that confidentiality is not a requirement at field
device level and it consumes more calculation power
than integrity.
Security of data transfer in OPC UA is specified
in part 4 of the specification by OPC Foundation
(2009). Secure data transfer between clients and
servers in OPC UA is based on certificates issued by
certificate authority (CA). OPC UA client and server
both have application instance certificates, which are
sent to the other member of communication channel
while establishing secure channel. Both parties
validate received certificates from CA. After secure
channel have been established client starts to
establish a session with server by sending its
software certificate to server. While application
instance certificates identify instances, software
certificates identify particular users. Server responds
to this request by sending its own certificates and
once again both members validate received
certificates from CA. Certificates validated in OPC
UA are X.509 certificates. In field device level
verifying every received certificate from CA would
cause significant delay to data transfer. Therefore,
due to X.509 hierarchical nature it would be feasible
for automation system provider to act as CA. For
example PLC could act as CA for all the field
devices connected to it.
The security profiles of OPC UA are specified in
part 7 of the specification by OPC Foundation
(2009). There are three security profiles available in
OPC UA: Basic128Rsa15, Basic256 and none.
Basic128Rsa15 is a suite of security algorithms that
include aes128 for encryption, sha1 for
authentication and rsa15 for key wrap. Similarly
basic256 includes aes256 for encryption, sha1 for
authentication and RsaOaep for key wrap. Security
policy none doesn’t include any security algorithms.
There are also asymmetric equivalents for
symmetric algorithms but they are probably too
calculation expensive to be used in field device level
to guarantee security.
OPC UA Stack is specified in part 6 of the
specification by OPC Foundation (2009). OPC UA
is located at the application layer in OSI model. In
figure 1 is depicted OPC UA stack compared to OSI
model. From figure 1 can be seen that OPC UA
stack and OSI model overlap. For example transport
layer is done again in OPC UA stack. UA Transport
Layer establishes session between two entities as
does transport layer in OSI model.
Figure 1: OPC UA stack in OSI model.
5 IPSEC
IPSec is a network layer protocol that can assure
data confidentiality and integrity, origin
identification and prevent replay attacks (Douligeris
et al., 2007). IPSec consists of three elements. First
element is security mechanisms. In IPSec there are
two of them: authentication header (AH) for
authentication and encapsulating security payload
(ESP) for encryption. Security mechanisms can also
be united to guarantee both encryption and
authentication. Second element is security
association. This is an agreement on which security
mechanisms are used between two members in data
transfer. Third element is the infrastructure for key
management. It is used to agree an SA between two
members.
There are also two modes for transferring data:
transport and tunnel. In transport mode ESP
mechanism encrypts and optionally authenticates IP
payload. AH on the other hand, authenticates
payload and also selected portions of IP header. In
tunnel mode IP packet is encapsulated inside another
IP packet. This way inner IP packet is examined
only by the end-points of the data transfer. Thus,
data integrity and confidentiality of the whole inner
IP packet can be guaranteed.
Another security solution providing data
integrity for TCP/IP based field device could be TLS
(Dierks & Allen, 1999). It offers the same security
as IPSec and it is implemented in common web
browsers, which makes it a good choice for remotely
configure field devices (Treytl et al., 2004).
However, in process network control and
THE PERFORMANCE OF OPC-UA SECURITY MODEL AT FIELD DEVICE LEVEL
339