viernes, 11 de abril de 2014

Heartbeat


Dominio que proporciona servicios de infraestructura de clúster (comunicación y pertenencia) a sus clientes.

Esto permite a los clientes tener conocimiento de la presencia (o desaparición) de los procesos en otras máquinas e intercambiar fácilmente mensajes entre ellos.

Para resultar útil a los usuarios el dominio HEARTBEAT necesita emplearse en combinación con un gestor de recursos del clúster (clúster resource manager (CRM)) el cual posee la tarea de iniciar y parar los servicios (Direcciones IP, servidores web…) a los cuales el clúster aportará ata disponibilidad. Pacemaker es el gestor de recursos de clúster preferido para los clúster basados en Heartbeat.

Dentro de las vulnerabilidades de este dominio:
  • Una función encargada de gestionar los menajes heartbeat. Estos mensajes son los denominados keep-alive; que se utilizan para informar al servidor de que seguimos ‘vivos’ para que no cierre sesión.
  • OpenSSL sufre una grave vulnerabilidad cuya explotación permite revelar contenidos de memoria de aplicaciones que hagan uso de OpenSSL. Bugs en OpenSSL. OpenSSL es una de las bibliotecas de criptografía más usadas en los servidores web (alrededor de un 17% de los servidores web que ofrecen conexiones seguras con SSL se apoyaban en este componente y presentaban esta vulnerabilidad); por tanto, que aparezca una vulnerabilidad es algo para tomarse muy en serio. Catalogada con el código CVE-2014-0160, esta vulnerabilidad ha sido descubierta por expertos de Google y la compañía de seguridad Codenomicon y ha sido "bautizada" bajo el apelativo de Hearthbleed al estar vinculada a la funcionalidad heartbeat de OpenSSL.


Para entender mejor la gravedad de esta vulnerabilidad, creo que es importante que entendamos cuál es el bug que se ha encontrado. Hay que partir de la base que el protocolo SSL/TLS es complejo y se basa en la criptografía asimétrica, es decir, en una clave pública y una clave privada que reside en el servidor que ejerce de prestatario de los servicios que estamos utilizando.

La clave privada, como su nombre indica, no se comparte con nadie y es la base sobre la se apoya el cifrado de las comunicaciones; sin embargo, la funcionalidad heartbeat que implementaba OpenSSL presenta un fallo en el que responde con un dato que revela porciones de la memoria interna utilizada por este proceso.Dicho de otra forma, OpenSSL estaba revelando datos de la memoria del servidor en el que se estaba ejecutando y, claro está, entre los datos que están en su memoria se encuentra la clave privada (necesaria para realizar los cálculos de cifrado y descifrado de mensajes). Con este escenario, sin el que el administrador del sistema sea consciente, la clave privada podría haber quedado expuesta a un tercero que hubiese explotado esta vulnerabilidad, desmontando la seguridad de este tipo de comunicaciones.

Muchas veces se usa software especial para identificar si un servidor es vulnerable, así abriendo una página web, este analiza si el sitio web es vulnerable o no, además de mostrar ciertas estadísticas o casi acercándose a mostrar cual es el punto vulnerable del servidor.

Una solución probable para evitar este tipo de ataques y/o vulnerabilidades, es actualizando la aplicación que nos esté brindando la seguridad de nuestro servidor o sitio web.


Realmente nada puede hacer un usuario común, el trabajo recae sobre los administradores de los servidores, que trabajaran a marchas forzadas para solucionar el problema lo antes posible y rezar para que nadie conozca el fallo antes de ser reportado.

Referencias


miércoles, 9 de abril de 2014

Ataque al Sistema Criptográfico RSA (Rivest, Shamir, Adelman)

Hoy en día todavía se ignora si el problema de descomponer a un entero en sus factores primos tiene complejidad subexponencial o polinomial (usando computadoras “normales”, dejaremos las cuánticas para otro momento).

El descifrado completo de un texto cifrado con RSA es computacionalmente intratable, no se ha encontrado un algoritmo eficiente todavía para ambos problemas (Factorizar números grandes y el problema RSA). Proveyendo la seguridad contra el descifrado parcial podría requerir la adición de una seguridad padding scheme.

La historia ha comprobado, una y otra vez, que el tiempo necesario para descifrar un mensaje es generalmente menor que el que se presupone según la teoría. Eso se debe a tres factores fundamentales:
  • Creciente capacidad de cómputo de los computadores modernos.
  • Alo largo de los años se han descubiertos algorítmicos cada vez más eficaces para la resolución de problemas matemáticos; lo que afecta muy especialmente a los algoritmos de clave asimétrica. Destacados son los avances en la factorización de números primos. Por ejemplo, en 1994 se consiguió factorizar un número de 129 dígitos mediante la llamada Criba Cuadrática Polinómica; cinco años más tarde, merced al nuevo sistema Special Number Field Sieve (Criba de Campo Numérico Especial), se factorizó un número de140 dígitos, con menos de la mitad de la potencia de cálculo.
  •  Cualquier sistema de cifrado de datos tien puntos débiles, y los modernos (RSA, Diffie-Hellman, PGP, criptografía de curva elíptica) no escapan a esta regla. Casi todos os códigos actuales requieren cadenas de dígitos elegidos aleatoriamente, para lo que se utilizan generadores de números aleatorios a pseudoaleatorios. Pero si dichos números no son realmente aleatorios, las claves así generadas son vulnerables.

En tal sentido, incluso un protocolo criptográfico bien implementado puede contener imperfecciones que permitan un ataque más eficiente que el de “fuerza bruta”. Más aún, puede afirmarse rotundamente que el ingenio humano es incapaz de preparar una clave que el mismo ingenio humano no pueda resolver.

A pesar de que no existe sistema criptográfico inviolable, en la actualidad hay una creciente demanda de mejores implementaciones de encriptamiento y de versiones más robustas de las técnicas y estándares de criptografía. Esto se debe a que cada día son mayores las tareas importantes que se llevan a cabo a través de las redes mundiales: Internet, redes telefónicas, etc. Este incremento promueve el auge de ciertas actividades como el comercio electrónico (e-commerce) pero a su vez expone los datos y las comunicaciones a constantes intercepciones de los llamados “hackers”.

Las redes mundiales manejas grandes volúmenes de datos confidenciales: información de tarjetas de crédito, transacciones bancarias, información corporativa y/o gubernamental, etc. y los hackers son cada vez más hábiles en el proceso de violación de técnicas criptográficas.

Referencias


Sistema Criptográfico RSA (Rivest, Shamir, Adelman)

Algoritmo que se desarrolló en 1977 en el MIT (Instituto Tecnológico de Massachusetts) por Ronald Rivest, Adi Shamir y Leonard Adelman. Registrado el 20 de septiembre de 1983, tras expirar su patente RSA, pasa a ser un algoritmo de dominio público.

Es un algoritmo asimétrico cifrador de bloques, que utiliza una clave pública (la cual se distribuye en forma autentica) y otra privada, la cual es guardada en secreto por su propietario. Es el primer y más utilizado algoritmo de este tipo. Utiliza factorización de números enteros, además de dos números primos grandes elegidos al azar, que oscilan en un orden entre 100 y 200.

Las etapas que engloba este algoritmo son las siguientes:







                                                                                                             
Su implementación de este sistema criptográfico de da en:

  • Se usó para proteger los códigos de las armas nucleares de Estados Unidos y Rusia.
  • Intercambio de claves.
  •  Generación de tokens.
  • Firma digital.
La seguridad de RSA:

  • Depende del tamaño de n.
  • Cuanto mayor sea el tamaño del módulo mejor será la seguridad del criptosistema y mucho más difícil será factorizar cantidades que son producto de dos números primos argos, mediante algún algoritmo.
  • El tamaño de n influye negativamente en la velocidad de las operaciones del RSA.

viernes, 14 de marzo de 2014

Máquina Enigma

Máquina Enigma



El interés de la criptografía comenzó en Alemania durante la Primera Guerra Mundial pero se detuvo en 1918 después del Armisticio. Pero al renacer el militarismo en Europa, el interés se reavivó y en Alemania se usaron los trabajos del Ingeniero Arthur Scherbius, que había construido una máquina encriptadora a rotor que llamó Enigma, inspirándose en la máquina inventada por el Holandés Hugo Koch.

Enigma era el nombre de una máquina que disponía de un mecanismo de cifrado rotativo, que permitía usarla tanto para cifrar, como para descifrar mensajes. Dentro del gran campo de la criptografía Enigma marca el punto de inflexión entre la criptografía clásica y la moderna, entre la de antes y la de después de la existencia del ordenador. Este es el método de cifrado que pudo hacerse con una máquina que utilizaba la corriente eléctrica pero con principios de funcionamiento mecánicos.

La máquina enigma era un Dispositivo Electromecánico, es decir, tenía una parte eléctrica y otra mecánica. El mecanismo consistía en una serie de teclas (las letras de alfabeto), al igual  que una máquina de escribir, que en realidad eran interruptores que accionaban los dispositivos eléctricos y hacían mover unos cilindros rotatorios, y un tablero luminoso de 26 letras, los tres rotores o modificadores, que podían permutar sus posiciones, montados sobre sendos ejes, con 26 posiciones posibles (una por cada letra del alfabeto), y un clavijero, cuyo cometido era llevar a cabo un primer intercambio de letras en función del modo en que se dispusieran las clavijas.

Funcionamiento:

El proceso físico de cifrado era relativamente sencillo. En primer lugar, el emisor disponía las clavijas y los rotores en una posición de salida especificada por el libro de claves que estuviera vigente en ese momento. A continuación, tecleaba la primera letra del mensaje llano y la máquina, de forma automática, generaba una letra alternativa que se mostraba en el tablero luminoso: la primera letra del mensaje cifrado.

Una vez completado este proceso, el primer rotor llevaba a cabo una rotación que lo situaba en la siguiente de sus 26 posiciones posibles (un modificador era capaz de llevar a cabo 26 cifrados posibles distintos) y como contaba con tres rotores conectados de forma mecánica uno con otro, y el total de rotaciones que se hacía era de 26*26*26=17576). La nueva posición del modificador traía consigo un nuevo cifrado de los caracteres y el emisor introducía entonces la segunda letra, y así sucesivamente. En adición a los tres rotores, Enigma disponía también de un clavijero situado entre el primero de ellos y el teclado. Este clavijero permitía intercambiar entre sí pares de letras antes de su conexión con el rotor, y añadía de este modo un número considerable de claves adicionales al cifrado. El diseño estándar de la maquina Enigma poseía seis cables, con los que se podían intercambiar hasta seis pares de letras.

Para decodificar el mensaje, bastaba con introducir los caracteres cifrados en otra máquina Enigma con la condición de que los parámetros de salida de esta última fueran iguales a los de la máquina con la que se había llevado a cabo la encriptación.

Referencias



miércoles, 26 de febrero de 2014

Factura Electrónica en México y La Firma Electrónica

La factura Electrónica en México es la representación de un tipo de comprobante fiscal, que está apegada a los estándares definidos por el Servicio de Administración Tributaria (SAT). Es un documento electrónico que cumple con los requisitos legal y reglamentariamente exigibles a las facturas tradicionales garantizando, entre otras cosas, la autenticidad de su origen y la integridad de su contenido.

La factura electrónica es el remplazo de las facturas tradicionales. Es más funcional y legalmente equivalente a estas últimas, pero a diferencia de las otras y por su propia naturaleza, las facturas electrónicas pueden almacenarse, gestionarse e intercambiarse por medios electrónicos o digitales, y esto hace que la información sea más accesible, segura y flexible.

Según documentos oficiales (La Segunda Resolución de modificaciones a la Resolución Miscelánea Fiscal para 2013 y su anexo 3) establecen que los contribuyentes con ingresos de hasta doscientos cincuenta mil pesos anuales deberán facturar electrónicamente.

Para la factura electrónica tenga validez debe estar completada con la firma electrónica, que le da validez legal permitiendo eliminar la factura en papel.

La firma digital da como caracterización la información firmada digitalmente, esta es equiparable a los documentos impresos con firma autógrafa, teniendo igual valor aprobatorio, y en consecuencia, produce los mismos efectos que las leyes otorgan a estos documentos.

Con el fin de regular la firma digital que, a través de medios de comunicación electrónica, utilicen los servidores públicos y los particulares, en las comunicaciones, trámites, prestación de servicios, actos y procedimientos administrativos, resulta lo que es la Firma Electrónica Avanzada (FIEL).

Que en su conjunto la FIEL es un conjunto de datos que se adjuntan a un mensaje electrónico, cuyo propósito es identificar al emisor del mensaje como su autor legítimo, como si se tratara de una firma autógrafa. También hace referencia a un medio electrónico con el que el contribuyente puede llevar a cabo transacciones fiscales electrónicas y das su autorización para ejecutarlas a través de esta herramienta, es decir, es un medio de autorización electrónica. Dentro de sus funciones de la FIEL están:

à Declaraciones patrimoniales                                      à Emisión de documentos oficiales
à Solicitudes de acceso a la información pública                            
à Emisión de dictámenes                                               à Control y gestión de documentos

Todos aquellos contribuyentes (personas físicas y morales) están obligados a tramitarla.

Referencias