Pracuję nad aplikacją internetową dla mojego projektu Masters. Jest to system dla profesorów do zarządzania projektami studenckimi i wykorzystuje Javę dla kodu po stronie serwera, HSQLDB dla bazy danych i JSP dla warstwy prezentacji, i działa na tomcat. Dane, które będą przechowywane, nie zawierają żadnych poufnych informacji (identyfikator ucznia, informacje finansowe, nic w tym stylu), ale nazwy użytkowników i hasła są wymagane, więc chcę chronić hasła w przypadku, gdy uczeń używa hasła do moja aplikacja, której używają dla innej, ważniejszej aplikacji (bez wątpienia stanie się to, nawet jeśli powiem ludziom, żeby tego nie robili).Prawidłowe przesyłanie i zabezpieczanie haseł użytkowników do aplikacji internetowej
Nigdy wcześniej nie oglądałem tego typu rzeczy i jestem całkiem zgubiony. Znalazłem dobry artykuł wyjaśniający, jak używać Javy do create a hash of a password i znalazłem informacje w tomcat documentation wyjaśniające, jak ustawić schemat mieszania używany w dziedzinach i jak zrobić SSL with tomcat, a także JavaScript library, aby utworzyć hasze z haseł, ale Nie jestem pewien, jak połączyć wszystkie elementy i jakich elementów potrzebuję dokładnie.
Jeśli korzystam z biblioteki JavaScript do mieszania hasła i używania protokołu SSL dla kroku logowania (jest to niepotrzebne, myślę, że ponieważ inne dane nie wymagają ochrony), to przechowuj tylko zaszyfrowane wersje haseł w bazie danych Czy to wystarczy? Czy muszę zrobić coś więcej? Przebiegłem przez a question, gdzie odpowiedzi omawiały PBKDF2 i kilka innych rzeczy, ale to tylko bardziej mnie myliło ... Gdybym użył jednego ze schematów wspomnianych w tych odpowiedziach, jak mam to zrobić? Nie widziałem żadnych odniesień do nich w tomcat lub innych dokumentach, więc nie wiem, jak bym ich użył ...
Jeśli ktoś może wyjaśnić moje zamieszanie i powiedzieć mi, jaki jest właściwy sposób bezpiecznego przesyłania i przechowywać hasła, naprawdę bym to docenił.
Upewnij się, że masz rację! – jtahlborn
@jtahlborn, Tak! Jak mogłem o tym zapomnieć. Dodano do odpowiedzi, dziękuję! – Brad
możesz zabezpieczyć pamięć w przyszłości, przechowując algorytm użyty w/każde hasło. który pozwala na uaktualnienie algorytmu w przyszłości bez zrywania istniejących użytkowników. – jtahlborn