Максимально обезопасить можно применив https+криптоключ сессии.
Клиент авторизуется на сервер по паролю пользователя. В ответ сервер присылает сессионный ключ, который клиент будет добавлять в ajax-запросы.
Чтобы не хранить текущий сессионный ключ клиента на сервере, можно просто шифровать время, IP и login клиента, идентификатор чата. По приходу сообщения расшифровываем эти данные и проверяем можно ли такому отдавать контент. Обновленный коиптоключ сессии можно присылать с каждым ответом от сервера. При просрачивании заставляем переавторизоваться или, скажем, явно запросить новый коиптоключ.