PAN (カード番号) を保存する場合は、絶対に暗号化する必要があります。
カード所有者の名前、有効期限、発行番号 (およびそれらを PAN にリンクできる) を保存する場合、それらは暗号化する必要がありますが、(私の理解では) 絶対に必要というわけではありません。PCI-DSS は、少なくとも PAN を暗号化する必要があることのみを述べています。
CV2/AVS/CSC コードは認証後に保存することはできません。理想的には、それがまったく保存されていないことを証明する必要があります (たとえば、認証の実行中にのみメモリに保持されます)。
証明書/キーについて - すべてのカード関連データの暗号化に 1 つのキーを使用できます。複数の目的でキーを使用しないことをお勧めします。そのため、暗号化された他の (カード関連以外の) データがある場合は、別のキーを使用してください。
最も難しい部分は、あなたが実際に詳細に言及していない部分です - そしてそれは重要な管理です. PCI 要件を満たすには、キーをデータベースとは別の物理ボックスに格納する必要があり、キーを少なくとも年に 1 回変更できる必要があります。SQL 2008 は拡張キー管理 (EKM)でこれをサポートします。
これらのポイントはすべて、PCI コンプライアンスを満たすために、ある時点で関与する必要がある独立した QSA (Qualified Security Assessor) と話し合うのが最善です。あなたの QSA は、このような質問についてあなたを導くことができ、最終的には、コンプライアンスを満たすために従うべき彼/彼女のアドバイスです.
ほとんどの人は、PCI コンプライアンスがどれほどの負担になるかをすぐに認識し、サードパーティの支払いゲートウェイを使用してその負担を最小限に抑えようとします。ほとんどの支払いゲートウェイでは、承認/決済を実行し、カードの詳細を (すでに PCI に準拠している) サーバーに保存できます。その後、そのカードでさらに請求/払い戻しを実行する必要がある場合に備えて、それらの支払いの詳細を参照する TokenId を保存するだけで済みます。
どちらにしても頑張ってください!