sql >> Database >  >> RDS >> Sqlserver

SQL Server 2008 + PCI-compliance? Betreft PCI, evenals symmetrische sleutels!

Als u de PAN (kaartnummer) opslaat, moet deze absoluut worden gecodeerd.

Als u de naam van de kaarthouder, de vervaldatum, het uitgiftenummer opslaat (en ze kunnen worden gekoppeld aan de PAN), dan moeten ze moeten worden gecodeerd, maar (mijn begrip) is dat het niet absoluut noodzakelijk is. PCI-DSS stelt alleen dat de PAN minimaal versleuteld moet zijn.

De CV2/AVS/CSC-code kan niet worden opgeslagen na autorisatie, en idealiter zou u willen bewijzen dat deze helemaal niet is opgeslagen (bijv. - alleen in het geheugen bewaard tijdens het uitvoeren van autorisatie)

Wat betreft certificaten/sleutels:u kunt slechts één sleutel gebruiken voor het versleutelen van alle kaartgerelateerde gegevens. Het beste is om sleutels niet voor meerdere doeleinden te gebruiken, dus als je andere (niet-kaartgerelateerde) gegevens hebt die versleuteld zijn, gebruik daar dan een aparte sleutel voor.

Het moeilijkste deel is er een die je niet echt in detail hebt genoemd - en dat is sleutelbeheer. Om aan de PCI-vereisten te voldoen, moet de sleutel op een aparte fysieke doos van de database worden opgeslagen en moet u de sleutel ten minste jaarlijks kunnen wijzigen. SQL 2008 ondersteunt dit met Extensible Key Management (EKM)

Al deze punten kunnen het beste worden besproken met een onafhankelijke QSA (Qualified Security Assessor) die u op een bepaald moment moet inschakelen om te voldoen aan PCI-compliance. Uw QSA zal u kunnen begeleiden bij dit soort vragen, en uiteindelijk is het zijn/haar advies dat u moet opvolgen om aan de naleving te voldoen.

Het is vermeldenswaard dat de meeste mensen al snel beseffen hoeveel last PCI-compliance kan zijn, en proberen die last te minimaliseren door een betalingsgateway van derden te gebruiken. Bij de meeste betalingsgateways kunt u autorisatie/afwikkeling uitvoeren en de kaartgegevens opslaan op hun (reeds PCI-compatibele) servers. U hoeft dan alleen een TokenId op te slaan die naar die betalingsgegevens verwijst als u verdere afschrijvingen/terugbetalingen op die kaart moet uitvoeren.

Veel succes hoe dan ook!



  1. Hoe elementen van array in PostgreSQL te verwijderen?

  2. MySQL-verbinding met DBVisualizer

  3. MYSQL 8 uur time-out probleem

  4. PHP-script maakt geen verbinding met database?