it-swarm-eu.dev

Přesvědčte společnost, aby v našem webappu neukládala čísla kreditních karet

Společnost, pro kterou pracuji, potřebuje systém k provádění měsíčních poplatků za kreditní karty na účty zákazníků. Zákazníci budou moci aktualizovat informace o své kreditní kartě z online rozhraní napsaného v PHP (které bude prezentováno prostřednictvím HTTP přes SSL). Měsíční poplatky budou spuštěny ručně prostřednictvím administrátorské oblasti chráněné heslem stejného rozhraní, což v zásadě odpovídá dávkovému volání API API Authorize.Net.

Moji spolupracovníci chtějí ukládat (šifrované) informace o kreditní kartě do databáze MySQL. Plánují šifrovat čísla kreditních karet pomocí rozšíření PHP mcrypt , pravděpodobně pomocí Rijndael/AES nebo Twofish. Téma správy klíčů byla prozrazena, byly však zmíněny následující dvě možnosti:

  1. ukládání klíčů do databáze se samostatným klíčem pro každý záznam kreditní karty; nebo

  2. uložení jediného šifrovacího klíče pro všechny položky kreditní karty v souboru PHP jako proměnné (podobné tomu, jak aplikace PHP, jako jsou WordPress a MediaWiki ukládají pověření databáze) .

Jak je mohu přesvědčit, aby neprošli touto cestou? Pro zpracování plateb budeme používat Authorize.net , proto jsem zmínil informace o zákaznících Služba Manager jako alternativa k ukládání informací o kreditní kartě sami. Neznám však dostatečně dobře, abych mohl učinit přesvědčivý argument (mé argumenty byly „nikdo z nás není odborníky na bezpečnost“ a „nechtěl bych se cítit pohodlně se společností, která tímto způsobem ukládá informace o své kreditní kartě“).

Pokud je nemůžu přesvědčit ​​k použití služby třetí strany jako Customer Information Manager , co bych měl mít na paměti, abych si udržel kredit zákazníků informace o kartě bezpečné? Jak konkrétně bych měl spravovat šifrovací klíče? Měl by existovat samostatný šifrovací klíč pro každou položku zákazníka? Kde mohu uložit klíče, abych mohl dešifrovat informace o kreditní kartě před odesláním transakcí na server Authorize.Net? Obě výše uvedené možnosti se mi nezdají příliš zvukové (ale opět nevím dostatečně dobře předmět, aby proti němu byl přesvědčivý argument).


Aktualizace: Našel jsem ve společnosti někoho, kdo je obeznámen s dodržováním PCI DSS, takže s ním pracuji, abych se ujistil, že se to udělá správně. Stále bych však ocenil odpovědi na výše uvedené otázky (jak zlepšit své znalosti, tak pomáhat ostatním v podobné situaci).

Aktualizace 2: Úspěch! Jiný vývojář se posadil a přečetl směrnici PCI DSS a rozhodl se, že je to špatný nápad ukládat informace sami pro sebe. Budeme používat službu Authorize.Net Customer Information Manager .

38
M8R-53mg86

Ukládání čísel karet znamená, že musíte dodržovat požadavky PCI-DSS nebo riskujete pokuty a porušení smlouvy o obchodním účtu. PCI-DSS má obrovský soubor požadavků - některé rozumné, jiné obtížné, některé sporné užitečnosti - a náklady na jejich dodržování a potvrzení, že jste jim vyhověli, mohou být velmi vysoké.

Stáhněte standard PCI-DSS 2. a bojte se.

Zejména žádný z navrhovaných přístupů není kompatibilní s PCI-DSS. Klíče nesmějí být uloženy nechráněné nebo na stejném místě jako data chráněná držiteli karty.

Pokud to musíte implementovat interně, musíte izolovat komponenty, které se dotýkají čísel karet, od všeho ostatního, aby se PCI-DSS vztahovalo pouze na omezený počet systémů. Podívejte se na řešení tokenizace, která vám pomohou minimalizovat vystavení vašich dat držitelům karet. Pokud toto neučiníte správně, můžete snadno všechny své servery (nebo dokonce všechny vaše firemní plochy!) Zařadit do rozsahu PCI, v tomto okamžiku je dodržování předpisů obtížně nemožné.

Authorize.net nabízí automatické opakované fakturační služby. Pro lásku k zdravému rozumu použijte toto.

33
bobince

„Nikdo z nás není odborníkem na bezpečnost“ a „nechtěl bych se cítit dobře, když společnost ukládala informace o mé kreditní kartě tímto způsobem“, což jsou zcela platné argumenty. Z technického hlediska (podle zásluh) ukončují diskusi by. Ale pokud se hádáte s lidmi, kteří nejsou odborníky na bezpečnost, nemusí být schopni rozpoznat dobré argumenty.

Takže pokud zjistíte, že argumentace o meritu vás nikam nedostane, vytáhněte Sledgehammer of Compliance (způsobí +20 poškození byrokratům). Připomeňte jim zejména PCI DSS. Zeptejte se jich, pokud si stanovili cenu za dosažení souladu s PCI DSS=). Požádejte je o analýzu nákladů a přínosů, kolik dalšího příjmu tato funkce poskytne (obvykle odpověď je: 0 ) a kolik budou náklady na podnikání (obvykle je odpověď: velká). Ve většině situací to bude konec hry.

Nebo alespoň měla ukončit diskusi. Pokud tomu tak není, promluvte si se svými manažery, protože je to v konečném důsledku obchodní rozhodnutí a měli by velmi rychle rozpoznat správné volání.

A pokud to vaši manažeři nechápou - dobře, vše, co mohu navrhnout, je: získat nové manažery. Možná je čas aktualizovat váš životopis.

28
D.W.

Nezní to, jako by vaše společnost prošla PCI DSS hodnocení na místě před nebo dokonce se pokusila odpovědět na všechny otázky v SAQ D. Pro téměř každou společnost, která má, hledají způsob, jak se zbavit dat držitelů karet, a doufají, že to pro ně není příliš nákladné. Pokud jste v okamžiku, kdy implementace řešení ještě není nákladné, měli byste svá data absolutně uložit Authorize.net nebo jiná třetí strana.

Nejlepší argument, který můžete předat svým spolupracovníkům, je vysvětlit, jak velký je problém s PCI a jak moc se tento problém snižuje, pokud sami neukládáte data držitelů karet. Udržování souladu s PCI je práce na plný úvazek. Pokud ukládáte data držitelů karet, existuje tolik dalších požadavků, které musíte splnit, aby byla zachována shoda (PCI DSS SAQ D je dvakrát tak dlouhá jako SAQ C). nejjednodušší způsob, jak jít. Upřímně řečeno bych ani neuvažoval o uložení dat sami.

7
freb

Většina šéfů/spolupracovníků nutně nerozumí všem „technickým“ problémům, které byste jim mohli představit.

Proto je musíte řešit v oblasti, které jim mohou dokonale rozumět - náklady/peníze.

Jednou z věcí, které považuji za užitečné, když to vysvětlím, je to, že pokud byste měli být hacknuti a informace o kreditní kartě jsou odcizeny, budou odpovědné nejen za pokuty, ale také za náklady na opětovné vydání nové kreditní karty.

Například: pokud má vaše společnost 100 000 čísel kreditních karet, stálo by je jeden milion dolarů za výměnu těchto karet dříve, než zaplatí jakékoli pokuty atd. (Ach a mimochodem, jak CFO může jít do vězení, pokud nejsou kompatibilní s PCI)

Stejně jako mají pojištění pro svůj majetek

4
pzirkind