Programación de Seguridad en Java
Presentación
En este módulo estudiaremos los elementos de programación necesarios para incorporar mecanismos de seguridad a nuestras aplicaciones: encriptación (de clave secreta y de clave pública), firmas y certificados digitales, protocolo SSL. Estos mecanismos vienen implementados por diferentes APIs java (JCA, JCE, JAAS, JSSE) que estudiaremos en su momento. Veremos como aplicar estas ideas para encriptar bases de datos y proteger aplicaciones.
Número de horas
20
Profesor
Francisco Escolano Ruiz
Temario
1. Servicios Criptográficos en Java
1.1. Overview: De qué trata este módulo
1.2. JCA: Java Cryptography Architecture
1.3. JCE: Java Cryptography Extension
2. Encriptación Simétrica
2.1. Estrategias de clave secreta
2.2. DESede y Blowfish en JCE
2.3. Encriptación basada en passwords (PBE)
2.4. Codificación de claves secretas
2.5. Cifradores de "stream"
2.6. Ejemplo de encriptación de ficheros
3. Encriptación Asimétrica
3.1. Clave pública y clave privada
3.2. Clases e interfaces en java
3.3. Encriptación de "clave de sesión"
3.4. Codificación de claves públicas y privadas
3.5. Encriptación de ficheros con RSA
4. Firma y certificado digital
4.1. Autentificación por firma digital
4.2. Certificados digitales: contenidos
4.3. Generando certificados: "keystores" y keytool
4.4. Certificados en Java
4.5. Crear nuestra propia CA
5. Integrando autorización y autentificación
5.1. JAAS: Java Authentication and Authorization Service
5.2. javax.security.auth.login: LoginContext y Configuration
5.3. javax.security.auth.callback: Callback y CallbackHandler
5.4. Interfaz javax.security.auth.spi.LoginModule
5.5. Clase javax.security.auth.Subject
5.6. Probando el ejemplo
5.7. Autorización programática
6. Protocolo SSL
6.1. SSL básico: Funcionamiento y HTTPS
6.2. Instalando y configurando JSSE
6.3. Cliente y servidor HTTPS
6.4. Protegiendo "keystore" y password: com.sun.net.ssl
6.5. Autentificación del cliente
7. Seguridad en Bases de Datos
7.1. Encriptación de tarjetas de crédito
7.2. Configuración de la base de datos
7.3. Clase CreditFactory
7.4. Modificando y consultando la base de datos
8. Seguridad en BEA WebLogic
8.1. Ejemplos SSL
8.2. Ejemplos JAAS
9. Seguridad en una aplicación completa
Sesiones
|