Securing Luna HSM Connections in Virtual Environments

Securing Luna HSM Connections in
Virtual Environments
whitepaper
Background
The threat of a stolen computer has always been a security concern for Enterprises. In most IT
environments today that could apply to everything from personal smartphones/PDAs, laptops,
and personal computers up to large server platforms. This form of attack has, until recently,
necessitated the physical theft of the computer. For the smaller, more portable devices,
theft is relatively simple and the associated risk is quite high. For the server class platforms,
stealing a machine is quite difficult since they tend to be installed in fixed racks inside locked
data centers. Server theft, therefore, has typically not been seen as a high risk, and data
and services hosted on servers were perceived to be safe. With the rapid growth in the use of
virtualization technology, however, there is no longer a fixed link between data and services
and the physical “server” that hosts them. The threat has now evolved from:
• traditional = “steal the server” to
• virtual = “steal the server virtual machine”
Consequently, the sense of safety that many enterprises had, based on their physical security
measures, is being eroded since the data and services are no longer guaranteed to be
physically secure.
For network-attached HSMs, such as Luna SA, the increased risk associated with virtual
server theft means an increased risk of rogue servers connecting to the appliance using data
captured from the stolen virtual server. Some of the assumptions that were made during the
original design of the Luna SA’s network access control feature are no longer valid in a virtual
environment, and the overall security of the access control design had to be re-examined.
In the past, an HSM customer typically focused its attention on its core business logic and
data requirements, looking to SafeNet HSMs to provide key management and cryptographic
services as necessary. The customers owned the HSMs and application servers, and could
provide adequate physical security for their servers and their Luna SA network-attached
HSMs in their data centers, while the Luna SA HSMs provided network access control via the
Network Trust Link (NTL) service, protecting the organization’s keys within the confines of
the embedded HSM. NTL could rely on the fact that a limited (and fixed) number of servers
within a secure environment could be expected to connect to a Luna SA (that is, NTL could
Securing Luna HSM Connections in Virtual Environments Whitepaper
1
assume that the organization’s physical security would limit the opportunity for rogue servers
to attempt connections). This is no longer the case with the introduction of virtual servers
and cloud computing. A new protection mechanism is required to enable NTL to provide an
equivalent level of security in virtual server environments as it does when dealing with
“real” servers.
Luna HSM Server “real” clients
(Traditional/non-virtual) model
Application Servers on
real (non-virtual) hardware
Windows
Solaris
Linux
HP-UX
AIX
Luna HSM Server
(HSM inside)
NTL links secured
by SSL security,
certificate exchange
PKCS #11
SSL
Luna HSM Server admin
(SSH or serial connection)
ts
un
ss
w
or
d
co
or
ac
L
SS
d
ce
rt
JCA
an
ifi
ks
n
Li
ca
te
SSL
Li
n
te
ca
ks
ifi
rt
an
d
ce
ac
or
co
un
ts
d
or
w
ss
se
pa
cu
by
re
d
d
re
by
cu
pa
se
CAPI/CNG
Attacker
External points of attack are minimized if
security of premises and network are maintained.
Most likely attack is internal.
Securing Luna HSM Connections in Virtual Environments Whitepaper
2
Security Objectives
The security objectives that must be met by any solution intended to address the impact of
new “steal the Virtual machine instance” threat on the Luna SA include the following:
1.Identify the client virtual machine image (preferably the virtual machine instance, but that
may not always be practical or even possible).
2.Bind the identity of the client virtual machine image/instance to the TLS credentials
(private key and public key certificate) used to secure the network access link from the
client to the Luna SA.
3.Prevent unauthorized copying or movement of the virtual machine instance from one
physical computer platform to another.
4.Prevent the reuse and/or replay of any credentials/secrets used to meet the objectives in
numbers 1 through 3 above.
Discussion
Virtual machine technology itself brings a number of benefits to any computing environment.
Some of those benefits include:
• Flexibility – Virtual machines can be instantiated when required, and with the operating
system and application suite required for the task at the time.
• Portability – A virtual machine can be moved from one physical server to another; for
example, in the event the original host is showing signs of potential failure in the near
future.
• Scalability – Additional virtual machine instances can be spawned quickly to respond to
an actual or expected increase in processing workload.
When an organization takes advantage of virtual machine technology—such as in a
consolidated data center or private cloud, or when contracting with a public cloud service
provider—the organization’s client computers and the virtual machine host computers (that
might be replacing, for example, an organization’s database and ERP servers) could exist
anywhere in the world. Importantly, multiple instances of a VM can be launched at any time
(for example, in response to increased workload), and control over the location of the VM
image does not necessarily reside with the organization using the services provided by the VM.
Conversely, the virtual machine instances, themselves, may be acting as clients of a thirdparty service. Once again, the VMs could be launched, or moved, anywhere at any time and
each new instance must have connectivity to the third-party service just as if it were the one
and only original client of that service. For example, a client application running in a VM on a
particular host might be relying on a connected Luna SA to provide cryptographic services.
When the original host shows signs of failing and the VM is moved to another host, the Luna
SA should not notice when the VM is moved if the operation of the client application is to be
maintained; neither should the application running in the VM. The Luna SA should neither
know, nor care, that its assigned client VM is moving (or not); the crucial concern is that that
the SA knows it is always talking to the right VM.
The threat of an unauthorized VM clone gaining illicit network access to a Luna SA arises
out of the portability and reproducibility of VMs in general. This potential threat would entail
the attacker exploiting known or discovered vulnerabilities to gain control of the hypervisor
infrastructure, as well as cloning a significant portion of protected memory on the host.
Securing Luna HSM Connections in Virtual Environments Whitepaper
3
Luna HSM Server virtual clients
no instance-specific protection
Application Servers
in VMs, under control
of hypervisor
Luna HSM Server
(HSM inside)
Client in VM instance
SSL
SS
L
Network Trust Link
Attacker
If allowed access to file
system or (worse) to hypervisor,
can secretly copy VM instances
Luna HSM Server admin
(SSH or serial connection)
Admin links and accounts secured
by password or certificate
Clone of client VM
includes NTL cert
Securing Luna HSM Connections in Virtual Environments Whitepaper
4
Virtual Machines in many cloud environments are 100% isolated from their physical
environment and no physical attribute (not a TPM, nor a CPU ID, nor a MAC address) can be
used to lock down a VM or create a strongly-bound identity for one. On the other hand, cloudservice metadata, for example, is generally easily spoofed, and by itself would provide, at best,
a weak-link-securing characteristic.
To protect against potential attacks, such as the one illustrated above, and to continue to offer
“defense in depth,” SafeNet has developed the Host Trust Link (HTL) protocol. HTL, with its
innovative one-time token (OTT) solution, is SafeNet’s built-in, HSM-based protection of HSM/
client registrations for cloud solutions.
With the VM decoupled from any specific piece of hardware or physical location, HTL uses
a proprietary binding protocol to maintain the connection’s association with a given VM
instance, regardless of where that physical VM instantiation resides. The NTL service is
still used, with some new options for the identifier in the client certificate, and the new HTL
verification layer is added.
HTL satisfies the four identified security objectives by:
• Ensuring that a stored VM image, containing NTL credentials, cannot be cloned to
establish an unauthorized NTLS connection to the Luna HSM server.
• Providing protection against cloning attacks after the VM binding has been established in
a running VM instance.
• Protecting the secrecy of the data used to protect the HTL link, and ensure it cannot be
spoofed or re-used, by maintaining it only in RAM and, thereby, greatly reducing the risk of
an attack.
How It Works
To assist in the efficient setup of clients in VM/cloud environments, it is possible to preconfigure NTLS credentials for a VM image with the certificate Common Name being one
that can be conveniently recognized within the specific environment (for example, unique IP
addresses, if possible, or hostname). The client certificate for the VM (also referred to as the
‘permanent certificate’) can be registered with the appropriate Luna SA, and the VM can be
assigned to the applicable HSM partition prior to instance start-up. The NTLS credentials
can then be automatically provided to the VM instance as it is launched to allow it to make an
initial connection to the assigned Luna SA.
When the VM instance starts up as a Luna SA client, the Luna client software will establish an
NTL connection with the serving Luna SA using the provisioned private key and certificate. The
Luna SA, with HTL binding enabled, will require the establishment of a Host Trust Link before
allowing an operational NTL connection to be made. The HTL protocol provides the means to
verify that it is an authorized VM instance attempting to connect to the Luna SA.
The HTL protocol requires a one-time token (OTT) from the Luna SA HSM, generated
specifically for that client instance, to be used to establish the operational HTL connection
and to authenticate the ongoing validity of that connection. The OTT is provided out-of-band
(possibly along with the permanent credentials delivered when the instance starts) and, with
proper external verification of instance startup, the OTT prevents an attacker from cloning
a VM at rest and using the cloned image to connect to the Luna HSM. It also prevents an
attacker from taking a static “snapshot” of the running instance and using it to connect from
an unauthorized platform.
As part of the HTL start-up, a temporary private key and certificate, bound to the IP address
of the connected instance, are securely delivered via HTL using the original NTL credentials.
Securing Luna HSM Connections in Virtual Environments Whitepaper
5
Once the temporary credentials are received, the original HTL connection is closed and a new
operational connection using the temporary credentials is opened.
Once the VM is started and the HTL link is active, it might be possible for an attacker to make a
complete copy of a running VM instance, in an attempt to impersonate the original client. The
following protections mitigate potential concerns with respect to the provider security:
• Binding to IP: The operational HTL connection binds the authorized VM instance to one
IP address. If a copied instance attempts to connect from a different IP address, it will
be unable to use the HSM. If a copy is made and assigned the same IP address, either
the original instance would have to be killed (a noticeable event) or there would be
network collisions (also detectable). Also, because the private key and certificate for the
operational HTL connection are stored in RAM only, the rogue copy would have to contain
a copy the RAM allocated to the Luna client software to be successful. This, in itself, could
render the attack infeasible in many environments.
• TLS-encrypted communications: All HTL counter values and synchronization packets
are sent over a TLS-protected connection using credentials that are unique to that
connection. This arrangement makes it extremely unlikely that an attacker could use a
cloned VM to “take over” an existing HTL connection as they would confront the hijacking
protections of the TLS protocol.
• HTL synchronization code: Before HTL starts, the OTT is delivered out-of-band to the
Luna client software and it must be verified by the Luna SA in order to enable the HTL
connection. It is then discarded and never used again. Once the TLS-protected HTL is
established, a random start value and a random increment value are delivered to the
client via HTL. These are the basis for the ongoing secure “heartbeat” (synchronization
code) that maintains the connection’s authorization. The synchronization code provides
protection against:
• replay by unauthorized VM instances attempting to duplicate network traffic to
connect to the Luna SA, and
• a rogue VM attempting to connect using an old OTT
• There is a pre-configured OTT update period that can allow the authorized instance to reestablish its HTL connection after a brief outage or loss of connection without requiring
a new OTT from SA. The length of this period is configured by the HSM administrator,
with the default set to one (1) minute. Administrators can lengthen the time for improved
service reliability, if the network links are unreliable, or shorten the time to increase the
overall security of the HTL.
When the HTL mode is active, ANY attempt by an attacker to use a copy of the VM to connect
(no matter how it was obtained) will be rejected by the HSM unless the HSM receives a onetime token that is valid for the connection. In addition, for an attack to succeed once a VM has
been launched, the rogue VM’s counter and increment would need to be adjusted to match
those of the originally authorized VM by copying the values from the original VM’s allocated
RAM. This attack might be possible, but the use of a random initial counter value, a random
increment, and the ongoing synchronization between the client and the Luna SA present a
significant barrier to overcome by forcing the attacker to find the counter value in RAM rather
than simply using a known starting value, for example.
Securing Luna HSM Connections in Virtual Environments Whitepaper
6
Luna HSM Server virtual clients WITH
instance-specific (HTL) protection
Application Servers
HTL imposes a random-interval
synchronization requirement,
with a random starting time,
keyed to the specific client
instance and no other.
in VMs, under control
of hypervisor
Luna HSM Server
(HSM inside)
Client in VM instance
HOST TRUST LINK
Network Trust Link
SSL
(Cannot start until HTL is running)
Attacker
lacks data
and time
SS
*
L
HTL exists in memory only, not on
client hard disk
Attacker
If allowed access to file
system or (worse) to hypervisor,
can secretly copy VM instances
An attacker might
have stolen the VM instance,
but has no acces to the
critical HSM stored keys.
The Host Trust Link (HTL)
helps maintain the
valueof
the HSM trust
Clone of client VM
includes NTL cert
anchor investment.
Luna HSM Server admin
(SSH or serial connection)
Admin links and accounts secured
by password or certificate
*
An attacket cloning a non-operating
client VM gets (at best) an
outdated one-time token and
no synchronization info.
Cloning an operating VM still misses
synch data, unless the attacket has
hypervsior console access and clones
VM memory as well. Even in that
extreme security lapse, the window to
lanch the client clone and manually
synchronize HTL is very small or zero.
Securing Luna HSM Connections in Virtual Environments Whitepaper
7
Additional Safeguards
Random data used in generating one-time tokens is derived from the HSM’s FIPS-validated
Deterministic Random Bit Generator (complies with NIST SP 800-90 Counter Mode DRBG
specification), assuring the highest quality input to the process.
If a client requires VM binding, and an existing HTL link for that client goes down, the HSM
server kills all existing NTL connections from that client. This action occurs immediately and is
independent of the grace period (if any).
HTL in Non-Virtual Environments
HTL is being introduced because there is a pressing need to control a client’s ability to
connect to Luna SA in a virtual environment. HTL can, however, also help in traditional physical
environments. Customers may be concerned, for example, that an attacker could obtain a
copy of the NTL private key file from a physical computer platform and use it to connect to a
Luna SA from a rogue platform (despite the IP address collision issues discussed earlier in
relation to HTL). HTL can help to address that concern by greatly reducing the reliance on the
permanently stored private key and certificate alone to authenticate the client platform. By
introducing the additional verification step required to authorize the HTL connection using
the one-time token and issue the temporary credentials, along with the ongoing validation of
the connection, HTL gives greater control to the legitimate platform owner and reduces the
opportunity for an attacker to gain access from a rogue platform.
New Opportunities, New Threats – Evolved Protection
A few simple questions might spring to mind at this point. For example, why introduce this new
feature at all? Was the existing security provided by the Network Trust Link lacking something?
Are the controls provided by VM management systems and by cloud service providers not
adequate? How does it impact existing Luna SA customers? And what benefit does it bring to
new customers – in the cloud service provider role and in the consumer role? The following
section will address these questions.
Reasons for Introducing HTL
The earlier description of the HTL feature, and the ways in which it addresses many of the
concerns associated with operation in a virtual environment, has already touched on most of
the reasons behind the introduction of HTL. This section will summarize the reasons and provide
more insight into why the major elements of HTL were introduced into the overall product design.
First of all, there was a recognition that connections to Luna SA in a virtual environment
would not be the same as in the traditional physical environment. There are several important
differences between the two environments that make it difficult to maintain the same level
of assurance in the identity of the connecting virtual client compared to a non-virtual one.
The differences arise directly from the characteristics of virtual computing that make it so
attractive – flexibility, portability, and scalability.
To achieve these beneficial characteristics, virtual machines are, by necessity, not tied to
any physical server and, furthermore, are usually completely isolated from their physical
environments. In fact, the running VM typically does not have any visibility into characteristics
of the physical machine that might be used to associate it with a particular server. This means
that, in most cases, there are no reliable attributes (in the sense that they are permanently
associated with the environment in which the VM instance is running and not easily spoofed)
that are accessible and can be used to distinguish one instance of a VM from another.
The NTL connection between a Luna SA client and the Luna SA relied on the fact that the IP
address of a network host could be directly associated with a physical characteristic of the
host that was not easily spoofed – for example, the MAC address of the network interface
card. That direct physical relationship no longer exists for virtual machine hosts and the use
of the IP address to permanently identify a Luna SA client is not only unreliable in a virtual
environment, it might not be feasible in many situations.
Securing Luna HSM Connections in Virtual Environments Whitepaper
8
Cloud service provider environments and enterprise VM environments enforce controls
to maintain the separation of virtual machines that share a common physical server at
any point in time. Their customers (whether commercial or user departments within an
enterprise) demand the strict separation of virtual machine instances for very good reasons
– for example, processing non-interference and protection of data from illicit or inadvertent
sharing. SafeNet expects that these same customers will insist on a similar strict separation
between the cryptographic services used by their virtual machine instances and those
associated with other hosted instances. The introduction of HTL provides the control needed
to ensure that separation.
HTL not only allows new and existing customers to exercise control over client connections
in a virtual environment, it enhances connection control in traditional client-server
environments. The capability provided by the HTL one-time token to prevent connections from
unauthorized VM instances can also be used to prevent a rogue client from connecting using
a copy of the private key file from a legitimate client platform. This alleviates the concern
expressed by some customers that an attacker could connect to the appliance using a stolen
private key file.
SafeNet Luna SA HSMs are ready to serve customers’ cryptographic requirements in the
dynamic virtual machine and cloud-based infrastructures that characterize today’s IT
environment. And they are ready to provide service in these demanding environments in a way
that maintains SafeNet’s commitment to delivering the best in security and
operational effectiveness.
Securing Luna HSM Connections in Virtual Environments Whitepaper
9
Acronyms and Definitions
Acronym
Definition
HSM
•Hardware Security Module – a specialized computing device that performs cryptographic
operations and includes security features to protect keys and objects within a secure
hardware boundary, separate from any attached host computer or network device.
HTL
•Host Trust Link – a secure link that binds a client instance with an HSM server.
Hypervisor
•The controlling entity of a virtual machine (VM) system – maintains and manages the
various hosted operating system environments and their interactions with the underlying
hardware on which the entire system runs.
MAC
•Media Access Control -usually refers to a MAC address that is a unique identifier of a
network interface for communications on the physical network.
NTL
•Network Trust Link – a certificate-protected secure link between a Luna HSM appliance
and a client.
NTLS
•Network Trust Link Service – the service running on the HSM server that creates and
maintains the NTL with a client.
OTT
•One-Time Token – a special secret that is created for limited-time use to secure the
binding of an HSM to a specific instance of a client. An OTT is created on the HSM side,
using random data from the HSM’s hardware RNG.
RAM
•Random Access Memory – computer/device working memory, directly addressable,
usually volatile (contents disappear when power is removed); contrast with permanent
bulk storage like a hard disk.
RNG
•Random Number Generator – a device that gathers entropy data from various
sources and manipulates it to produce random or pseudo-random numbers for use in
cryptographic and statistical calculations.
TLS
•Transport Layer Security -a TCP/IP network security protocol and successor to Secure
Sockets Layer (SSL).
TPM
•Trusted Platform Module – an integrated circuit used in some computer systems to
secure certain information or to constrain hardware and software that can be used
with the protected computer. TPMs follow the protocol advanced by the Trusted
Computing Group.
VM
•Virtual Machine – a computing environment instance simulated within a computer
system that can host multiple such environments simultaneously, under the control
of a hypervisor. The simulated environments can be different operating systems or
OS versions, as desired. The supervising system maintains complete separation of
the hosted environments and also provides a layer of abstraction between the hosted
environments and the physical hardware (memory, ports, CPU, etc.) on which they reside.
Each virtual environment appears to have exclusive use of the resources of the host
system, is unaware of the other environments hosted on that system, and cannot touch
working data that is exclusive to those other environments.
Contact Us: For all office locations and contact information, please visit www.safenet-inc.com
Follow Us: www.safenet-inc.com/connected
©2013 SafeNet, Inc. All rights reserved. SafeNet and SafeNet logo are registered trademarks of SafeNet.
All other product names are trademarks of their respective owners. WP (EN)-04.03.2013
Securing Luna HSM Connections in Virtual Environments Whitepaper
10