/ / Szyfrowanie retroaktywne / przechowywane hashowanie (zwykły tekst) poświadczeń użytkownika - asp.net, sql, bezpieczeństwo, szyfrowanie, hasła

Retroaktywne szyfrowanie / mieszanie zapisanych (zwykłych tekstów) poświadczeń użytkownika - asp.net, sql, security, encryption, passwords

Obecnie pracuję nad projektem, w którym jestemprzepisywanie starej (pod koniec lat 90.) aplikacji internetowej w ASP.NET. Część tej aplikacji to system uwierzytelniania użytkowników, który służy do uzyskiwania dostępu do kilku stron w witrynie. Poświadczenia użytkownika (nazwa użytkownika, hasło itp.) Są przechowywane w tabeli bazy danych.

To wszystko dość standardowe, ale pracując z tą bazą danych, ku mojemu przerażeniu, zauważyłem, że dane te są przechowywane w postaci zwykłego tekstu.

Zastanawiam się, jaki byłby najlepszy sposóbpoprawić bezpieczeństwo tego niepewnego systemu. Czy istnieje prosta metoda pobierania danych w postaci zwykłego tekstu, szyfrowania (lub mieszania) i ponownego wstawiania? Czy mogę korzystać z uwierzytelniania formularzy .NET, aby to ułatwić, i czy jest to dobra opcja uwierzytelniania użytkowników w nowej aplikacji?

Dzięki!

Odpowiedzi:

0 dla odpowiedzi № 1

Jeśli jesteś w sieci Windows, użyłbym Windows Auth, który używa Active Directory. Pozwoliłoby to twojej grupie administratorów systemów / osobie na administrowanie, kto ma dostęp do aplikacji.

Formularze uwierzytelniania to dobry pomysł, jeśli uwierzytelnianie systemu Windows nie działa dla Ciebie.

Jeśli nie dadzą ci czasu na wdrożeniew jednym z ram auth, zdecydowanie zaszyfrowałem hasła w bazie danych. Napisz aplikację na konsolę i zaszyfruj hasła, korzystając z informacji znalezionych tutaj: Zaszyfruj i odszyfruj ciąg

Następnie musisz zmodyfikować istniejącą aplikację, aby sprawdzać hasła zaszyfrowane zamiast zwykłego tekstu.