Chcę przechowywać niektóre dane zaszyfrowane, na przykład takie jak menedżer haseł, w którym hasło główne odblokowuje wszystkie hasła aplikacji/lokacji.Zmienianie hasła głównego używanego do szyfrowania
Rozglądając się znalazłem kilka przykładów takich jak this, ale wydaje się, że używają one hasła jako części szyfrowania, podobnie jak sól w haszowaniu. Oznacza to, że do odszyfrowania potrzebujesz dokładnie tego samego hasła, abyś nigdy nie mógł zmienić hasła. To nie wydaje się wspaniałe z punktu widzenia bezpieczeństwa/użyteczności; jeśli PW zostanie naruszony, musisz przerobić całą bazę danych na inny PW.
W jaki sposób utworzyć system, w którym można zmienić hasło główne? Czy robisz prostą weryfikację logowania, a następnie używasz łańcucha do szyfrowania/odszyfrowywania? Czy statyczna natura i przechowywanie tego ciągu nie byłyby niebezpieczne?
Znam trochę PHP i odrobinę kodu Javascript, więc jeśli masz przykłady w tych językach, które będą miłe, ale bardziej ogólne wyjaśnienie wysokiego poziomu jest również bardzo doceniane.
'Oznacza to, że do odszyfrowania potrzebujesz dokładnie tego samego - - tak, tak, jak inaczej byś odszyfrował, gdyby nie ten sam klucz? Poszukujesz systemu, w którym możesz mieć N kluczy do odszyfrowania tego samego tekstu? Jest to możliwe tylko wtedy, gdy zaszyfrujesz ten sam tekst N razy klawiszem N, więc jeśli jeden klucz zostanie zgubiony, otrzymasz klucze N-1 do odszyfrowania danych. Twierdzę, że to jest naprawdę dobre dla bezpieczeństwa, ponieważ masz mieć tylko jeden klucz w historii. Jeśli zmienisz klucz, po prostu ponownie zaszyfruj wszystko za pomocą tego klucza, gdzie jest problem? Szyfrowanie to zmienna bestia, co dokładnie próbujesz rozwiązać? – Mjh
Intuicja mówi, że możesz użyć hasła głównego do zaszyfrowania rzeczywistego klucza szyfrowania (tak jak chronisz hasła prywatne SSH), ale właściwe szyfrowanie jest naprawdę trudne, a intuicja często staje na przeszkodzie (tutaj bardzo prawdopodobne jest, że klucz szyfrowania przechowywany gdzieś jest złym pomysłem). W każdym razie zgadzam się z Mjh, że możesz edytować pytanie i pewne szczegóły dotyczące tego, dlaczego obawiasz się, że ponowne szyfrowanie wszystkiego nie jest możliwe. Czy mówimy o bardzo dużych danych? Czy martwisz się integralnością danych, jeśli nastąpi ponowne zaszyfrowanie wsadowe? –