Deploying FactoryTalk Software With IPsec v3
Deploying FactoryTalk Software With IPsec v3
Contents
What is IPsec?...................................................................................................................... 4
How IPsec works .................................................................................................................. 5
IPsec modes ......................................................................................................................... 7
IPsec vs. SSL/TLS (HTTPS) .................................................................................................... 8
IPsec and CIP........................................................................................................................ 9
IPsec configuration .............................................................................................................. 9
Test system architectures and IPsec configuration .......................................................... 11
7.1 FactoryTalk View SE ....................................................................................................... 11
7.1.1 Testing the configuration ............................................................................................... 19
7.2 FactoryTalk ViewPoint .................................................................................................... 21
7.2.1 Testing the configuration ........................................................................................... 30
7.3 FactoryTalk AssetCentre................................................................................................. 32
7.3.1 Testing the configuration ........................................................................................... 36
7.3.2 Optional configuration for large distributed FactoryTalk AssetCentre systems ........ 38
Results ............................................................................................................................... 39
8.1 FactoryTalk View SE results ............................................................................................ 39
8.2 FactoryTalk ViewPoint results ........................................................................................ 40
8.3 FactoryTalk AssetCentre results ..................................................................................... 40
Summary............................................................................................................................ 41
Page | 3
What is IPsec?
Internet Protocol Security (IPsec) is a collection of security protocols, built-in to Microsoft®
Windows™, designed to provide security services for IP network traffic. The main functions
of these services are Authentication, Data integrity, Data confidentiality and Anti-replay
protection.
Each of the protocols included in the IPsec is built around providing the above listed
functionalities. The most important IPsec protocols are:
• The Authentication Header (AH) - defines an optional packet header as a
protection against malicious modifications and replays of traffic by performing a
data origin authentication for IP packets.
• The Encapsulating Security Payload (ESP) header – defines an optional packet
header as a protection against malicious modifications by performing a data origin
authentication and a data confidentiality through encryption of the IP packets. It
can also provide protection against replays of traffic.
Page | 4
• Internet Key Exchange (IKE) protocol – used while establishing a secure connection
based on the defined security agreements, also called Security Associations (SA).
The protocol defines the cryptographic algorithms and a mechanism to share the
exchange keys that are needed by hosts to interpret and work with the algorithms.
o Part of the IKE protocol is Internet Security Association and Key
Management Protocol (ISAKMP). It manages the SAs and the connections
between two hosts that are using IPsec. SA describes a one-directional
connection between hosts which means that a pair of hosts would need
two SAs, one for each host. The SA include various information about
secure communication parameters, policies and mechanisms used to
establish an IPsec communication - cryptographic algorithm, encryption
key, IPsec connection mode, etc.
• Authenticated Internet Protocol (AuthIP) - one of the newer key exchange
protocols that leverages on IKE and expands and improves its capabilities. For the
purpose of this writing we will not cover it in details. It is mentioned here for
awareness only.
Page | 5
▪ Main mode – the initiating host starts the negotiation process by
sending offers for a potential security session. The offer proposes
all the required security parameters and can be sent repeatedly
until the receiving host agrees on the proposal. Note that the offer
cannot be modified by a responder – it can either accept it or send
back alternatives which are then negotiated further. As a result of
successful negotiation, an IKE Security Association (IKE SA) is
created and a secure channel is established for further negotiation
(described in phase 3 below).
Note: An IPsec SA is unidirectional meaning that each host has two SAs – one SA
to send and one SA to receive packets from a remote host. However, the IPsec
Monitor tool only displays a single SA for both hosts, as we will see in the
snapshots later in the document.
3. In this step the IPsec tunnel is established and the data is being exchanged.
Encryption and decryption of data packets occurs on both endpoints according to
the encryption negotiated and specified in the IPsec SAs (phase 2.II).
Page | 6
4. In the final step, the Tunnel termination occurs, either through explicit deletion or
by timing out. Timeout can be time –based, i.e. an SA times out after a specified
time, or based on a volume of data (specified in bytes) that has been exchanged
through the tunnel. Upon terminating the tunnel, the SAs and all the associated
keying material associated with the session is discarded. Depending on the IKE
settings, the subsequent IPsec sessions can be created starting from either phase
I or phase II of the second step.
IPsec modes
IPsec-protected communication can be set up in two modes: Tunnel mode and Transport
mode.
Tunnel mode is typically used when two private networks (e.g. intranets) are
separated by a public network (Internet). To protect the public portion of the
network and treat the two intranets as one logical protected network, each intranet
has a gateway that utilizes IPsec and acts as an IPsec tunnel endpoint. This way the
traffic between computers on both sides of the public network will be relayed
through a secure tunnel.
Another example of the Tunnel mode is VPN (Virtual Private network) - a scenario
where a client computer, connected to a public network, is securely connected to a
remote trusted network. In a VPN environment, a trusted remote network gateway
creates an IPsec tunnel that is utilized by the client. Unlike in the previous example
where a gateway endpoint and a participating network computer endpoint are not
the same, in the VPN scenario the client’s IP address is both the client endpoint and
one of the tunnel’s endpoints.
Transport mode describes a one-to-one scenario where one host interacts directly
with another host. The traffic originating host initiates an IPsec communication
which is then negotiated between the hosts. Upon successful negotiation, a secure
end-to-end IPsec channel is established. The IPsec security policy in transport mode
requires only two IP addresses, one from each participating host.
The product testing scenarios, described later in this document, are using the Transport
mode.
Page | 7
IPsec vs. SSL/TLS (HTTPS)
In addition to IPsec, a network traffic generated by the FactoryTalk View products and their
components can be protected by SSL/TLS. For example, both FactoryTalk View SE and
FactoryTalk ViewPoint support communication over HTTPS, a protocol established by means
of certificates for use with SSL/TLS. So, the next logical question would be: if both IPsec and
SSL/TLS protocols are supported by FactoryTalk View, what is the difference between them
and which one should I use?
(Note that a deep-dive into technical details of each of these protocols is beyond the scope
of this document. We will just briefly identify the main technical differences between them.)
Both the IPsec and the SSL/TLS are cryptographic protocols. This means that they operate
on top of a concrete network protocol and provide the security-related services by use of
cryptographic methods such as data confidentiality, data integrity, authentication, data
encryption etc.
IPsec is implemented at the Network layer (layer 3 of the OSI model) and is an abstraction
of the IP protocol. It protects all traffic between the hosts but since it operates at the very
low OSI layer, it does not provide granularity that is often necessary to achieve specific user-
based and/or application-based security.
In contrast, HTTPS is implemented at the Application layer (layer 7 of the OSI model) and is
an abstraction of the HTTP protocol through use of SSL and /or TLS protocols (that belong to
Presentation layer, layer 6 of the OSI model). As such, HTTPS is designed towards securing
web-based traffic associated with a specific application and allows more flexibility when it
comes to meeting custom security requirements.
From the implementation point of view, depending on the network complexity, IPsec can be
much more challenging to configure than HTTPS. It requires careful planning and complex
policy configurations. Also, administration and maintenance requires skills and proficiency
which are not as demanding with HTTPS implementation.
With the above in mind, deciding which method to use may not be straightforward. The
unpopular but the true answer is: it depends. For example, if securing the FactoryTalk
ViewPoint traffic or the web-based project components of FactoryTalk View SE (graphic
displays, macros, parameter files, etc.), HTTPS could be an obvious choice. However, if the
objective is to secure the entire traffic of a FactoryTalk View distributed application,
especially in situations where the application’s servers and clients span across unprotected
segments of the network (and/or the flexibility for configuring security at the
application/user level is not of utmost importance), IPsec could be a method of choice.
Page | 8
IPsec and CIP
As mentioned in the previous section, IPsec is supported at the Network layer of the OSI
model (layer 3) or the top of the media layer of traffic meaning that securing the packets
prior to transport is the objective. Today, automation hardware that communicate via CIP
(Common Industrial Protocol) do not support IPsec in the media layers. The standard that
Rockwell Automation is implementing is ODVA CIP Security™
(https://www.odva.org/Technology-Standards/Common-Industrial-Protocol-CIP/CIP-
Security).
IPsec configuration
There are number of ways and tools available for configuring IPsec communication. In this
document, we will not discuss all these different methods nor the details of the configuration
steps that need to be taken. For this and various other information, please refer to a rich
collection of technical documentation available on this subject on the web. Our objective is
to provide a general IPsec configuration guidance based on the method that we used in our
own tests.
The IPsec configuration procedure can be broken down into the following phases:
Page | 9
1. Using Windows Group Policy Management Tools to configure one or more unique
Organizational Units (OU) (e.g. FactoryTalk View SE clients can represent one OU,
FactoryTalk Linx data servers can represent the other OU, etc.).
2. Using Active Directory Management Tools to add the participating computers to the
corresponding Organizational Units.
3. Using Group Policy Management Editor to configure the Group Policy for each OU:
a. Create IP Security Policy
b. Build IP Security Rules (for communicating with other computers):
i. For each Rule build an IP Filter List (the list represents collection of
filters that specify the source and the destination IP addresses and
define the communication protocol, ports, etc., between them).
ii. Configure the rest of the Rule properties such as: Authentication
Methods, Tunnel Settings, Connection Type
c. Configure Integrity and encryption Properties
These configuration phases will be much easier to understand and follow in the next section
that illustrates how each of these phases have been performed in our test systems.
Page | 10
Test system architectures and IPsec configuration
7.1 FactoryTalk View SE
Figure 1 below illustrates a simple redundant HMI server system architecture used for
IPsec testing.
Figure 1
As described in a previous section, the first step was to use Group Policy Management
Tools to configure Organizational Units. For this testing scenario we configured only
one OU called ServerClient (Fig. 2)
Page | 11
Figure 2
Role IP address
FTD and SE Primary HMI Server 10.224.106.135
Secondary HMI Server 10.224.105.77
FactoryTalk Linx data server 10.224.105.85
SE Studio 10.224.105.43
SE Client 10.224.105.41
Table 1
Next, per the phase 3a from the previous section, we configured IP Security Policy for
the ServerClient OU:
Page | 12
Figure 3
Per the phase 3b, we created two IP Security rules: FromOthersToMe and
FromMeToOthers.
Figure 4
Page | 13
The next step in the process (3b.i) was to create an IP Filter List for each of the IP
Security rules. The first rule we chose was FromOthersToMe:
Figure 5
Remember that IP Filter List must define the source and the destination IP addresses
as well as the communication protocol, the ports, etc. of all the computers to which
the IP Security rule will apply. The Figure 6 depicts the completed IP Filter List for the
FromOthersToMe rule.
Page | 14
Figure 6
Similarly, per Figure 7 below, the next step was to select the FromMeToOthers rule
and create the IP Filter List for this rule too:
Figure 7
The rest of the Rule Properties were configured per Figures 8, 9 and 10 by accessing
their respective tabs:
Page | 15
Figure 8
Note: There are numerous authentication methods supported by IPsec and Microsoft.
However, we recommend Kerberos as a preferred method of choice.
Figure 9
Page | 16
Figure 10
Note how in Fig. 10 we selected “This rule does not specify an IPsec tunnel”. This
setting means that the IPsec communication will be performed in the Transport mode
and that the rule applies to all network traffic.
Tunnel strategies such as VPN are also supported but require different configuration
and additional consideration that are beyond the scope of this document (please refer
to the applicable Microsoft documentation).
Page | 17
Figure 11
Figure 12
Note that the type of Security Method chosen in the above step may impact
performance of the applications being secured. For example, both integrity checks
and especially encryption, where traffic leveraging pre-defined cryptography must be
encrypted at the source and then decrypted at the destination, require time to
complete. However, it is difficult to predict how big the performance impact would
Page | 18
be. It depends on the application, volume of the network traffic, network speed,
configuration and topology, etc.
Figure 13
As seen in the above figure, the communication protocol between the two hosts is
ESP (Encapsulating Security Payload). Per earlier discussion (Section 1) ESP is a part of
the IPsec protocol suite that provides confidentiality, data origin authentication,
connectionless integrity, and anti-replay service. These are the core services that
define IPsec.
One of the IPsec utilities that is available is IP Security Monitor. It is used to monitor
several IP security status information categories. One of them is the Security
Associations between the source computer (running the Monitor) and the computers
it communicates with over the IPsec. Below are the security association captured by
the tool on the FactoryTalk View Studio machine:
Page | 19
Figure 14
From Fig. 14, we can see that the FactoryTalk View Studio computer established SAs
with both HMI servers and the FactoryTalk Linx data server machine, as expected from
the test system architecture (Fig. 1).
Page | 20
7.2 FactoryTalk ViewPoint
The test system architecture for FactoryTalk ViewPoint was composed of four
computers, as illustrated in Fig. 15.
Figure 15
Unlike in previous test, for this architecture we configured four Organizational Units,
one for each participating computer – DataServer, VPClient, VPHMI and VPServer.
Figure 16
Page | 21
Each computer was then added to their respective OU. Below is the IP table of the
computers involved:
Role IP address
SE HMI Server 10.224.106.94
FactoryTalk Linx data server 10.224.105.85
ViewPoint Client 10.224.105.195
VP Server 10.224.105.123
Table 2
Per the phase 3a (section 5) we configured the IP Security Policies for each configured
OU. The details of the rule configurations are very similar to those provided in
FactoryTalk View SE system test. The configuration for FactoryTalk ViewPoint system
test are therefore illustrated with self-explainable snapshots below.
Figure 17
Page | 22
Figure 18
Figure 19
Page | 23
Figure 20
Figure 21
Page | 24
Figure 22
Figure 23
Page | 25
Figure 24
Figure 25
Page | 26
Figure 26
Figure 27
Page | 27
Figure 28
Figure 29
Page | 28
Figure 30
Figure 31
Page | 29
Figure 32
For all four OUs, the other Rule properties (Authentication Mode, Connection Type
and Tunnel Settings) as well as Integrity and encryption Properties and Security
Method, were configured in the same way as for the ServerClient OU in the
FactoryTalk View SE system test (please refer to Figures 8, 9, 10, 11 and 12).
Figure 33
Again, using the IP Security Monitor tool we can monitor Security Associations
between any computers in the test system. The picture below shows SAs between
Page | 30
ViewPoint server and the rest of the computers in the system:
Figure 34
Page | 31
7.3 FactoryTalk AssetCentre
The test system architecture for FactoryTalk AssetCentre was composed of five
computers, as illustrated in Fig. 35.
Figure 35
Page | 32
Figure 36
Each computer was then added to the FTACSystem OU. Below is the IP table of the
computers involved:
Role IP address
FactoryTalk Directory Server 10.224.108.234
FactoryTalk AssetCentre Server 10.224.108.180
FactoryTalk AssetCentre Client 10.224.108.94
FactoryTalk AssetCentre Agent 10.224.108.35
SQL Database Server 10.224.108.55
Table 3
Per the phase 3a (section 5) we configured the IP Security Policies for the OU. The
details of the rule configurations are very similar to those provided in FactoryTalk
View SE and FactoryTalk ViewPoint system tests. The configuration for FactoryTalk
AssetCentre system test is therefore illustrated with self-explainable snapshots
below. In addition, the configuration for each computer in the architecture is
essentially the same and can be repeated as in the snapshots below.
Page | 33
Figure 37
Figure 38
Page | 34
Figure 39
Figure 40
Page | 35
Figure 41
For the FTACSystem OU, the other Rule properties (Authentication Mode, Connection
Type and Tunnel Settings) as well as Integrity and encryption Properties and Security
Method, were configured in the same way as for the ServerClient OU in the
FactoryTalk View SE system test (please refer to Figures 8, 9, 10, 11 and 12).
Page | 36
Figure 42
Figure 43
Again, using the IP Security Monitor tool we can monitor Security Associations
between any computers in the test system. The picture below shows SAs between the
FactoryTalk AssetCentre Server, SQL Database server, AssetCentre Agent, and Client:
Page | 37
Figure 44
Figure 45
Page | 38
Results
8.1 FactoryTalk View SE results
The testing was completed with FactoryTalk View SE v11 using the application and the
procedures that are commonly used when testing any upcoming product version. The
scope of testing was comprehensive and performed in several iterations with and
without IPsec protected communication. It included all core product functionalities as
listed in the following table:
The special consideration has been given to potential performance issues and delays
that could be exhibited when opening a new client session, when navigating displays,
while processing commands, etc. For instance, we repeatedly measured the time it
took to not only open a display but also the time it took to populate data items, process
animations and expression as well as global objects on that display. Furthermore, we
tested VBA and the time it took to read tag values.
The performance results are, of course, very specific to the test system architecture as
Page | 39
well as the application and the procedures that we used. However, they can be used
as a general indicator about an impact that IPsec communication may have on certain
product functional areas.
According to our tests, here are the functional areas that were mostly affected by the
IPsec communication (the performance impact is presented as an average time ratio
(in %) between the times taken to complete the same actions when using IPsec and
when using TCP/IP communication).
Other functional areas tested with IPsec yielded the same or very similar results as
when tested with TCP/IP, meaning without indicating any significant delay or a
performance impact.
As for the performance impact, the most notable delays when using IPsec with
FactoryTalk ViewPoint were experienced while loading specific graphic displays. In
average, a display loading time was around 30% slower when compared to loading
the same display on a non-protected network (using TCP/IP).
Other functional areas such as recipe and trending were not affected by IPsec and
yielded the same performance as when operating the product on a TCP/IP-based
network.
Page | 40
The testing was completed with FactoryTalk AssetCentre v9 using a similar architecture
to the FactoryTalk View SE testing. Testing was conducted on core functionality and
the results are shown below in Table 6.
Our results were presented merely as a reference and also as a reminder that when
using IPsec it is advisable to set your expectations properly and be prepared for some
performance sacrifices when running FactoryTalk products in a network environment
protected by IPsec.
Summary
FactoryTalk View SE, FactoryTalk ViewPoint, and FactoryTalk AssetCentre operate normally
when running in a distributed network environment protected by using IPsec. None of the
functional areas of these products are affected by the secure nature of the network.
The key point to keep in mind is that the origins of the potential communication slowness
and/or performance impact in an industrial control system protected by IPsec are beyond
control of the FactoryTalk products. Our products rely on the network layer that IPsec is
implemented at. Whatever bandwidth and a speed that layer can provide is the bandwidth
and the speed our products can utilize. Proper network infrastructure that delivers the
Page | 41
maximum bandwidth and security protection are essential investments when building a
high-performance, robust, and secure control system.
Page | 42