Add a challenge-response to the server-client handshake, improve os::random() a bit.