Criptografia de objetos e segurança com o Glassfish 3

Olá pessoal,

Eu desenvolvo uma aplicação em que o cliente (desktop-Swing) faz a chamada de métodos remotos e tal. Apenas a serialização de objetos não é o suficiente para garantir a segurança dos dados até o servidor (Glassfish 3.1).

Qual seria a melhor solução para evitar furos de segurança como esses de passar um objeto apenas serializado pela rede?
Qual seria a melhor maneira de criptografar esse objeto (ou seus dados), depois serializá-lo e enviá-lo ao servidor para então ser descriptografado e persistido?
A mesma coisa deve ser feita no caminho inverso, em que o cliente requisita ao servidor e o servidor faz o processo e devolve o objeto criptografado e então o cliente descriptografa e faz a leitura dos dados.

Estou pensando corretamente ou existe alguma maneira melhor de fazer isso?

Ainda estou começando com o Glassfish e gostaria de saber se existe algo no Glassfish que facilita o trabalho.