Без SSL вы можете использовать только общий метод шифрования между клиентом и сервером. В этом случае вы можете реализовать пользовательский LoginCommand в BlazeDS, который будет расшифровывать входящее зашифрованное имя пользователя / учетные данные для использования на стороне сервера.
Существуют и другие методы (SSO, PreAuthentication, SessionKeys), но если ваши клиенты не хотят использовать SSL или готовы заставить своих пользователей использовать самозаверяющий SSL-сертификат, подписанный Selg, то я сомневаюсь, что они пойдут на альтернативы.
Если вас беспокоит сжатие имени пользователя / пароля, тогда минимальное требование - SSL при использовании ChannelSet.login с именем пользователя / паролем.
Хорошим решением, по моему скромному мнению, является вход через HTTPS с именем пользователя / паролем, который выдает ключ сеанса, затем вы можете использовать имя пользователя / ключ сеанса через HTTP, чтобы проверить, что входящий незащищенный запрос поступил от аутентифицированного пользователь. Тайм-аут сеанса через произвольное время.