Elsőre nekem korrektnek tűnik.
Az IP cím alapú védelem viszont elég gyenge láncszem, ha valaki hozzáfér a másik személy hash-éhez, akkor már esélyes, hogy az IP címét is tudja spoofolni - miért nem kérsz egy 4 karakteres PIN-t is a felhasználótól?
Jogilag is jobban be lennél védve, a PIN titokban tartása a felhasználó felelőssége, ez evidens, ellenben a hash titokban tartásával.
Az időbélyeget használhatnád kvázi public saltként, akkor megkerülöd ezt a gyengeséget, hogy csak adott órára tudsz kulcsot adni, a biztonságon pedig nem ront.