Seguridad Informtica - PowerPoint PPT Presentation

1 / 58
About This Presentation
Title:

Seguridad Informtica

Description:

Criptograf a (Cryptography), proviene del griego kryptos, 'ocultar', y grafos, ... En ingl s se le conoce como cipher o cypher ... – PowerPoint PPT presentation

Number of Views:89
Avg rating:3.0/5.0
Slides: 59
Provided by: mic4152
Category:

less

Transcript and Presenter's Notes

Title: Seguridad Informtica


1
Seguridad Informática
Introducción a la Criptografía Java SE
Security Micael.Gallego_at_urjc.es
Seguridad en Java
2
Índice
  • Introducción
  • Cifrado o Encriptación
  • Claves Criptográficas
  • Autenticación
  • Certificados

Seguridad en Java
3
IntroducciónCriptografía
  • Etimología
  • Criptografía (Cryptography), proviene del griego
    kryptos, "ocultar", y grafos, "escribir",
    literalmente "escritura oculta
  • Definiciones
  • Diccionario de la Real Academia Española (RAE)
  • Wikipedia
  • Wiktionary

Seguridad en Java
4
IntroducciónCriptografía
  • Diccionario de la Real Academia Española
  • Arte de escribir con clave secreta o de un modo
    enigmático
  • Wikipedia
  • Es una disciplina, rama de la teoría de la
    información, que estudia los aspectos matemáticos
    de la información y su transmisión
  • Un notable criptógrafo (Ron Rivest) define la
    criptografía como la comunicación en presencia
    de adversarios, resaltando su aspecto ingenieril
  • Wiktionary
  • La disciplina que se ocupa de las comunicaciones
    con seguridad (confidencialidad de mensajes,
    integridad de mensajes, autenticación del emisor,
    no-repudio de los mensajes o cualquier otro
    aspecto relacionado) en presencia de agresores

5
Introducción Criptografía
  • Originalmente se centraba únicamente en el
    estudio de la ocultación de mensajes (cifrado)
  • El arte o ciencia de cifrar y descifrar
    información utilizando técnicas matemáticas que
    hagan posible el intercambio de mensajes de
    manera que sólo puedan ser leídos por las
    personas a quienes van dirigidos
  • Actualmente también se incluye en la criptografía
    todos los aspectos relacionados con
    comunicaciones seguras (autenticación)
  • Asegurar que el remitente es quien dice ser
  • Asegurar que la información no se ha modificado
    en la comunicación

Seguridad en Java
6
Introducción Cifrado
  • Cifrado o Encriptación (Encryption)
  • Diccionario de la Real Academia Española
  • Escrito oscura y misteriosamente
  • Wikipedia / Wiktionary
  • En criptografía, el cifrado es el proceso de
    transformar la información para hacerla ilegible
    si no se tiene conocimiento especial, ficheros de
    claves (keys) y/o contraseñas (passwords)

Encriptación no es un término aceptado por la
RAE, aunque se utiliza bastante como sinónimo de
cifrado
Seguridad en Java
7
Introducción Cifrado
  • Para qué sirve el cifrado?
  • Confidencialidad en la transmisión de información
    por un canal que puede ser leído por otros
    usuarios o sistemas
  • Confidencialidad en el almacenamiento de la
    información
  • Ejemplos
  • Enviar archivos confidenciales por correo
    electrónico
  • Incluir el número de la tarjeta de crédito en una
    página web
  • Recibir ficheros confidenciales desde un servidor
    de código
  • Enviar fotografías confidenciales mediante
    mensajería

Seguridad en Java
8
Introducción Autenticación
  • Autenticación (Authentication)
  • Dar seguridad de que alguien o algo es lo que
    representa o parece
  • Validar o confirmar la autenticidad de algo
  • En criptografía existen varias formas de
    autenticación
  • Autenticación del autor o remitente
  • Asegurarse de que el autor de una determinada
    información o el remitente de una comunicación es
    quien dice ser
  • Autenticación de los datos
  • Asegurarse de que la información no ha sido
    modificada en el transcurso de la comunicación
    por alguien distinto a su autor o emisor original
  • También conocido como integridad de la información

Seguridad en Java
9
Introducción Autenticación
  • Para qué sirve la autenticación?
  • Conectarse realmente a la página web de la
    entidad que parece ser
  • Conectarse realmente al servidor de código que
    corresponde al nombre del host
  • Asegurarse de que la información que le llega al
    usuario es la que envió la organización y no ha
    sido modificada durante la transmisión

Seguridad en Java
10
Introducción Autenticación
  • Ejemplos
  • Cuando se introduce en el navegador web
    www.urjc.es se espera conectar a la página web
    oficial de la Universidad Rey Juan Carlos
  • Un documento descargado de la página www.urjc.es
    se espera que corresponda a un documento que la
    Universidad Rey Juan Carlos mantiene en su
    servidor y no se ha modificado en la transmisión
  • Una aplicación Java descargada de www.sun.com se
    tiene que autenticar que corresponde a Sun
    Microsystems y no ha sido alterada en la
    comunicación, ya que podrían haberla alterado
    para introducir virus o software malicioso

Seguridad en Java
11
IntroducciónCifrado y Autenticación
  • Sólo Cifrado
  • Si ciframos cierta información, sólo el conocedor
    de la clave podrá acceder a dicha información
  • Sólo Autenticación
  • La autenticación nos asegura que la información
    ha sido creada o proviene de quien parece y nos
    asegura que no ha sido modificada en la
    comunicación
  • La información podrá leerse por cualquiera,
    aunque no podrá modificarse
  • Cifrado Autenticación
  • La autenticación puede usarse junto con el
    cifrado, de forma que consigamos la
    confidencialidad y estemos seguros del origen y
    la integridad de la información

Seguridad en Java
12
Índice
  • Introducción
  • Cifrado o Encriptación
  • Claves Criptográficas
  • Autenticación
  • Certificados

Seguridad en Java
13
Cifrado o Encriptación
  • El cifrado o encriptación es el proceso de
    convertir un texto plano (plain text) en un
    galimatías inteligible denominado texto cifrado
    (ciphertext) o criptograma
  • El descrifrado o desencriptación (decryption) es
    lo contrario, el proceso que convierte un texto
    cifrado (ciphertext) en texto plano (plaintext)

Seguridad en Java
14
Cifrado o Encriptación
  • Algoritmo de Cifrado
  • Está formado por un par de algoritmos concretos
    que realizan el cifrado y descrifado
    (encriptación y desencriptación)
  • En inglés se le conoce como cipher o cypher
  • Está compuesto por una serie de pasos bien
    definidos que se pueden seguir como un
    procedimiento
  • La operación detallada de un algoritmo de cifrado
    es controlada por el algoritmo y, en cada caso
    concreto, por una clave (key)
  • Clave
  • Una clave (key) es una cadena de números larga
    que debe tener determinadas propiedades
    matemáticas en función del algoritmo concreto
    para el que se vaya a utilizar

Seguridad en Java
15
Cifrado o Encriptación
  • Tipos de Algoritmos de cifrado
  • Algoritmos de clave simétrica
  • Usan la misma clave para cifrar y para descifrar
  • Clave se la denomina clave secreta
  • Algoritmos de clave asimétrica
  • También llamados Algoritmos de clave pública y
    clave privada
  • Se utiliza una clave para cifrar (privada) y otra
    para descifrar (pública)
  • Ejemplos de algoritmos de cifrado
  • AES, DES, triple-DES, RSA, Blowfish

Seguridad en Java
16
Índice
  • Introducción
  • Cifrado o Encriptación
  • Claves Criptográficas
  • Autenticación
  • Certificados

Seguridad en Java
17
Claves Criptográficas
  • Clave secreta (Cifrado simétrico)
  • En una comunicación, ambas partes deben usar la
    misma clave
  • Deben acordar y mantener la clave en secreto
  • Si alguien descubriese la clave, la
    confidencialidad estaría comprometida
  • Si queremos establecer una comunicación segura a
    través de una red, no podemos enviar la clave al
    otro extremo de la comunicación, ya que alguien
    la podría interceptar
  • Tenemos que aplicar procedimientos de intercambio
    seguro de claves

Seguridad en Java
18
Claves Criptográficas
  • Clave pública, clave privada (Cifrado asimétrico)
  • Un participante en la comunicación puede usar la
    clave pública y el otro puede usar la clave
    privada
  • Cada organización o persona tiene una clave
    pública y una clave privada
  • La clave pública se debe hacer pública (mail,
    web, CD)
  • La clave privada debe mantenerse en secreto por
    su dueño
  • Si se quiere enviar información a una persona,
    hay que cifrar la información con la clave
    pública de esa persona y sólo ella podrá
    descifrarla con su clave privada

Seguridad en Java
19
Claves Criptográficas
  • Clave pública, clave privada (Cifrado asimétrico)
  • La información que se cifre con la clave privada
    sólo podrá ser descifrada con la clave pública
  • Si somos capaces de descifrar cierta información
    con la clave pública de una organización
    estaremos seguros que de la información proviene
    realmente de la propia organización

Seguridad en Java
20
Claves Criptográficas
  • Clave pública, clave privada (Cifrado asimétrico)
  • La gestión de las claves públicas también tiene
    ciertos problemas, no existe un lugar
    centralizado que almacene dichas claves. Pero
    existen algunas técnicas para obtener claves
    públicas
  • El cifrado y descifrado con algoritmos
    asimétricos es más costoso computacionalmente que
    con algoritmos simétricos

Seguridad en Java
21
Índice
  • Introducción
  • Cifrado o Encriptación
  • Claves Criptográficas
  • Autenticación
  • Certificados

Seguridad en Java
22
Autenticación
  • Haciendo uso de los algoritmos de cifrado
    asimétricos podemos conseguir autenticación de
    datos y de emisor
  • Pero el cifrado/descifrado con algoritmos
    asimétricos es costoso computacionalmente
  • Para reducir el coste computacional en vez de
    cifrar el mensaje o fichero completo, se cifra un
    pequeño resumen del mismo

Seguridad en Java
23
Autenticación Resúmenes de Mensajes
  • Resúmenes de Mensajes (Message Digests)
  • Un resumen es una huella dactilar digital de un
    mensaje o documento. Es una pequeña secuencia de
    bytes que resume el mensaje o documento
  • Se le conoce como Message Digest, Digest o Hash
  • Se construye usando un algoritmo de resumen de
    mensajes (message digest algorithm), también
    llamado función hash criptográfica (cryptographic
    hash function)
  • Habitualmente no se usan claves para generar los
    resúmenes, es decir, dado un mismo documento y un
    algoritmo, siempre se obtiene el mismo resumen

Seguridad en Java
24
Autenticación Resúmenes de Mensajes
  • Este tipo de resúmenes tienen ciertas propiedades
  • Pequeñas variaciones en el documento, hacen que
    el resumen sea completamente diferente
  • Partiendo de un resumen no se puede obtener el
    documento original
  • Dado un resumen concreto, no se puede crear un
    documento que tenga ese mismo resumen
  • Ejemplos de algoritmos de resúmenes
  • SHA-1, MD5, RIPEMD-160

Seguridad en Java
25
Autenticación Firma Digital
  • Firma Digital (Digital Signature)
  • La firma digital, como la firma real, permite la
    autenticación del autor o emisor de un mensaje o
    fichero
  • Además, permite autenticación de datos, es decir,
    permite asegurar que el mensaje firmado no ha
    sido alterado

Seguridad en Java
26
Autenticación Firma Digital
  • Firma de un mensaje
  • 1) El emisor construye un pequeño resumen del
    mensaje que hay que autenticar con un algoritmo
    de resúmenes conocido
  • 2) Cifra el resumen con su clave privada
  • 3) Envía el mensaje junto con el resumen-cifrado
  • Verificación de la firma (autenticación)
  • 1) El receptor crea un resumen del mensaje con el
    algoritmo
  • 2) Descifra el resumen-cifrado con la clave
    pública del emisor
  • 3) Compara el resumen-descifrado con el resumen
    que el receptor ha generado, si son iguales, el
    mensaje no ha sido alterado y ha sido firmado con
    la clave privada del emisor (autenticación de
    datos y de emisor)

Seguridad en Java
27
Firma Digital
http//es.wikipedia.org/wiki/ImagenFirma_digital.
jpg
28
Índice
  • Introducción
  • Cifrado o Encriptación
  • Claves Criptográficas
  • Autenticación
  • Infraestructura de clave pública

Seguridad en Java
29
Infraestructura de Clave Pública
  • Infraestructura de clave pública
  • En inglés, PKI, Public Key Infrastructure
  • Combinación de hardware y software, políticas y
    procedimientos de seguridad que permiten la
    ejecución con garantías de operaciones
    criptográficas como el cifrado, la firma digital
    o el no repudio de transacciones electrónicas
  • Se refiere al enfoque ingenieril y de
    implementación de la teoría de criptografía

30
Infraestructura de Clave Pública
  • Las claves son un componente necesario de muchas
    operaciones criptográficas (crear y verificar
    firmas digitales, cifrar información)
  • Hay dos tipos de claves
  • Claves simétricas (claves secretas)
  • Claves asimétricas (claves públicas y claves
    privadas, par de claves)

Seguridad en Java
31
Infraestructura de Clave Pública
  • Si una persona tiene una clave pública y una
    clave privada, necesita que el resto de la gente
    tenga su clave pública
  • Si esa persona firma un documento digital (usando
    su clave privada), el receptor del documento
    necesitará su clave pública para verificar la
    firma

Seguridad en Java
32
Infraestructura de Clave Pública
  • El problema es cómo se envía la clave pública al
    receptor del documento? Si la envía por mail, la
    podrían interceptar y modificar
  • Otro problema es que la clave no proporciona
    información sobre la identidad de la persona a la
    que pertenece, es sólo una secuencia de números

Seguridad en Java
33
Infraestructura de Clave Pública Certificados
  • Certificados
  • Asocian información de la persona u organización
    a su clave pública
  • Se usan cuando se quiere enviar la clave pública
  • El receptor del certificado se puede asegurar de
    que esa clave pública corresponde a esa persona
  • Una entidad bien conocida llamada Autoridad
    Certificadora (certificate authority, CA) asegura
    que la clave pública corresponde realmente a esa
    persona

Seguridad en Java
34
Infraestructura de Clave Pública Certificados
  • Un certificado es un documento que te asegura que
    la clave pública de ese documento corresponde a
    la persona que se indica
  • Conceptualmente, un certificado podría ser
  • Que un certificado sea válido, no indica que la
    persona a la que corresponde sea de confianza

Seguridad en Java
35
Infraestructura de Clave Pública Certificados
  • Los certificados se utilizan actualmente en todas
    las comunicaciones en las que se requiera una
    comunicación segura, como mecanismo de cifrado y
    autenticación
  • Tecnologías apoyadas en certificados
  • Comunicaciones seguras con sitios web (https)
  • Comunicaciones seguras con sockets (SSL)
  • Identificación del remitente de correo
  • Cifrado y firma de documentos electrónicos
    (facturae)
  • Estándares
  • El estándar más usado es el X.509
    (http//es.wikipedia.org/wiki/X.509)

Seguridad en Java
36
Infraestructura de Clave Pública Autoridad
Certificadora (CA)
  • Cómo se comprueba la validez de un certificado
    con una Autoridad Certificadora?
  • El certificado es un documento firmado por la
    autoridad certificadora
  • La autoridad certificadora es una organización
    bien conocida
  • Fábrica Nacional de Moneda y Timbre
  • VeriSign
  • Thawte
  • La CA se encarga de comprobar la identidad real
    de la persona que tiene el certificado y lo firma
    con su clave privada como prueba de veracidad

Seguridad en Java
37
Infraestructura de Clave Pública Autoridad
Certificadora (CA)
  • Cómo sabemos que el certificado de la Autoridad
    Certificadora es el correcto?
  • Es la pescadilla que se muerde la cola
  • Este problema se solventa incluyendo un conjunto
    de certificados de las CA más conocidas en
  • Navegadores web
  • Plataforma Java
  • Aplicaciones de seguridad (p.e. OpenSSL)

38
Infraestructura de Clave Pública Autoridad
Certificadora (CA)
  • Certificados de las CAs
  • Ejemplo Firefox
  • Editar gt Preferencias gt Avanzado gt Cifrado gt Ver
    certificados

Seguridad en Java
39
Infraestructura de Clave Pública Autoridad
Certificadora (CA)
  • Autenticación de la CA
  • Ejemplo Java
  • Panel de Control gt Java gt Seguridad gt
    Certificados

Seguridad en Java
40
Infraestructura de Clave Pública Autoridad
Certificadora (CA)
  • Certificados de las CAs
  • Ejemplo Opera

Seguridad en Java
41
Infraestructura de Clave Pública Autoridad
Certificadora (CA)
  • Ejemplo
  • Verificación de la clave pública de la web de
    Caja Madrid (https//oi.cajamadrid.es/)

42
Infraestructura de Clave Pública Autoridad
Certificadora (CA)
  • Cadena de Autenticación de la CA
  • Algunas veces, el certificado de una autoridad
    certificadora no está disponible en el sistema
  • Si llega un certificado firmado por ella, no se
    podría validar
  • Hay autoridades certificadoras que generan
    certificados para autenticar los certificados de
    otras autoridades certificadoras
  • La cadena de certificación (chain) puede tener
    varios niveles

Seguridad en Java
43
Infraestructura de Clave Pública Autoridad
Certificadora (CA)
  • Cadena de Autenticación de la CA
  • Por ejemplo
  • En la plataforma tenemos la clave pública de CA
    Telefónica
  • Recibimos un documento firmado digitalmente por
    un profesor de la URJC con su certificado
  • El certificado del profesor está firmado por la
    CA URJC
  • Si podemos obtener un certificado de la CA URJC
    firmado por la CA Telefónica, podemos verificar
    la clave de la URJC y por lo tanto con esa clave
    podemos también verificar el documento del
    profesor

Seguridad en Java
44
Infraestructura de Clave Pública Autoridad
Certificadora (CA)
  • Tipos de CA
  • Organizaciones que actúan como CA para los
    miembros de la organización
  • Empresas de reconocido prestigio que actúan como
    CA para cualquier cliente (coste económico)
  • Entidades públicas que actúan como CA para los
    ciudadanos (sin coste económico)
  • Redes de confianza que actúan como CA (Al estilo
    de PGP)

45
Infraestructura de Clave Pública Autoridad
Certificadora (CA)
  • Organizaciones que actúan como CA para los
    miembros de la organización
  • Hay organizaciones que disponen de certificados y
    actúan como autoridades certificadoras para los
    certificados emitidos en esa organización
  • Universidad de Oviedo
  • http//directo.uniovi.es/documentacion/autoridad_c
    ertificadora.asp
  • UNED
  • http//www.uned.es/csi/reduned/ca/
  • Banesto
  • http//ca.banesto.es/

46
Infraestructura de Clave Pública Autoridad
Certificadora (CA)
  • Organizaciones que actúan como CA para los
    miembros de la organización
  • Necesitan instalarse en los navegadores como CA
    (ejemplo Firefox)

47
Infraestructura de Clave Pública Autoridad
Certificadora (CA)
  • Empresas de reconocido prestigio que actúan como
    CA para cualquier cliente (coste económico)
  • Los navegadores ya incluyen sus certificados

48
Infraestructura de Clave Pública Autoridad
Certificadora (CA)
49
Infraestructura de Clave Pública Autoridad
Certificadora (CA)
  • Entidades públicas que actúan como CA para los
    ciudadanos (sin coste económico)
  • En España existe el proyecto CERES de la Fábrica
    Nacional de Moneda y Timbre

http//www.cert.fnmt.es/
50
Infraestructura de Clave Pública Autoridad
Certificadora (CA)
51
Infraestructura de Clave Pública Autoridad
Certificadora (CA)
  • Redes de confianza que actúan como CA (Al estilo
    de PGP)
  • Por ejemplo Thawte dispone de certificados
    basados en redes de confianza para email
  • Comercializa otros tipos de certificados (SSL)

http//www.thawte.com/es/
52
Infraestructura de Clave Pública Autoridad
Certificadora (CA)
53
Infraestructura de Clave Pública Certificados
Autofirmados
  • Certificados autofirmados (self-signed)
  • Cuando se requiere que la información vaya
    firmada pero no se dispone de un certificado de
    una CA, se pueden generar un par de claves
    (pública y privada) y un certificado autofirmado
  • El envío de un certificado autofirmado por un
    usuario no proporciona ninguna seguridad, porque
    un atacante podría alterar la información, crear
    un nuevo par de claves y autofirmar sus
    certificados
  • Se suele usar para hacer pruebas o test cuando es
    necesario un certificado y no se dispone de uno
    firmado por una CA

Seguridad en Java
54
Infraestructura de Clave Pública Certificados
Autofirmados
  • Certificados autofirmados
  • Ejemplo, algunas aplicaciones Java Web Start se
    firman y envían el certificado autofirmado

http//www.mucommander.com/webstart/mucommander.jn
lp
55
Infraestructura de Clave Pública Certificados
Autofirmados
  • Certificados autofirmados
  • Ejemplo, al visitar una página https se utiliza
    la clave pública y su certificado para la
    autenticación

Internet Explorer 8
https//www.ladyr.es
56
Infraestructura de Clave Pública Certificados
Autofirmados
  • Certificados autofirmados

Firefox 2
Seguridad en Java
57
Infraestructura de Clave Pública Certificados
Autofirmados
  • Certificados autofirmados

Firefox 3
Seguridad en Java
58
Infraestructura de Clave Pública Certificados
Autofirmados
  • Certificados autofirmados

Firefox 2
Seguridad en Java
Write a Comment
User Comments (0)
About PowerShow.com