Mostrando entradas con la etiqueta El Club de Kotaix. Mostrar todas las entradas
Mostrando entradas con la etiqueta El Club de Kotaix. Mostrar todas las entradas

sábado, 29 de marzo de 2014

Criptografía - Public Key Infrastructure

pki


Public Key Infrastructure (Infraestructura de Clave Pública), acronimo PKI, es la forma común de referirse a un sistema complejo necesario para la gestión de certificados digitales y aplicaciones de la Firma Digital.



Criptografía Asimétrica


La base tecnológica para la Firma Digital está fundamentada principalmente en el uso de ciertos algoritmos criptográficos, con unas características que permiten obtener el nivel de  Seguridad requerido.
A diferencia de los algoritmos de cifrado simétrico, en los que la información se cifra y descifra con la misma clave, los algoritmos asimétricos basan su funcionamiento en un par de claves (matemáticas dependientes) para cada usuario, con la característica de que la información cifrada con una clave, sólo puede descifrarse con la otra del mismo par.
A cada usuario se debe asignar un par de claves, que se denominan Clave Pública y Clave Privada. Como indican sus nombres, la Clave Pública puede ser conocida por todo el mundo, mientras que la Clave Privada debe ser custodiada por el usuario y nunca hacerse pública.
Si se desea enviar información confidencial a un usuario, se le enviará la información cifrada con su clave pública, de tal forma que sólo ese usuario, que posee la Clave Privada correspondiente, podrá descifrar la información. Por otra parte, si un usuario envía información cifrada con su clave privada, al descifrarla con su clave pública (acción que puede realizar cualquiera que conozca dicha clave), puede asegurarse que ha sido ese usuario quién envió la información, ya que sólo él posee la clave privada.

Firma Digital.


Una Firma Digital tiene dos características principales:

  • Sólo puede ser generada por el poseedor de la clave privada y puede ser verificada por cualquiera que conozca la clave pública del firmante.

  • Es dependiente del documento a firmar (la Firma Digital de un documento no puede emplearse para firmar otro documento).


El proceso de generación de una Firma Digital consiste en dos pasos:

  • Empleando un algoritmo de"Hashing" se genera un resumen, de tamaño fijo, del documento.

  • Se cifra el Hashempleando la clave privada del usuario.


Definición de Firma Digital


La firma digital es una solución tecnológica que permite garantizar la autoría e integridad de los documentos digitales y la  posibilidad de demostrar estas propiedades ante terceros, permitiendo que éstos gocen de características que únicamente eran propias de los documentos en formato duro.
Deberá transmitirse o almacenarse el documento original y la firma.
Deben realizarse los siguientes pasos:

  • A partir del Documento Original, se genera de nuevo el Hash.

  • Empleando la Clave Pública del firmante, se descifra la firma digital.

  • Se comprueba si ambos "Hashes" coinciden, si es así, la firma es auténtica, si no lo es, el documento ha sido modificado y/o la firma es falsa.

  • Adicionalmente, debe comprobarse que el Certificado Digital es válido. El Certificado puede haber caducado, o puede haber sido revocado por una de las partes.


Certificados Digitales


Las técnicas anteriormente indicadas, si bien son técnicamente correctas, implican un grave problema a nivel de seguridad: ¿Cómo se puede asegurar que una clave pública pertenece a un usuario dado?. Es necesario poder vincular la clave pública de un usuario con su identidad y para esto surge el concepto de "Certificado Digital", que contiene la siguiente información:

  • Identidad del usuario (Nombre, NIF, etc...).

  • Clave Pública del usuario.

  • Periodo de Validez del Certificado.

  • Identidad de la Autoridad Certificadora (entidad que emite el certificado).

  • Firma digital del certificado (los datos anteriores más otras posibles extensiones personalizables, p.e. la dirección de correo electrónico), generada por la Autoridad Certificadora.
    Esta información se encapsula en un formato estándar, definido por la normaISO X.509 versión 3. Generalmente existirá un repositorio (p.e. directorio LDAP) en el que se publican todos los certificados gestionados por la PKI y puede ser consultado por otros usuarios de la PKI que quieran enviar información cifrada o verificar firmas digitales.


La Autoridad Certificadora


La Autoridad Certificadora, es la entidad que asegura la identidad de los usuarios de los certificados digitales. Posee su propio par de claves y firma digitalmente los certificados con su clave privada. Confiando en la Firma Digital de la Autoridad Certificadora, puede confiarse en cualquier certificado generado por la misma.
Las tareas realizadas por la Autoridad Certificadora son, entre otras, las siguientes:

  • Procesa peticiones de Certificado a través de la Autoridad de Registro. Estas solicitudes están compuestas básicamente por los datos identificativos y la clave pública del solicitante.

  • Genera los Certificados y los almacena en el repositorio público (p.e. LDAP).

  • Gestiona la caducidad y renovación de certificados.

  • Gestiona la revocación de certificados (p.e. por compromiso de la clave privada del usuario al serle sustraída su SmartCard).
    Toda la fiabilidad de la Autoridad de Certificación se basa en la inviolabilidad de su propia clave privada, la cual resulta crítico proteger empleando medios técnicos y humanos.


La Autoridad de Registro


En toda PKI deben establecerse los mecanismos para que los usuarios soliciten su propio certificado, de tal forma que se asegure la identidad de dicho usuario. A este procedimiento se le denomina "Proceso de Registro" y se realiza a través de la denominada "Autoridad de Registro".


Tipos de registros


Existen dos tipos principales de registro:

  • Registro Clásico. El solicitante acude en persona a una "Oficina de Registro", donde, tras acreditar su identidad, se le proporciona de forma segura su clave privada y su certificado.



  • Registro Remoto. El usuario, a través de Internet, realiza una solicitud de certificado. Para esto empleará un software (p.e. un navegador) que generará el par de claves y enviará su clave pública a la Autoridad de Registro para que sea firmada por la Autoridad Certificadora y le sea devuelto su certificado.
    La validez de la Firma Digital estará condicionada por la calidad del proceso de registro, siendo obligatorio para asegurar la validez legal de la firma, algún tipo de registro "Cara a Cara", ya que es el único que asegura la identidad del solicitante. Por otra parte, la validez de la firma digital también estará condicionada a la firma manuscrita de un "contrato" por el que el solicitante acepta su certificado y las condiciones de uso del mismo.
    La Autoridad de Registro se compondrá de una serie de elementos tecnológicos (hardware y software específico) y unos medios humanos (los Operadores de Registro). Es el punto de comunicación entre los usuarios de la PKI y la Autoridad certificadora.


Componenetes de una PKI


Los sistemas anteriormente descritos deben englobarse en un único sistema, al que se denomina "Infraestructura de Clave Pública" (PKI), cuyo elementos se pueden ilustrar en la siguiente figura.




Existen multitud de componentes adicionales, y cada elemento es un sistema complejo en si mismo. Los componentes básicos pueden resumirse en:




  • La Autoridad de Certificación.La pieza central del "puzzle" y la que proporciona la base de confianza en la PKI. Constituido por elementos hardware, software y, evidentemente, humanos.

  • Publicación de Certificados.El repositorio de certificados permite a los usuarios operar entre ellos (p.e. para la validación de una Firma Digital), y es un requisito legal que cuente con una total disponibilidad de acceso.

  • Soporte de la Clave Privada.La elección de un buen soporte para que los usuarios custodien su clave privada es un punto esencial y complejo en si mismo (p.e. si la clave está en una SmartCard, es necesario diseñar el Sistema de Gestión de SmartCards que permita la emisión y distribución de las tarjetas a los usuarios).

  • Aplicaciones "PKI-Enabled".Se denomina así a las aplicaciones software capaces de operar con certificados digitales. Estas aplicaciones son las que dan el valor real de la PKI de cara al usuario.

  • Políticas de Certificación.Deben diseñarse una serie de políticas, o procedimientos operativos, que rigen el funcionamiento de la PKI y establecen los compromisos entre la Autoridad Certificadora y los Usuarios Finales. Estos documentos tendrán un carácter tanto técnico como legal.
    El Proceso de Construcción de una PKI deberá siempre partir de la definición de las Políticas Operativas y contemplar como requerimiento esencial el asegurar la calidad y seguridad de las operaciones que los usuarios finales realizan con sus claves privadas (p.e. Firma Digital de Documentos).


Fuentes


http://www.pkiforum.org

http://www.pki-page.org

http://www.ietf.org/html.charters/pkix-charter.html

http://www.entrust.com/resources/pdf/

http://www.idg.es/comunicaciones/Doc-internautas/documentos/rd14-1999.asp

http://www.w3.org

jueves, 27 de marzo de 2014

Criptografía - Hashing

kotaix4


Hashing y cifrado son dos técnicas que sirven para proteger la información. El cifrado permite descifrar posteriormente el texto original y recuperarlo. El hashing resume el texto en una pequeña huella que no puede descifrarse.Estas funciones de resumen son algoritmos que consiguen crear a partir de una entrada (ya sea un texto, una contraseña o un archivo, por ejemplo) una salida alfanumérica de longitud normalmente fija que representa un resumen de toda la información que se le ha dado (es decir, a partir de los datos de la entrada crea una cadena que solo puede volverse a crear con esos mismos datos).


Características de los hash

En definitiva las funciones hash se encargan de representar de forma compacta un archivo o conjunto de datos que normalmente es de mayor tamaño que el hash independientemente del propósito de su uso.

Este sistema de criptografía usa algoritmos que aseguran que con la respuesta (o hash) nunca se podrá saber cuales han sido los datos insertados, lo que indica que es una función unidireccional. Sabiendo que se puede generar cualquier resumen a partir de cualquier dato nos podemos preguntar si se podrían repetir estos resúmenes (hash) y la respuesta es que teóricamente si, podría haber colisiones, ya que no es fácil tener una función hash perfecta (que consiga que no se repita la respuesta), pero esto no supone un problema, ya que si se consiguieran (con un buen algoritmo) dos hash iguales los contenidos serían totalmente distintos.

Ejemplos y formas de uso


Las funciones hash son muy usadas, una de las utilidades que tiene es proteger la confidencialidad de una contraseña, ya que podría estar en texto plano y ser accesible por cualquiera y aún así no poder ser capaces de deducirla. En este caso, para saber si una contraseña que está guardada, por ejemplo, en una base de datos es igual a la que hemos introducido no se descifra el hash (ya que debería de ser imposible hacerlo) sino que se aplicará la misma función de resumen a la contraseña que especificamos y se comparará el resultado con el que tenemos guardado (como se hace con las contraseñas de los sistemas Linux).

Un ejemplo de esto es generar claves con hash en SHA1, por ejemplo, tenemos una contraseña sin protección:
MiPasswordesUnicornioRosa

Aplicando SHA1 quedaría
45f48feda40b153f2d4f5f0e6a9004d86f07a2b5

 

miércoles, 26 de marzo de 2014

Criptografía - Integridad

INTEGRIDAD
El termino "integridad" es un aspecto fundamental en la Seguridad Informática y aunque su uso no es exclusivo para la criptografía es fundamental conocer su significado para así comprender de mejor manera el cifrado de información.


La Integridad es la propiedad que busca mantener los datos libres de modificaciones no autorizadas. La violación de la Integridad se presenta cuando una persona, programa o proceso por accidente o de forma intencionada, cambia o elimina datos importantes que son parte de la información, así mismo hace que su contenido permanezca inalterado a menos que sea modificado por el personal autorizado; y esta modificación será registrada, asegurando su precisión y confiabilidad.


Por tal motivo, la Integridad permite asegurar que la información no sea falseada, es decir, que los datos recibidos o recuperados sean exactamente los que fueron enviados o almacenados, sin que se haya producido ninguna modificación.

lunes, 24 de marzo de 2014

Criptografía - Confidencialidad y Cifrado

kotaix2

Confidencialidad:
La confidencialidad es uno de los grandes conceptos de la seguridad informática y se entiende como la acción de protección de datos e información entre un emisor a uno o varios receptores frente a terceros, logrando así la no divulgación de información de manera no autorizada. La confidencialidad es independiente de la seguridad del sistema de comunicación utilizado, sobre todo en vías inseguras como Internet.


En el ámbito criptográfico el objetivo de esta misma es mantener la confidencialidad de la información garantizando así el acceso únicamente a las personas autorizadas a acceder a dicha información. Para llevar a la practica la confidencialidad es necesario abarcar el tema de cifrado.


Cifrado:
El cifrado de información es convertir los datos en un formato no legible a un tercero el cual no conozca el algoritmo de cifrado o la llave secreta.


El algoritmo es una función matemática que se encarga de la encriptación y desencriptación. Un algoritmo criptográfico trabaja en combinación con una llave secreta para encriptar y desencriptar datos. Para encriptar, el algoritmo combina matemáticamente la información a proteger con una llave provista. El resultado de este cálculo son los datos encriptados. Para desencriptar, el algoritmo hace un cálculo combinando los datos encriptados con una llave provista, siendo el resultado de esta combinación los datos desencriptados (exactamente igual a como estaban antes de ser encriptados si se usó la misma llave). Si la llave o los datos son modificados el algoritmo produce un resultado diferente. El objetivo de un algoritmo criptográfico es hacer tan difícil como sea posible desencriptar los datos sin utilizar la llave. Si se usa un algoritmo de encriptación realmente bueno, entonces no hay ninguna técnica significativamente mejor que intentar metódicamente con cada llave posible. Incluso para una llave de sólo 40 bits, esto significa 2ˆ40 (poco más de 1 trillón) de llaves posibles.


 

domingo, 23 de marzo de 2014

Criptografía – Introducción [2]

Copia_de_ESPARTANOS_2010_LOGO


La criptografía nace de la necesidad de cifrar la información para mantener la privacidad de este mismo. Adentrándonos un poco en la historia encontramos la escítala espartana, método utilizado en el siglo V antes de cristo. Los griegos no se quedaron atrás e inventaron el cifrado Polybios, seguidos de los romanos con el cifrado del César. Ya más contemporáneo se encuentra la maquina Enigma que fue utilizada en la segunda guerra mundial para el cifrado.


La Escítala Espartana:

escitalaEste método consistía en cifrar el mensaje cambiando el orden de las letras. Se utilizaba una vara llama escítala donde se enrollaba un pergamino o cuero escrito de forma longitudinal. Al desenrollar la cinta se apreciaba un montón de letras sin sentido, quien un mensajero llevaba a trote hasta su destino. Para leer el mensaje se necesitaba de una vara con el mismo diámetro que la original, este diámetro pasaría a ser la clave para desencriptar el mensaje.

 

Polybios:

Su invención se atribuye al historiador griego Polybios  y el método consiste en realizar el cifrado por sustitución de caracteres utilizando una tabla.

polybios1

 

Por ejemplo si deseamos cifrar la palabra "unicornio" este quedaría así: DECCBDACCDDBCCBDCD

Cifrado del César:

Este método utilizado por los Romanos es el mas sencillo de todos y consiste en desplazarse tres espacios en el alfabeto para reemplazar el carácter

320px-Caesar3.svg

 

Tomando el ejemplo anterior de la palabra "unicornio" este quedaría de la siguiente manera: xqlfruqlr

sábado, 22 de marzo de 2014

Criptografía - Introducción [1]

cripto6

Aquí comienza un pequeño curso introductorio a la criptografía informática para todos aquellos que estén interesados en aprender los conceptos y técnicas utilizadas en esta área. Los aspectos fundamentales que veremos serán los siguientes:

  • Confidencialidad

  • Cifrados

  • Integridad

  • Hashing

  • Public Key Infrastructure

  • Digital Certificate

  • Herramientas y Técnicas


Antes de entrar en materia criptografía debemos conocer el significado de la palabra y en que consiste.

Introducción:

La criptografía es tan antigua como la escritura misma, el termino proviene del griego cuyo significado etimológico es "escritura oculta. La criptografía la podríamos considerar un arte que reúne una serie de técnicas para cifrar mensajes. Ya desde la antigüedad los humanos han estado utilizando estos métodos para cifrar y ocultar sus mensajes, con la finalidad de que ojos curiosos o indeseables no pudieran entender su contenido. Sin ir mas lejos, podríamos referirnos que en tiempos de crisis como las guerras, era necesario establecer una vía de comunicación segura entre tropas o aliados, siendo conscientes y considerando el hecho de que el mensaje podría ser interceptado por el enemigo, los mensajes eran cifrados y solo podrían ser leído por los aliados, quienes en posesión de una llave, podrían desencriptar dicha información, así el enemigo aunque tuviese en poder dicho mensaje, no podría interpretarlo de forma alguna, puesto que no sabría el método o la clave para hacer legible la información. Sin embargo los tiempos avanzan y los métodos también, ahora se utiliza la informática para llevar a cabo el cifrado de información para hacer mas seguro el envío y recepción de datos a través de Internet y salvaguardar la integridad de nuestros datos de delincuentes que están al acecho.  Por ese motivo, este curso se centra en la criptografía informática, abarcando los distintos conceptos y técnicas utilizadas en este ámbito.


 

emerge © , All Rights Reserved. BLOG DESIGN BY Sadaf F K.