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.

Banner image
HSM applications
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