Zajmuję się wykonywaniem uwierzytelniania w naszej aplikacji sieciowej .Net MVC 4 i uderzyłem w hasło dotyczące haszowania hasła, przechowywania i uwierzytelniania.Gdzie przechowywać sól do haseł i jak ją zdobyć?
Planuje się obecnie korzystać z 2 soli, 1 dynamicznego (na użytkownika) i 1 statycznego (stała aplikacja internetowa) i silnej funkcji mieszania.
Biorąc pod uwagę prostą tabelę użytkownika, który zawiera nazwę użytkownika i hasło:
- wolno przechowywać na sól użytkownika w kolumnie w tabeli użytkownika?
Moje zmartwienia polegają na tym, że będę musiał pobrać użytkownika z bazy danych w pamięci aplikacji internetowych z jego nazwą użytkownika. Czy jest jakiś atak, w którym może to być problematyczne? Idealnie chciałbym mieć to jeden krok/jedno uwierzytelnienie żądania SQL.
Czy martwię się za dużo? Czy istnieje alternatywa dla soli "Na użytkownika", w której wciąż mogę wykonać uwierzytelnianie w jednym kroku?
też podobieństwo: http://stackoverflow.com/questions/1219899/where-do-you-store-your-salt-strings – user956584