Jak przechowywać hasła

Odpowiedz Nowy wątek
2019-08-06 23:22
0

Takie pytanie. Mam aplikację webową na serwerze hostingowym. Na tym samym serwere jest baza danych. Aplikacja łączy się za pomocą webApi z różnymi zewnętrznymi serwisami. Klienci logują się do systemu stosując indywidualne hasła. Obsługę haseł klientów mam załatwioną. Pytanie: w jaki sposób i gdzie przechowywać hasła i inne access tokeny do wszystkich WebApi z którymi łączy się aplikacja? Przecież nie każę przy każdym logowaniu podawać klientowi 10 haseł. Wpisać na sztywno do kodu głupio i niepraktycznie. Jedyne co mi przychodzi do głowy to jakoś je kodować i dekodować w programie i w zakodowanej postaci zapisywać w bazie. Co myślicie?

edytowany 1x, ostatnio: akerman, 2019-08-06 23:25

Pozostało 580 znaków

2019-08-07 15:41
0

@ccwr Wiesz, doskonale zdaję sobie sprawę, że nie jest to rozwiązanie dobre, ani do końca bezpieczne, ale jeśli już muszę trzymać w bazie zaszyfrowane hasła do serwisów to na pewno jest ono lepsze niż przechowywanie kluczy w pliku czy w kodzie.

Pozostało 580 znaków

2019-08-07 16:10
0

Mam taki pomysł:

  • hasła do twojego serwisu przechowujesz zahaszowane,
  • hasła do serwisów zewnętrznych przechowujesz w formie zaszyfrowanej, przy czym elementem klucza szyfrującego jest hasło do twojego serwisu w formie otwartej.

Klient logując się, podaje hasło, system porównuje jego hasz, a później dekryptuje hasła zewnętrzne.

Włamywacz musi zdehaszować hasła wewnętrzne, żeby móc zdekryptować hasła zewnętrzne.

Tylko nie wiem, czy połączenie tych dwóch metod, potencjalnie nie osłabi... ich obu. Bo masz tu kilka różnych plików w oparciu o których możesz jakoś wnioskować o zhaszowanym haśle klienta.


No to właśnie podsumowałeś to co pisałem wcześniej. Też mi się to wydaje najlepszą opcją z dostępnych. - akerman 2019-08-07 16:15
A to przepraszam :) Ale jak dwie osoby wpadły na podobny pomysł, to może coś w tym jest :) - Freja Draco 2019-08-07 16:48

Pozostało 580 znaków

2019-08-07 16:22
0

Sugerowanie zeby uzywac md5 kiedy 8 znakowe sha juz zaczyna byc bezuzyteczne ...

title


01010100 01110101 01110100 01100001 01101010 00100000 01101110 01101001 01100101 00100000 01101101 01100001 00100000 01101110 01101001 01100011 00100000 01100011 01101001 01100101 01101011 01100001 01110111 01100101 01100111 01101111 00101110 00100000 01001001 01100011 00100000 01110011 01110100 01101111 01101110 01110100 00101110
Szkoda, że nie policzyli czasu brute-force'owania argon2. - iksde 2019-08-07 16:32
dlaczego rozmawiasz o hashach skoro tutaj potrzebny jest algo szyfrujący? - mr_jaro 2019-08-07 19:26
Komentuje post z pierwszej strony - stivens 2019-08-07 19:32
to powinienś użyć cytatu bo tak to nic nie wiadomo. - mr_jaro 2019-08-07 19:38
Ale kontekst wypowiedzi tez cos wnosi - stivens 2019-08-07 20:22

Pozostało 580 znaków

2019-08-07 18:08
0

Nie żadne MD5 (kolizje MD5 da się aktualnie generować poniżej jednej sekundy) ani hashe bezpośrednio tylko rób to co wszyscy w krypto polecają: PBKDF2, w bazie zapisujesz 16 losowych (użyj dobrej funkcji losującej inaczej cała reszta o kant d...) bajtów soli i hash. Wybierz odpowiednio dużą liczbę iteracji (nim więcej tym lepiej i wolniej - nim wolniej tym atakującemu więcej zajmie znalezienie klucza/kolizji).

Ale tak jak ktoś wyżej wspomniał - jak ktoś ma dostęp do bazy i kodu serwera to Ci nie pomoże bo można hasło przechwycić już na poziomie przeglądarki.

Generalnie to rób backupy i zapisuj offline bo wszystko się aktualnie da zepsuć, a jak nie to poczekaj pare miesięcy i ktoś coś wymyśli.


░█░█░█░█░█░█░█░█░█░█░█░
edytowany 3x, ostatnio: krwq, 2019-08-07 18:24

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0