Chcialem spytac czy ten pomysl na zabezpieczenie konta jest dobry czy ma jakies mega dziury ktore przegapilem.
Program aplikacja na telefonie wymaga rejestracji uzytkownika ktory to wykonuje wlasnorecznie.
Wszystkie wywolania na moj API sa po https. A zeby zalozy konto trzeba wywoalc dwie funkcje.
Algorytm dzialania mam taki:
- Otwarcie aplikacji i ona do zaloze ia konta
- Pojawia sie opcja wpisania email,haslo i ponownie haslo
- Wysylam po ssl te 3 dane do serwera.
- Serwer losuje klucz i z tego klucz plus tych moich 3 danych oblicza skrot i zapmaietuje jako klucz A
- Serwer odsyla do aplikacji informacje ze wstepne zakladanie konta jest ok i wysyla mi ten swoj wylosowany klucz
- Aplikacja oblicza skrot tak samo jak aplikacja i odsyla zwrotke.
- Jesli obliczone skroty sie zgadzaja to serwer zaklada konto jesli nie wyswietla blad
W kluczu wyslanym od serwera mozna zakodowac jakim algorytem mamy ibliczyc skrot
Druga sprawa ze jezeli jest serwis i zarejestruje sie milion uzytkownikow a polowa z nich to sztuczne konta to te konta spowoduja ze plik bazy danych bedzie duzy bo nawet jak sie usunie dane to plik sie nie zmniejsza zeby go nie defragmentowac.
I pomyslalem ze moze zrobic dwoe bazy jedna taka przejsciowa z ktorej po aktywacji konta dane przechodza do tej wlasciwej a przejsciowa ma co jakis czas kasowane pliki z tabelami i nigdy nie zasyfi sie danymi np na 300giga
Czy dobrze mysle w obu przypadkach?