HSM
Introduction
A hardware security module (HSM) is a physical computing device,
which protects digital keys and manages them, performs the functions of encryption
and decryption of digital signatures, strong authentication and
other cryptographic functions.
These modules are traditionally supplied as a plug-in card or an external device,
which connects directly to a computer or a network server.
A hardware security module contains one or more protected cryptographic processor chips.
Design
HSMs are characterized by the following features:
1) Reliable evidence of device tampering. (Tamper sealing).
Tamper evidence: These are usually clearly visible traces of tampering or unauthorized entry and modification.
2) Tamper resistance
Tamper resistance: That is, the difficulty of maintaining operability after tampering.
3) Tamper responsiveness
Tamper responsiveness: For example - erasing keys after a tamper signal.
Each module contains one or more protected cryptographic processor chips to
prevent unauthorized access and bus probing, or a combination of
chips in a module protected by tamper-evident, tamper-resistant
or tamper-sensitive packaging.
The vast majority of existing HSMs are intended mainly for managing
secret keys.
Many HSM systems support the function of creating on an external device a backup copy of the keys that
they manage.
Keys can be copied in wrapped form and saved on a computer
disk or another medium, as well as externally using a secure portable device,
such as a smart card or some other cryptographic token.
HSMs are used for authorization and authentication in real time in
critical infrastructure, so they are usually designed with support for
standard high availability models, including clustering,
automated failover and field-replaceable redundant components.
Some of the HSMs available on the market have the ability to run specially
developed modules inside the protected HSM enclosure.
This capability is useful, for example, in cases where special algorithms
or business logic must run in a protected and controlled environment.
Modules can be developed in the native language
C
,
.NET
,
Java
or other
programming languages.
In addition, future next-generation HSMs may handle more complex
tasks, such as loading and running complete operating systems and COTS
software, without requiring configuration and reprogramming.
Such unconventional designs overcome the existing design
and operational limitations of traditional HSMs.
By providing the benefit of application-specific code protection, these execution
mechanisms protect the FIPS or Common Criteria validation status of the HSM.
Security
Because of the critical role they play in ensuring the security of applications and
infrastructure, HSMs and/or cryptographic modules are usually certified in accordance
with internationally recognized standards, such as Common Criteria or FIPS 140,
to give users an independent guarantee that the design
and implementation of the product and cryptographic algorithms are sound.
The highest FIPS 140 security certification level achievable is security
level 4 (overall).
When used in financial payment applications, HSM security is often
verified in accordance with the HSM requirements defined by the Payment Card
Industry Security Standards Council.
| Payment card system HSM (banking HSMs) | |
| Establishing an SSL connection | |
| DNSSEC | |
| Cryptocurrency wallet |
A hardware security module can be used in any application that uses digital keys. As a rule, the keys will be of high value - this means that if they are compromised, it will have a significant negative impact on the key owner.
The functions of a hardware security module are several:
onboard secure generation of cryptographic keys onboard secure
storage of cryptographic keys, at least for the top level and most sensitive keys,
which are often called master
keys key management
use of cryptographic and sensitive data material, for example,
performing encryption or digital signature functions
offloading application servers for complete asymmetric and symmetric cryptography.
HSMs are also deployed to manage transparent data encryption keys for databases and keys
for storage devices such as disk or tape.
HSMs provide both logical and physical protection of these materials, including cryptographic keys,
from disclosure, unauthorized use and potential adversaries.
HSMs support both symmetric and asymmetric (public key) cryptography.
For some applications, such as certification authorities and digital signing, the cryptographic material
is asymmetric key pairs (and certificates) used in public key cryptography.
in other applications, such as data encryption or financial payment systems, the cryptographic material
consists mainly of symmetric keys.
Some HSM systems are also hardware cryptographic accelerators.
They usually cannot surpass the performance of hardware solutions for symmetric key operations.
However, with performance in the range of 1 to 10,000 1024-bit RSA signs per second, an HSM can provide
significant CPU offloading for asymmetric key operations.
Since the National Institute of Standards and Technology (NIST) has recommended using
2048-bit RSA keys since 2010, performance at longer key sizes is becoming increasingly important.
To address this issue, most HSMs now support elliptic curve cryptography (ECC),
which provides stronger encryption with a shorter key length.
PKI environment (CA HSM)
In PKI environments, HSMs can be used by certification authorities (CAs) and registration authorities
(RAs) to create, store and process asymmetric key pairs.
In these cases there are some fundamental features that the device must have, namely::
High-level logical and physical protection
Multi-part user authorization scheme (see the Blakley-Shamir secret sharing section)
Full audit and log tracing
Secure key backup
On the other hand, the performance of devices in a PKI environment is usually less important both in online
and in offline operations, since registration authority procedures are
a performance bottleneck of the infrastructure.
Payment card system HSM (banking HSMs)
Specialized HSMs are used in the payment card industry. HSMs support both general-purpose functions,
and specialized functions needed for transaction processing and compliance with industry standards.
Usually they do not have a standard API.
Typical applications are transaction authorization and payment card personalization, requiring functions such as:
verify that the PIN entered by the user matches the reference PIN known to the card issuer
verification of credit/debit card transactions by validating card security codes or performing EMV-based host transaction processing components in combination with an ATM controller or POS terminal
support a smart card crypto-API (for example, EMV)
re-encryption of the PIN block for sending it to another authorization node
performing secure key management
support for the POS ATM network management protocol
support for the de facto host-host key | data exchange API standards
generation and printing of "PIN mailer"
generation of magnetic stripe card data (PVV, CVV)
creation of a card key set and support for the smart card personalization process
The main organizations that produce and maintain standards for HSMs in the banking market are
the Payment Card Industry Security Standards Council, ANS X9 and ISO.
Establishing an SSL connection
Performance-critical applications that must use
HTTPS (SSL/TLS) can benefit from using SSL acceleration HSMs by moving
RSA operations, which usually require several large integer multiplications, from
the host CPU to the HSM device.
Typical HSM devices can perform from 1 to 10,000 1024-bit RSA operations per second.
some performance at longer key sizes is becoming increasingly important.
To address this issue, some HSMs now support ECC.
Specialized HSM devices can reach numbers of up to 20,000 operations per second.
DNSSEC
An increasing number of registries use HSMs to store the key material that is used to sign
large zone files.
The open-source tool for managing the signing of DNS zone files with the help of HSMs is OpenDNSSEC.
On January 27, 2007, the deployment of DNSSEC for the root zone officially began; it was undertaken by ICANN
and Verisign with the support of the US Department of Commerce.
detailed information about the root signature can be found on the Root DNSSEC website.
Cryptocurrency wallet
Cryptocurrency can be stored in a cryptocurrency wallet on an HSM
Article author: Andrei Olegovich