Przechowywanie danych wrażliwych

0

Cześć, prosty problem.
Załóżmy, że robię klienta FTP. Total Commander pozwala na dodane wielu różnych konfiguracji. Ja też chciałbym mieć taką opcję. Dodaję konto ftp i wszystkie dane połączeniowe. Nie chcę oczywiście podawać ich za każdym razem, gdy się łączę, więc trzeba je jakoś zapisać.

Jak odpowiednio zaszyfrować takie dane? Nie chodzi mi o odpowiedź w stylu: "No C# umożliwia Ci zaszyfrowanie stringa, więc zaszyfruj go i zapisz w rejestrze, czy gdzieś". Bo każde (?) szyfrowanie wymaga podania klucza. No i tu się zaczynają schody. Przecież nie będę trzymał klucza jawnie tekstem w kodzie. W jaki sposób coś takiego powinno być poprawnie rozwiązane?

2

DPAPI pierwsze mi przyszło na myśl. Pozwala zabezpieczyć dane wiążąc je z lokalnym kontem użytkownika, czyli polegasz na bezpieczeństwie konta. Przykłady, dyskusja na SO, sporo informacji "głębiej".

Poza tym Windows Vault jest wbudowanym mechanizmem do przechowywania loginów/haseł, w sposób bezpieczny - do obsługi tego w UWP masz PasswordVault, a dla starszych wersji Windows (od 7) chyba zadziała nuget CredentialManagement.

0
Ktos napisał(a):

Poza tym Windows Vault jest wbudowanym mechanizmem do przechowywania loginów/haseł, w sposób bezpieczny - do obsługi tego w UWP masz PasswordVault, a dla starszych wersji Windows (od 7) chyba zadziała nuget CredentialManagement.

I tam na chama po prostu ładuję hasło? Czy klucz do szyfrowania?

0

A tak poza swoim FTP - jakiś storage z 2FA?

0
Juhas napisał(a):

I tam na chama po prostu ładuję hasło? Czy klucz do szyfrowania?

Raczej służy do trzymania loginów/haseł. Każda aplikacja ma dostęp tylko do swojego katalogu haseł. Szyfrowaniem zajmuje się już Windows.

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