Azure Key Vault Presentation

Today, I’m going to introduce you to an Azure security solution that I use almost all the time now in my various Azure architecture security projects, Azure Key Vault.

What Azure Key Vault is solving ?

HSM cost is no longer an issue in Azure

What Azure Key Vault can do ?

Key Management Service

Create and control encryption keys that encrypt your data.

Secrets Management Service

Securely store and tightly control access to tokens, passwords, certificates, API keys, and other secrets.

Certificate Management Service

Provision, manage, and deploy public and private Secure Sockets Layer/Transport Layer Security (SSL/TLS) certificates for use with Azure and your internal connected resources.

Service with FIPS 140-2 validated HSMs

Use either software or FIPS 140-2 Level 2 validated HSMs to help protect secrets and keys.

Hardware Security Modules (HSMs) are FIPS Level 2 overall, with the following at Level 3:

  • Physical Security
  • Roles, Services, and Authentication
  • EMI/EMC
  • Design Assurance

Azure Key Vault Certification

Software VS Hardware

Both store keys at rest in HSM Hardware.
Software : Encrypt and Decrypt performed in Software on compute VM’s
Hardware : Encrypt and Decrypt performed in the HSM Hardware

Recommended :

  • Use Software in dev/test
  • Hardware in production

Azure Key Vault offers

New Offer – Azure Dedicated HSM

What is it

New service offering, for scenarios that require:

  • FIPS 140-2 Level 3 or CC EAL 4+ to meet compliance needs
  • Direct control of HSMs (Gemalto SafeNet Luna Network HSM 7)
  • Low latency

How does it work

Microsoft hosts and powers the HSMs, and connects them to your VNET. You control everything else.

  • That includes firmware & patches, redundancy & availability, disaster recovery & backup, root keys, capacity plan

Azure Key Vault Security

How to secure your Key Vault ?

  • Authentication – defense in depth
    • For users – Mandate MFA
    • For services – Use MSI (Managed Services Identity)
    • For both – Vnet Service endpoint
  • Authorization – defense in depth
    • Use security groups
    • App + user
  • Monitoring
    • Enable logging…and alerts, reports
  • Other practices
    • Separate security boundaries per app
    • Separate owners between app and key vault

Security: Alert on specific patterns

An interesting feature with Azure Key Vault is to build alert on specific patterns.
We can configure alerts via:

  • Built-in alerts blade
  • Azure Log Analytics

You can configure the alert to go to multiple destinations

  • Email, SMS, Push, Voice, Function App, Logic App, Automation Runbook, WebHook

Which version to choose ?

Azure Key Vault Pricing

Azure Key Vault Best Practices

  • Use MSI to talk to Azure Key Vault (https://aka.ms/azuremsi)
  • “No Secrets” is better than “Managed Secrets
  • Designated Key Vaults for different environments
    • Production, Staging, UAT, Test, Dev, etc.
    • Use automation in CI/CD pipeline to switch references to keys/secrets
  • Role Separation
    • Key Vault owner, Key/Secret Owner, App Owner, App Resource, Auditor, etc.
    • Subscription Administrator?
  • Carefully bootstrap access to Key Vault keys and secrets
  • Use Virtual Network Service Endpoints to further secure access and reduce threat surface for Key Vault