2013-05-09 2 views
5

Może zajść konieczność zaszyfrowania niektórych danych w naszym oprogramowaniu, aby spełnić zasady ochrony prywatności w służbie zdrowia ("HIPAA"), które po prostu odraczają gildii NIST kwestia. Ale naprawdę nie jest jasne, jakie (jeśli jakiekolwiek) biblioteki do szyfrowania spełniają standardy NIST.Co (jeśli w ogóle jest) biblioteki javascript lub php do szyfrowania, które spełniają wymagania NIST

Czy są jakieś aprobaty .js lub php zatwierdzone przez NIST?

(I tak, mam je pocztą elektroniczną, ale I "m nie wstrzymując oddech).

+0

Ponieważ nie mogę wiedzieć, czy r request dla bibliotek JS jest przeznaczony dla serwera lub klienta, słowo ostrzeżenia: jeśli robisz kryptografię w przeglądarce, robisz to źle. – josh3736

+0

Czy możesz podać więcej informacji o tym, co próbujesz chronić (szyfrowanie). Ponieważ w przypadku szyfrowania danych wprowadzanych w formularzu przeglądarki dane te są nadal dostępne dla innych skryptów (i czasami innych procesów) w ich oryginalnej formie. Jeśli odszyfrowujesz dane zwrócone przez serwer w przeglądarce (inaczej: wywołanie Ajax), to nie są one bezpieczne. – Kyro

+0

Prawidłowa odpowiedź brzmi: nie należy tego robić w js lub php. Należy to zrobić na serwerze (https) – slebetman

Odpowiedz

3

NIST provides a list of validated libraries.

OpenSSL jest FIPS 140-2 potwierdzone, a zarówno PHP i Node.js zapewnić powiązania OpenSSL .

Oczywiście, tylko masz OpenSSL na serwerze. Don't do crypto in the browser. czy przesyłanie danych pomiędzy przeglądarką a serwerem za pośrednictwem protokołu SSL i zrobić niezbędne kryptograficznych na serwerze.

+0

Dla tych, którzy mogą nie być zaznajomieni z bezpieczeństwem sieci, Josh zaleca używanie HTTPS. OpenSSL jest jedną z implementacji protokołu SSL (protokołu za HTTPS), ale nie jest jedyną. Używanie HTTPS jest jedyną prawidłową odpowiedzią w tym przypadku, a próba ręcznego wykonania w PHP lub js jest nieprawidłowa. – slebetman

+0

Ponadto, aby spełnić wytyczne NIST, należy często aktualizować oprogramowanie serwera i ssl. W przeciwnym razie będziesz narażony na stare błędy i potencjalnie może się nie powieść kontrola. Wiem, że prowadziłem stronę zgodną z HIPAA przez 3 lata. – slebetman

+0

@slebetman: Oczywiście, tak, chcesz korzystać z HTTPS podczas przesyłania. Jednak gdy dane znajdują się na serwerze i chcesz je zaszyfrować dla * magazynu *, mówię, że powinieneś użyć OpenSSL, aby to osiągnąć. – josh3736