Использование SSL - правильный путь.
В вашем случае, учитывая ограничения SSL AppEngine, вы должны нормально загружать HTML-код из домена, отличного от SSL, и использовать межсайтовый RPC для загрузки данных через домен SSL.
Обновление:
What is the best way to achieve the result that I want to achieve?
Если вы хотите защитить данные при передаче, тогда единственный безопасный способ - это SSL / HTTP. Обычно это также самый простой способ, так как он не требует изменения кода приложения, а только конфигурации сервера. В вашем конкретном случае (приложение с частным доменом) требуется больше работы, как описано выше.
Is gwt-crypto a good solution for that?
Нет. gwt-crypto
использует ключ для шифрования / дешифрования данных. Вам также нужен безопасный способ распространения этого ключа.
I'm fine with any simple approach to obfuscate the data during transit.
Безопасность через неизвестность в не безопасности. Это ложное чувство безопасности, которое даже опаснее, чем отсутствие безопасности. Достаточно того, что только один из технически способных учеников взломает это, и скоро все это сделают.
Возможная атака может быть такой:
- Snoop сети, получить имя пользователя / пароль пользователя.
- Войдите в систему под этим пользователем, получите данные экзамена загрузки браузера, которые теперь не зашифрованы в памяти.
- Дамп DOM и проверка его на предмет экзаменационных вопросов.
-
What could be the possible reason for a GWT app, with encryption/decryption
enabled, not working inside a firewall?
Используйте firebug, чтобы убедиться, что сетевые подключения идентичны, за исключением зашифрованного содержимого. Межсетевые экраны не должны работать так глубоко. Поговорите с сисадмином об этом.