Mechanizm Proof of Work
Dokumentacja opisuje SCaptcha 2.3.0. Funkcje zależne od konfiguracji są oznaczone oddzielnie.
Weryfikacja podstawowa
Każde zadanie używa niezależnej, kryptograficznie losowej soli o długości 32 bajtów. Instalacja WoltLab sprawdza sól, skrót, algorytm, rozwiązanie i HMAC w sesji, która wydała zadanie. Zadanie wygasa po 60 sekundach i nie wymaga zewnętrznego dostawcy CAPTCHA.
Generowanie wyzwania
Serwer generuje niezależną, kryptograficznie losową sól o długości 32 bajtów dla każdego nowego zadania. Stała sól aplikacji nie jest ponownie używana.
Podpis serwera
Tworzony jest podpis HMAC z użyciem sekretu sesji, aby klient nie mógł zmanipulować wyzwania.
Zadanie po stronie klienta
Klient iteracyjnie oblicza rozwiązania, łącząc liczby z podaną solą, aż pasują do wyzwania, a następnie wysyła base64-JSON payload z algorithm, challenge, number, salt, signature i took.
Weryfikacja rozwiązania
Na podstawie otrzymanej soli i liczby serwer ponownie oblicza wyzwanie, weryfikuje podpis HMAC i egzekwuje okno ważności 60 sekund.
Dostosowanie złożoności
Złożoność zmienia się przez modyfikację minimalnych i maksymalnych wartości losowo generowanej tajnej liczby. Niższe wartości rozwiązują się szybciej, wyższe zwiększają koszt automatyzacji.