PCI DSS 3.5.2
Store secret and private keys used to encrypt/decrypt cardholder data
in one (or more) of the following forms at all times:
Encrypted with a key-encrypting key that is at least as strong as the data-encrypting key, and that is stored separately from the
data-encrypting key
Within a secure cryptographic device (such as a host security module (HSM) or PTS-approved point-of-interaction device)
As at least two full-length key components or key shares, in accordance with an industry-accepted method
Dipende. DPAPI è solo un'API che fornisce un'interfaccia di programmazione di applicazioni crittografiche semplice. Significa che consente di utilizzare in sicurezza le funzioni crittografiche senza doversi preoccupare di come funzionano. Il DPAPI consente la scadenza automatica della chiave (che è una delle regole PCI-DSS).
Il vantaggio di un HSM è che si tratta di un modulo hardware che può essere reso a prova di manomissione. Spesso sono anche certificati per l'archiviazione delle chiavi (conformità FIPS). Per quanto riguarda le prestazioni, può essere più efficace.
Personalmente considererei un HSM se hai il budget. Secondo PCI-DSS, in realtà non esiste il migliore, o sono buoni se la tua implementazione viene eseguita correttamente.