Szyfrowanie app.config

Szyfrowanie app.config
S3
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 27
0

Witam,

Poszukuję rozwiązania na zaszyfrowanie <connectionString>, który będzie również skuteczny na innych maszynach.

Wykonałem całą procedurę w oparciu o "aspnet_regiis.exe -pef" i oczywiście otrzymuje pełne szyfrowanie.

Problem polega na tym, że przy uruchomieniu programu na innym komputerze ze względu na brak odpowiedniego klucza, wywala błąd - co jest oczywiste.

Nie chcę eksportować swojego klucza do każdej instalacji, ponieważ będzie można przy jego wykorzystaniu odszyfrować plik app.config

Będę wdzięczny za każda pomoc jak to rozwiązać?

enedil
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1028
2

Jeśli chcesz umożliwić korzystanie z zaszyfrowanych danych na obcym sprzęcie, to musisz się liczyć z tym, że taka osoba będzie w stanie wyciągnąć connection string.

S3
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 27
0
enedil napisał(a):

Jeśli chcesz umożliwić korzystanie z zaszyfrowanych danych na obcym sprzęcie, to musisz się liczyć z tym, że taka osoba będzie w stanie wyciągnąć connection string.

Jak zatem najlepiej ukryć / zaszyfrować dane wrażliwe (login / pass) w ścieżce ?

enedil
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1028
3

Zależy od usecasu, ale generalnie to co wymyślił(e|a)ś brzmi jak zły design - zamiast łączyć się do bazy danych bezpośrednio, powinno istnieć API do konkretnych rzeczy. Wtedy każdy klient by dostawał np. swój token JWT, który dawał by dostęp do operacji na danych, a connection string nigdy by nie opuścił serwera.

S3
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 27
0
enedil napisał(a):

Zależy od usecasu, ale generalnie to co wymyślił(e|a)ś brzmi jak zły design - zamiast łączyć się do bazy danych bezpośrednio, powinno istnieć API do konkretnych rzeczy. Wtedy każdy klient by dostawał np. swój token JWT, który dawał by dostęp do operacji na danych, a connection string nigdy by nie opuścił serwera.

Założenie było takie, że użytkownik i tak ma ograniczone prawa tylko do "Select" nic więcej. Mimo to, że chciałem poukrywać/zaszyfrować (jakoś) dane wrażliwe.

Akihito
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Śląsk
  • Postów: 248
0

enedil dobrze ci powidział, że potrzebujesz jakąś przeplotkę bo nie możesz mieć takich danych u usera. Ponieważ prędzej czy później ktoś i tak ci się dobierze do apliakcji i spróbuje z niej te informacje wyciągnąć

JU
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 5046
0

To się robi inaczej. Zakładając, że nie masz żadnego API wystawionego, bo nie musisz... Zakładając, że piszesz o aplikacji desktopowej - bo nie określiłeś tego

Aplikacja podczas instalacji na kompie pyta użytkownika o:

  • serwer bazy danych
  • dane dostępowe do bazy danych (user i hasło).

Dane potem mogą zostać zaszyfrowane i zapisane do rejestru.
O to Ci chodziło?

Aplikacja podczas uruchamiania odczytuje dane z rejestru, odszyfrowuje je i łączy się z bazą danych.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.