2012-11-14 13 views
8

Badam rozwiązania do zarządzania kluczami, aby uzyskać zgodność z PCI. Rozmawiałem z wieloma sprzedawcami na arenie i chociaż lubię ich produkty, koszt przekracza mój budżet. Czy ktoś wie o jakichkolwiek rozwiązaniach Open Source i niskich kosztach zarządzania kluczami? Używam środowiska Windows/.NET, więc wolałbym rozwiązania ukierunkowane na to środowisko, ale chciałbym usłyszeć o wszystkim, co tam jest.Rozwiązanie do zarządzania kluczem Open Source

Dzięki

+0

Czy to jest komputer stacjonarny lub aplikacja internetowa/mobilna? – kgilpin

Odpowiedz

4

Mieliśmy podobne doświadczenie jak ty. Potrzebowaliśmy kluczowego rozwiązania do zarządzania zgodnością z PCI, a wszystkie komercyjne produkty, które widzieliśmy, były zbyt drogie. Niektórzy kluczowi menedżerowie kosztują więcej niż nasz produkt dla małych klientów!

W końcu wybraliśmy programowego menedżera kluczy. Stworzyliśmy wymagania, a deweloperzy offshore zakodowali go. Kiedyś szukali innych klientów, aby z niego korzystać. Nie wiem, czy nadal są, czy nie.

Pozwolę sobie wyjaśnić opcje, które zbadaliśmy. Pierwszą rzeczą do zapamiętania jest to, że zgodność i bezpieczeństwo PCI są różne, możesz być zgodny z PCI i niezbyt bezpieczny.

Opcja 0 - Przypisywanie klucza do kolumny DB i przechowywanie kluczy w pliku DLL. Twoja aplikacja łączy się w pliku DLL, aby uzyskać dostęp do kluczy w celu zaszyfrowania i odszyfrowania danych. Nikt nie zna kluczy. W celu okresowej wymiany klucza tworzysz nową bibliotekę DLL z nowymi kluczami, tracisz czas na odszyfrowanie wszystkich danych za pomocą starych kluczy i ponowne szyfrowanie danych za pomocą nowych kluczy. Następnie ponownie uruchom aplikację, używając nowej biblioteki DLL z nowymi kluczami. (Uwaga: jeśli kiedykolwiek rozważysz przywrócenie kopii zapasowej DB, musisz zachować stare klucze.)

Po raz pierwszy usłyszałem o Opcji 0, byłem zaskoczony, że jest zgodny z PCI. Nie korzystać z opcji 0.

sposobów poprawy na Option 0.

Jeśli masz HSM w środowisku, należy użyć HSM do szyfrowania kluczy w pliku DLL. Po uruchomieniu aplikacji odszyfruje klucze za pomocą HSM. Jeśli potrzebujesz większego bezpieczeństwa, odszyfruj klucze za każdym razem, gdy będą potrzebne.

Po zaszyfrowaniu kluczy można bezpiecznie przechowywać je w tabeli DB. Jeśli przypiszesz każdemu kluczowi (staremu i nowemu) małego, całkowitoliczbowego identyfikatora klucza, możesz zapisać klucz-klucz z zaszyfrowanymi danymi. Pozwala to na przyrostową wymianę klucza i uniknięcie przestojów.

Klucze w pamięci w wielu procesach zwiększają ekspozycję na atak pamięciowy znajdowania kluczy. Możesz utworzyć nowy proces, który jest jedynym procesem odszyfrowującym klucze. Twoje aplikacje rozmawiają z tym nowym procesem w celu zaszyfrowania i odszyfrowania danych. Ten nowy proces powinien znajdować się na pudełku z małą "powierzchnią", aby go chronić. Ponieważ dane wrażliwe przechodzą obecnie przez sieć, te połączenia powinny być szyfrowane. SSL jest dobrym rozwiązaniem.

4

Zdaję sobie sprawę, że jest to stary wątek, ale istnieje kilka opcji:

  1. Rozwiązanie całkowicie darmowy i open-source zarządzania kluczami jest http://sourceforge.net/projects/strongkey. Przyznam, że oprogramowanie jest trochę przestarzałe i jest dość skomplikowane w konfiguracji, ponieważ zakłada, że ​​posiadasz PKI do wydawania cyfrowych certyfikatów klientom aplikacji w celu komunikacji z serwerem zarządzania kluczami oraz do zabezpieczania kluczy na urządzeniu klienta.
  2. Oryginalne oprogramowanie StrongKey zostało uproszczone drastycznie trzy lata temu i zintegrowane z urządzeniem z kryptograficznym modułem sprzętowym (TPM i HSM), aby zapewnić silniejsze zarządzanie kluczami.Niestety, mimo że oprogramowanie na urządzeniu to wszystko FOSS, samo zintegrowane rozwiązanie nie jest bezpłatne - jego cena jest podana na stronie internetowej (http://www.strongauth.com/products/key-appliance.html).

Jednakże, istnieje wiele korzyści z opcji # 2, gdyż pozwala na wykorzystanie publiczne chmury, będąc w pełni PCI zgodny (szukaj „Zgodny Regulacji Cloud Computing (RC3)” i kliknij na link w IBM - Mogę tylko zamieścić dwa linki w mojej odpowiedzi) z dodatkowymi komunikatami na temat tego, jak wykorzystać to urządzenie, ogłoszone na RSA 2013 w San Francisco.

Mam nadzieję, że to pomaga.

4

Spójrz na KeyManager, który jest kluczowym elementem zarządzania pakietu OpenStack. Aplikacja może być używana jako samodzielne rozwiązanie do zarządzania kluczami poza OpenStack.

Będąc składnikiem OpenStack, KeyManager jest aktywnie rozwijany z nowymi funkcjami planowanymi w sześciomiesięcznych cyklach.

2

Dodam do tej listy, ponieważ znalazłem ją w wyszukiwaniu, a inne mogą skorzystać z rozszerzonej listy.

Niedawno znalazłem KeyWhiz, który wydaje się być w alfa.

4

KLMS nad KMIP to dobre i łatwe w użyciu rozwiązanie do zarządzania kluczami. To jest rozwiązanie open source napisane w Javie. Zobacz poniższy link w celach informacyjnych. http://www.ibm.com/developerworks/library/se-kmip4j/

Pakiet o nazwie stubInterface będzie zawierał wszystkie api wymagane do używania KLMS przez KMIP.

klms: Kluczowe systemy zarządzania cyklem życia

KMIP: Key Management Interoperability Protocol

+0

Program KMIP jest również dostępny w .net. –

+0

Czy zawiera implementację serwera ?. –

+0

Czy jest dostępny w Node.js? Szukam podobnego rozwiązania, ale w przypadku Node.js –

0

SNipeit jest najlepszy Widziałem, że jest open source, bardzo wytrzymałe i bardzo łatwy w użyciu, nawet dla nie-techników.

https://snipeitapp.com/demo/

Sprawdź to tam.

+1

spróbuj wyjaśnić swoją odpowiedź, aby lepiej zrozumieć, nie tylko po zamieszczeniu linku, OP może również wyszukiwać w Google, –

Powiązane problemy