Witam,
są jakieś dostępne sposoby na zabezpieczanie connectionStringa do bazy? Powiedzmy mam aplikację, gdzie można przełączać pomiędzy bazami danych, dodawać, edytować połączenia. Nie wiem, czy może nie przesadziłem z tym przełączaniem, ale w swoim obecnym projekcie na stronie logowania mam przycisk Ustawienia bazy danych, po kliknięciu, którego można zmienić adres, login, nazwę bazy lub ustawić nowe hasło. Mam problem z zabezpieczeniem tego. Przynajmniej hasła.
Hasło, po zapisaniu już nigdy nie jest przekazywane do UI, tylko podczas tworzenia contextu jest wykorzystywane. Resztę w zamierzeniu można edytować, zmienić adres serwera na przykład.
I mam to obecnie rozwiązane słabo, bo jeśli chodzi o składowe connectionstringa, adres, login, hasło, nazwa bazy mam zapisane w klasie z 4 polami. Po zapisaniu nowych danych(powiedzmy pierwsze uruchomienie programu), tworzony jest klucz w rejestrze w gałęzi HKCU i zapisywany losowy ciąg znaków. Następnie przy użyciu AES każde pole klasy jest szyfrowane a następnie obiekt zapisuję do pliku, a plik w appData użytkownika. Kiedy tworzę dbcontext, connectionstring jest przez metodę "składany" z danych, znajdujących się w pliku i odszyfrowanych hasłem z rejestru.
Wiem, że pomysł jest głupi, bo ktoś, kto zdekompiluje kod i ma dostęp do rejestru to pozna hasło do bazy, ale jak zaczynałem tworzyć projekt to tylko coś takiego udało mi się na szybko wymyślić... Ktoś zna może jakieś sposoby zabezpieczenia tych danych?