Pokud uložíte PAN (číslo karty), pak musí být bezpodmínečně zašifrováno.
Pokud uložíte jméno držitele karty, datum vypršení platnosti, číslo vydání (a mohou být propojeny s PAN), pak by měly být zašifrován, ale (rozumím tomu), že to není nezbytně nutné. PCI-DSS pouze uvádí, že PAN musí být minimálně šifrováno.
Kód CV2/AVS/CSC nelze uložit po autorizaci a v ideálním případě byste chtěli prokázat, že není uložen vůbec (např. - pouze uložen v paměti při provádění autorizace)
Ohledně certifikátů/klíčů - můžete použít pouze jeden klíč pro šifrování všech dat souvisejících s kartou. Nejlepší praxí je nepoužívat klíče pro více účelů, takže pokud máte jiná data (nesouvisející s kartou), která jsou zašifrována, použijte pro to samostatný klíč.
Nejtěžší část je ta, kterou jste ve skutečnosti podrobně nezmínili - a to je správa klíčů. Aby byly splněny požadavky PCI, musí být klíč uložen v samostatné fyzické schránce v databázi a musíte mít možnost klíč měnit alespoň jednou ročně. SQL 2008 to podporuje pomocí Extensible Key Management (EKM)
Všechny tyto body je nejlépe prodiskutovat s nezávislým QSA (Qualified Security Assessor), kterého budete muset v určitém okamžiku bez ohledu na to zapojit, abyste splnili požadavky PCI. Váš QSA vás bude moci navést na takové otázky a nakonec jeho/její rady, kterými byste se měli řídit, abyste splnili požadavky.
Stojí za zmínku, že většina lidí si brzy uvědomí, jak velká zátěž může být dodržování PCI, a snaží se tuto zátěž minimalizovat pomocí platební brány třetí strany. Většina platebních bran vám umožní provádět autorizaci/zúčtování a ukládat údaje o kartě na svých (již PCI kompatibilních) serverech. Pak budete potřebovat pouze uložit TokenId, který odkazuje na tyto platební údaje, pokud byste potřebovali provést další poplatky/refundace na danou kartu.
Hodně štěstí v každém případě!