Hardware security module: Difference between revisions
→HSM Vendors: all primary sourced to promotional pages |
→Security: added info about PKCS11 vulnerabilities Tags: Reverted Visual edit |
||
Line 13: | Line 13: | ||
== Security == |
== Security == |
||
Due to the critical role they play in securing applications and infrastructure, HSMs and/or the cryptographic modules are typically certified to internationally recognized standards such as [[Common Criteria]] or [[FIPS 140]] to provide users with independent assurance that the design and implementation of the product and cryptographic algorithms are sound. The highest level of [[FIPS 140]] security certification attainable is Security Level 4 (Overall). When used in financial payments applications, the security of an HSM is often validated against the HSM requirements defined by the Payment Card Industry Security Standards Council.<ref>{{Cite web|url=https://www.pcisecuritystandards.org|title=Official PCI Security Standards Council Site - Verify PCI Compliance, Download Data Security and Credit Card Security Standards|website=www.pcisecuritystandards.org|language=en|access-date=2018-05-01}}</ref> |
Due to the critical role they play in securing applications and infrastructure, HSMs and/or the cryptographic modules are typically certified to internationally recognized standards such as [[Common Criteria]] or [[FIPS 140]] to provide users with independent assurance that the design and implementation of the product and cryptographic algorithms are sound. The highest level of [[FIPS 140]] security certification attainable is Security Level 4 (Overall). When used in financial payments applications, the security of an HSM is often validated against the HSM requirements defined by the Payment Card Industry Security Standards Council.<ref>{{Cite web|url=https://www.pcisecuritystandards.org|title=Official PCI Security Standards Council Site - Verify PCI Compliance, Download Data Security and Credit Card Security Standards|website=www.pcisecuritystandards.org|language=en|access-date=2018-05-01}}</ref> |
||
Whilst attacks against HSMs that expose secrets are very rare<ref>{{Cite web|date=2019-06-08|title=How Ledger Hacked an HSM|url=https://cryptosense.com/blog/how-ledger-hacked-an-hsm/|access-date=2020-10-19|website=Cryptosense|language=en-US}}</ref>, the [[PKCS 11|PKCS#11]] interface must be correctly configured and deployed for the secrets to remain secure. Real-world deployments may involve restricting the operations available in the API to mitigate key-extraction attacks <ref>{{Cite web|title=PKCS#11 Device Audit|url=https://cryptosense.com/analyzer/pkcs11-security/|access-date=2020-10-19|website=Cryptosense|language=en-US}}</ref>. |
|||
==Uses== |
==Uses== |
Revision as of 15:21, 19 October 2020
This article needs additional citations for verification. (November 2017) |
A hardware security module (HSM) is a physical computing device that safeguards and manages digital keys, performs encryption and decryption functions for digital signatures, strong authentication and other cryptographic functions. These modules traditionally come in the form of a plug-in card or an external device that attaches directly to a computer or network server. A hardware security module contains one or more secure cryptoprocessor chips.[1][2][3]
Design
HSMs may have features that provide tamper evidence such as visible signs of tampering or logging and alerting, or tamper resistance which makes tampering difficult without making the HSM inoperable, or tamper responsiveness such as deleting keys upon tamper detection.[4] Each module contains one or more secure cryptoprocessor chips to prevent tampering and bus probing, or a combination of chips in a module that is protected by the tamper evident, tamper resistant, or tamper responsive packaging.
A vast majority of existing HSMs are designed mainly to manage secret keys. Many HSM systems have means to securely back up the keys they handle outside of the HSM. Keys may be backed up in wrapped form and stored on a computer disk or other media, or externally using a secure portable device like a smartcard or some other security token.[5]
HSMs are used for real time authorisation and authentication in critical infrastructure so are typically engineered to support standard high availabilty models including clustering, automated failover, and redundant field-replaceable components.
A few of the HSMs available in the market have the capability to execute specially developed modules within the HSM's secure enclosure. Such an ability is useful, for example, in cases where special algorithms or business logic has to be executed in a secured and controlled environment. The modules can be developed in native C language, .NET, Java, or other programming languages. Further, upcoming next-generation HSMs[6] can handle more complex tasks such as loading and running full operating systems and COTS software without requiring customization and reprogramming. Such unconventional designs overcome existing design and performance limitations of traditional HSMs. While providing the benefit of securing application-specific code, these execution engines protect the status of an HSM's FIPS or Common Criteria validation.
Security
Due to the critical role they play in securing applications and infrastructure, HSMs and/or the cryptographic modules are typically certified to internationally recognized standards such as Common Criteria or FIPS 140 to provide users with independent assurance that the design and implementation of the product and cryptographic algorithms are sound. The highest level of FIPS 140 security certification attainable is Security Level 4 (Overall). When used in financial payments applications, the security of an HSM is often validated against the HSM requirements defined by the Payment Card Industry Security Standards Council.[7]
Whilst attacks against HSMs that expose secrets are very rare[8], the PKCS#11 interface must be correctly configured and deployed for the secrets to remain secure. Real-world deployments may involve restricting the operations available in the API to mitigate key-extraction attacks [9].
Uses
A hardware security module can be employed in any application that uses digital keys. Typically the keys would be of high value - meaning there would be a significant, negative impact to the owner of the key if it were compromised.
The functions of an HSM are:
- onboard secure cryptographic key generation
- onboard secure cryptographic key storage, 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, non-authorized use, and potential adversaries.[10]
HSMs support both symmetric and asymmetric (public-key) cryptography. For some applications, such as certificate authorities and digital signing, the cryptographic material is asymmetric key pairs (and certificates) used in public-key cryptography.[11] With 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 beat the performance of hardware-only solutions for symmetric key operations. However, with performance ranges from 1 to 10,000 1024-bit RSA signs per second, HSMs can provide significant CPU offload for asymmetric key operations. Since the National Institute of Standards and Technology (NIST) is recommending the use of 2,048 bit RSA keys from year 2010,[12] performance at longer key sizes is becoming increasingly important.To address this issue, most HSMs now support elliptic curve cryptography (ECC), which delivers stronger encryption with shorter key lengths.
PKI environment (CA HSMs)
In PKI environments, the HSMs may be used by certification authorities (CAs) and registration authorities (RAs) to generate, store, and handle asymmetric key pairs. In these cases, there are some fundamental features a device must have, namely:
- Logical and physical high-level protection
- Multi-part user authorization schema (see Blakley-Shamir secret sharing)
- Full audit and log traces
- Secure key backup
On the other hand, device performance in a PKI environment is generally less important, in both online and offline operations, as Registration Authority procedures represent the performance bottleneck of the Infrastructure.
Card payment system HSMs (bank HSMs)
Specialized HSMs are used in the payment card industry. HSMs support both general-purpose functions and specialized functions required to process transactions and comply with industry standards. They normally do not feature a standard API.
Typical applications are transaction authorization and payment card personalization, requiring functions such as:
- verify that a user-entered PIN matches the reference PIN known to the card issuer
- verify credit/debit card transactions by checking card security codes or by performing host processing components of an EMV based transaction in conjunction with an ATM controller or POS terminal
- support a crypto-API with a smart card (such as an EMV)
- re-encrypt a PIN block to send it to another authorization host
- perform secure key management
- support a protocol of POS ATM network management
- support de facto standards of host-host key | data exchange API
- generate and print a "PIN mailer"
- generate data for a magnetic stripe card (PVV, CVV)
- generate a card keyset and support the personalization process for smart cards
The major organizations that produce and maintain standards for HSMs on the banking market are the Payment Card Industry Security Standards Council, ANS X9, and ISO.
SSL connection establishment
Performance-critical applications that have to use HTTPS (SSL/TLS), can benefit from the use of an SSL Acceleration HSM by moving the RSA operations, which typically requires several large integer multiplications, from the host CPU to the HSM device. Typical HSM devices can perform about 1 to 10,000 1024-bit RSA operations/second.[13] Some performance at longer key sizes is becoming increasingly important. To address this issue, some HSMs [14] now support ECC. Specialized HSM devices can reach numbers as high as 20,000 operations per second.[15]
DNSSEC
An increasing number of registries use HSMs to store the key material that is used to sign large zonefiles. An open source tool for managing signing of DNS zone files using HSM is OpenDNSSEC.
On January 27, 2007 deployment of DNSSEC for the root zone officially started; it was undertaken by ICANN and Verisign, with support from the U.S. Department of Commerce.[16] Details of the root signature can be found on the Root DNSSEC's website.[17]
Cryptocurrency wallet
Cryptocurrency can be stored in a cryptocurrency wallet on a HSM.[18]
See also
- Electronic funds transfer
- FIPS 140
- Public key infrastructure
- PKCS 11
- Secure cryptoprocessor
- Security token
- Transparent data encryption
- Security switch
Notes and references
- ^ Ramakrishnan, Vignesh; Venugopal, Prasanth; Mukherjee, Tuhin (2015). Proceedings of the International Conference on Information Engineering, Management and Security 2015: ICIEMS 2015. Association of Scientists, Developers and Faculties (ASDF). p. 9. ISBN 9788192974279.
- ^ "Secure Sensitive Data with the BIG-IP Hardware Security Module" (PDF). F5 Networks. 2012. Retrieved 30 September 2019.
- ^ Gregg, Michael (2014). CASP CompTIA Advanced Security Practitioner Study Guide: Exam CAS-002. John Wiley & Sons. p. 246. ISBN 9781118930847.
- ^ "Electronic Tamper Detection Smart Meter Reference Design". freescale. Retrieved 26 May 2015.
- ^ "Using Smartcard/Security Tokens". mxc software. Retrieved 26 May 2015.
- ^ "World's First Tamper-Proof Server and General Purpose Secure HSM". Private Machines. Retrieved 7 March 2019.
- ^ "Official PCI Security Standards Council Site - Verify PCI Compliance, Download Data Security and Credit Card Security Standards". www.pcisecuritystandards.org. Retrieved 2018-05-01.
- ^ "How Ledger Hacked an HSM". Cryptosense. 2019-06-08. Retrieved 2020-10-19.
- ^ "PKCS#11 Device Audit". Cryptosense. Retrieved 2020-10-19.
- ^ "Support for Hardware Security Modules". paloalto. Archived from the original on 26 May 2015. Retrieved 26 May 2015.
- ^ "Application and Transaction Security / HSM". Provision. Retrieved 26 May 2015.
- ^ "Transitions: Recommendation for Transitioning the Use of Cryptographic Algorithms and Key Lengths". NIST. January 2011. Retrieved March 29, 2011.
- ^ F. Demaertelaere. "Hardware Security Modules" (PDF). Atos Worldline. Archived from the original (PDF) on 6 September 2015. Retrieved 26 May 2015.
- ^ "Barco Silex FPGA Design Speeds Transactions In Atos Worldline Hardware Security Module". Barco-Silex. January 2013. Retrieved April 8, 2013.
- ^ "SafeNet Network HSM - Formerly Luna SA Network-Attached HSM". Gemalto. Retrieved 2017-09-21.
- ^ "ICANN Begins Public DNSSEC Test Plan for the Root Zone". www.circleid.com. Retrieved 2015-08-17.
- ^ Root DNSSEC
- ^ "Gemalto and Ledger Join Forces to Provide Security Infrastructure for Cryptocurrency Based Activities". gemalto.com. Retrieved 2020-04-20.