Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Съвместимост с SQL Server 2008 + PCI? Отнася се за PCI, както и за симетрични ключове!

Ако съхранявате PAN (номер на карта), той задължително трябва да бъде криптиран.

Ако съхранявате име на картодържател, дата на изтичане, номер на издаване (и те могат да бъдат свързани с PAN), тогава те трябва да бъде криптиран, но (моето разбиране) не е абсолютно необходимо. PCI-DSS само посочва, че като минимум PAN трябва да бъде криптиран.

Кодът CV2/AVS/CSC не може да бъде съхранен след упълномощаване и в идеалния случай бихте искали да докажете, че той изобщо не се съхранява (напр. - съхранява се само в паметта, докато се извършва оторизация)

Относно сертификати/ключове - можете просто да използвате един ключ за криптиране на всички данни, свързани с картата. Най-добрата практика е да не използвате ключове за множество цели, така че ако имате други (несвързани с карта) данни, които са криптирани, тогава използвайте отделен ключ за това.

Най-трудната част е тази, която наистина не сте споменали в подробности - и това е управлението на ключове. За да отговаря на изискванията на PCI, ключът трябва да се съхранява в отделна физическа кутия към базата данни и се нуждаете от възможността да променяте ключа поне веднъж годишно. SQL 2008 поддържа това с Extensible Key Management (EKM)

Всички тези точки е най-добре да се обсъдят с независим QSA (квалифициран оценител на сигурността), който в даден момент ще трябва да включите независимо, за да отговаряте на PCI съответствието. Вашият QSA ще може да ви напътства по въпроси като този и в крайна сметка неговите/нейните съвети трябва да следвате, за да отговаряте на изискванията.

Струва си да се спомене, че повечето хора скоро осъзнават колко голямо бреме може да бъде PCI съответствието и гледат да минимизират това бреме, като използват шлюз за плащане на трета страна. Повечето шлюзове за плащане ще ви позволят да извършвате оторизация/разплащане и да съхранявате данните за картата на техните (вече PCI съвместими) сървъри. След това трябва само да съхраните TokenId, който препраща към тези данни за плащане, ако трябва да извършите допълнителни таксувания/възстановявания на тази карта.

Успех и в двата случая!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Функцията за дял COUNT() OVER е възможна с помощта на DISTINCT

  2. Логика на Ledger Report в съхранена процедура

  3. Одит на промените в данните в SQL Server 2008

  4. Как да извадите нулеви DateTime от базата данни

  5. Проверка на ограниченията:TRY/CATCH срещу Exists()