New to Claude Skills? Learn how to install them →

mukul975 on GitHub

Configuring HSM for Key Storage

Free

Securely manage cryptographic keys using HSMs.

Get this skill

Free · Opens the source repo

What Configuring HSM for Key Storage does

This skill provides a comprehensive approach to configuring Hardware Security Modules (HSMs) for cryptographic key storage, utilizing the PKCS#11 standard interface. HSMs are critical for maintaining the security of cryptographic keys, as they ensure that keys remain within a tamper-resistant environment. This skill facilitates key generation, signing, encryption, and management, making it suitable for both physical HSMs and SoftHSM2, which is often used during development phases.

By leveraging this skill, developers and security professionals can implement robust key management workflows that align with compliance requirements. The skill allows users to perform essential cryptographic operations while ensuring that sensitive keys do not leave the secure boundaries of the HSM. It also supports the implementation of security measures such as access policies and user authentication, which are crucial for maintaining the integrity of cryptographic processes.

This skill is particularly beneficial for those involved in security architecture, compliance assessments, or any scenario where the protection of cryptographic keys is paramount. It provides a structured approach to configuring HSMs, ensuring that best practices are followed and that security controls are effectively established. Users will find that the skill not only aids in development but also enhances the overall security posture of their applications.

With a focus on both practical implementation and adherence to security standards, this skill is an essential tool for anyone looking to secure cryptographic operations within their systems. Whether you are deploying HSMs in production or testing with SoftHSM2, this skill equips you with the necessary tools to manage cryptographic keys securely and efficiently.

When to use it

Use this skill when configuring HSMs for key storage in production environments or during development with SoftHSM2.

When not to use it

This skill may not be suitable for environments where HSMs are not required or where simpler key management solutions suffice.

What you can build with it

Setting Up HSM for Production

Use this skill to configure HSMs in a production environment, ensuring secure key management and compliance with security standards.

Testing Key Management Workflows

Leverage SoftHSM2 with this skill to develop and test key management workflows before deploying them to a physical HSM.

Conducting Security Assessments

Employ this skill during security assessments to evaluate the effectiveness of HSM implementations and key management practices.

How to install Configuring HSM for Key Storage

View source

1. Install with the skills CLI

npx skills add mukul975/anthropic-cybersecurity-skills/configuring-hsm-for-key-storage --agent claude-code

2. Or install it manually

Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.

Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs

Inside SKILL.md

Written by mukul975

Configuring HSM for Key Storage

Overview

Hardware Security Modules (HSMs) are tamper-resistant physical devices that safeguard cryptographic keys and perform cryptographic operations in a hardened environment. Keys stored in an HSM never leave the device boundary, providing the highest level of key protection. This skill covers configuring HSMs using the PKCS#11 standard interface, including key generation, signing, encryption, and key management using both physical HSMs and SoftHSM2 for development.

When to Use

  • When deploying or configuring configuring hsm for key storage capabilities in your environment
  • When establishing security controls aligned to compliance requirements
  • When building or improving security architecture for this domain
  • When conducting security assessments that require this implementation

Prerequisites

  • Familiarity with cryptography concepts and tools
  • Access to a test or lab environment for safe execution
  • Python 3.8+ with required dependencies installed
  • Appropriate authorization for any testing activities

Objectives

  • Configure SoftHSM2 as a development PKCS#11 provider
  • Generate and manage keys inside the HSM via PKCS#11
  • Perform cryptographic operations (sign, verify, encrypt, decrypt) using HSM-resident keys
  • Implement HSM-backed certificate authority operations
  • Configure key access policies and user authentication
  • Interface with cloud HSM services (AWS CloudHSM, Azure)

Key Concepts

HSM Compliance Levels

FIPS LevelProtectionUse Case
FIPS 140-2 Level 1Software onlyDevelopment
FIPS 140-2 Level 2Tamper-evident, role-based authGeneral production
FIPS 140-2 Level 3Tamper-resistant, identity-based authFinancial, government
FIPS 140-2 Level 4Physical tamper responseMilitary, classified

PKCS#11 Architecture

Application --> PKCS#11 API --> HSM Provider --> Hardware HSM
                                    |
                              (SoftHSM2 for dev)

Key Objects in PKCS#11

Object TypeDescriptionOperations
CKO_SECRET_KEYSymmetric keys (AES)Encrypt, Decrypt, Wrap
CKO_PUBLIC_KEYPublic keys (RSA, EC)Verify, Encrypt, Wrap
CKO_PRIVATE_KEYPrivate keys (RSA, EC)Sign, Decrypt, Unwrap
CKO_CERTIFICATEX.509 certificatesStorage, retrieval

Security Considerations

  • Never export private keys from HSM (use CKA_EXTRACTABLE=False)
  • Use separate slots/partitions for different applications
  • Implement multi-person key ceremony for CA root keys
  • Enable audit logging for all HSM operations
  • Implement HSM backup and disaster recovery
  • Use strong PINs and enable SO (Security Officer) PIN

Validation Criteria

  • SoftHSM2 initializes with token and user PIN
  • AES key generates inside HSM
  • RSA key pair generates inside HSM
  • Encryption/decryption uses HSM-resident keys
  • Signing/verification uses HSM-resident keys
  • Keys cannot be exported (non-extractable)
  • Key listing shows all HSM-stored objects

Frequently asked questions about Configuring HSM for Key Storage

Similar skills