Web-based keystroke authentication