PLProjektKompetencyjny / PK_6IO1z_Projekt4_DataBase

0 stars 0 forks source link

Przechowywanie haseł #16

Closed StanislawHornaGitHub closed 4 months ago

StanislawHornaGitHub commented 6 months ago

Wymyśleć sposób na przechowywanie haseł customerów i administratorów. Prawdopodobnie do komunikacji z API będą potrzebne klucze. Ustalić czy te klucze będą przechowywane w bazie czy bezpośrednio na Backendzie.

StanislawHornaGitHub commented 6 months ago

pgcrypto

GringoXY commented 6 months ago

Hasła do kont klientów i administracyjnych powinny znaleźć się bezpośrednio w bazie danych. Według prawa z RODO hasła powinny być szyfrowane. Można wykorzystać szyfrowanie MD5 lub RSA (bardziej rekomendowane jest MD5). Parę słów o ww. prawie: "Z punktu 84 preambuły RODO wynika, iż administrator danych będzie musiał dobrać odpowiednie środki techniczne i organizacyjne w celu zabezpieczenia przetwarzanych danych osobowych na podstawie przeprowadzonej analizy ryzyka. Rzetelnie przeprowadzony proces ma za zadanie wskazać organizacji zagrożenia dla jej infrastruktury IT, wykonać ich prioretyzację, oszacować potencjalne straty związane z naruszeniem bezpieczeństwa oraz zaproponować rozsądne rozwiązania ograniczające ryzyko incydentu." https://odo24.pl/blog-post.polityka-hasel-w-systemach-informatycznych

GringoXY commented 6 months ago

W teorii użycia MD5 (generalnie hashowania haseł) byłoby najbezpieczniejsze. W przypadku gdy baza danych wycieknie (ktoś włamie się do systemu i ją pobierze) to nie będzie w stanie odszyfrować haseł, gdyż sama specyfika działania hashowania na to nie pozwala

StanislawHornaGitHub commented 6 months ago

Trochę mieszane mam odczucia co do MD5, bo w Postgres jest możliwość hashowania haseł użytkowników bazy danych przy użyciu MD5 lub SHA-256 i wszędzie mocno odradzają MD5 jako nie do końca bezpieczny mechanizm.

Być może w przypadku haseł które tylko "trzymamy" w bazie jako informację, którą nie można się posłużyć do uszkodzenia samej bazy taka metodyka by wystarczyła.