Seguridad.

Saludos a todos:

Estoy creando una aplicacion en j2me y quisiera implementar realms en el servidor, he buscado y al parecer la autentificacion la puedo hacer con sip (jsr180) lo que no se es si hay compatibilidad, alguien me podria ayudar?

Tambien me gustaria que el canal de comunicacion permaneciera encriptado, tal vez con ssh, ¿como lo podria hacer, me puede servir sip tambien?

¿Oauth me podria servir para la autentificacion?

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de ezamudio

oauth

OAuth puede servirte para autenticar pero no para manejar un canal cifrado (de hecho la idea de OAuth es tener un sistema de autenticación sin necesidad de un canal seguro).

SSH es Secure Shell. Por qué quieres un shell hacia el server? Tal vez te confundes con SSL (Secure Sockets Layer), que es un estándar para manejar comunicaciones cifradas en un socket TCP. Pero SSL en JavaME (ya no se llama j2me desde hace tiempo) no es práctico, porque JavaME corre en dispositivos con muy poco poder de procesamiento y se tardan muchísimo tiempo en poder inicializar el cifrado de datos con llave pública, y un poco menos de tiempo ya en manejar los paquetes cifrados con llave simétrica pero aún así es bastante notorio que es mucho más lento. Y de hecho no puedes manejar llaves asimétricas seguras (de 1024 bits o más), el CPU de un celular normal con JavaME te da cuando mucho para llaves de 512 bits pero eso ya no se considera seguro (yo sé que es mejor que no tener nada pero pues tienes que tomar en cuenta este tipo de restricciones para que todos los involucrados sepan que hay poca seguridad y nadie tenga la ilusión o falsa impresión de que están manejando las cosas en un canal realmente seguro).

Imagen de beto.bateria

Confucion.

Tienes razon, me confundi es SSL, pero por lo que me comentas me deja igual, aunque peor es nada. Existira otra opcion?

Imagen de ezamudio

llaves predefinidas

Puedes usar llaves simétricas solamente. No es tan seguro como SSL, pero pues la velocidad es aceptable en un móvil. El truco está en que ambas partes (móvil y servidor) generen la misma llave sin que tenga que viajar por el canal inseguro.

Una manera de lograr esto es con un mecanismo similar al que usa OAuth, puedes basarte en OAuth para obtener un token autenticándote con el server y ese token usarlo como base para llaves de sesión que usas en los sockets (no uses la misma llave siempre, sino que derivas una llave a partir del token de OAuth, la cual usas solamente una vez).

Imagen de beto.bateria

Gracias

Gracias por la informacion, lo voy a investigar.