lunes, 23 de noviembre de 2015

Algoritmo HMAC

Una MAC (Message Authentication Code) es el nombre genérico del mecanismo para proveer integridad y autenticidad en el intercambio de información, combinando funciones hash (generalmente criptográficas) y claves secretas simétricas.
Se diferencian de las funciones hash criptográficos en que no sólo ofrecen integridad, sino también autenticidad al combinarse con una clave secreta, proporcionan autenticidad.
La MAC típica de un mensaje se calcularía como:
·         K es la clave secreta
·         m el mensaje
·         h() una función de hash criptográfica

                                                         MACk=h ( K + m )

Los funciones hash son algoritmos que consiguen crear a partir de una entrada (ya sea un texto, una contraseña o un archivo) una salida alfanumérica de longitud normalmente fija que representa un resumen de toda la información, las propiedas de las funciones hash son:

  1. Unidireccionalidad: Conocido un resumen h(M), debe ser computacionalmente imposible encontrar M a partir de dicho resumen.
  2. Compresión: A partir de un mensaje de cualquier longitud, el resumen h(M) debe tener una longitud fija. Lo normal es que la longitud de h(M) sea menor.
  3. Facilidad de cálculo: Debe ser fácil calcular h(M) a partir de un mensaje M.
  4. Difusión: El resumen h(M) debe ser una función compleja de todos los bits del mensaje M. Si se modifica un bit del mensaje M, el hash h(M) debería cambiar aproximadamente la mitad de sus bits.

HMAC(HASHED MESSAGE AUTHENTICATION CODE)

La RFC 2104 propuso el uso de una autenticación en entornos seguros como SSL(Secure Sockets Layer) mediante una operación MAC en la que intervenga una función hash: su nombre es HMAC. Con lo cual pretendían:

       Usar, sin modificaciones, las funciones hash disponibles, concretamente las funciones hash que se ejecutan bien en software, y para las cuales el código es gratis y fácil de conseguir.

Permitir la sustitución fácil de la función hash empotrada en caso de que se encuentren o se necesiten funciones hash más rápidas o seguras.

Los objetivos del algoritmo HMAC:
·         Proporcionar autenticidad e integridad de la informacion
·         Utilizar técnicas de hash existentes
·         Preservar el rendimiento del hash utilizado, sin añadir excesivo carga excesiva de procesamiento.
·         Permitir reemplazar fácilmente el algoritmo hash usado

HMAC es el mecanismo de autenticación de mensajes (proteger la integridad de la información). HMAC utiliza la función de hash y clave secreta para su implementación. Por lo tanto, ofrece menos vulnerabilidad que solo encriptación o hash.

Componentes de HMAC
·         M = mensaje de entrada incluyendo el relleno(512 bits).
·         H = alguna función hash como MD5 (128 bits) o SHA-1 (160 bits).
·         Yi= bloque iésimo de M.
·         L = número de bloques en M.
·         b = número de bits en cada bloque (512 bits).
·         n = longitud del resumen del hash ocupado en el sistema (128 / 160 bits).
·         K = clave secreta (160 bits) aunque se recomienda sea mayor que n. Si la clave K es  mayor que b, esta clave se hace pasar antes por la función hash para reducirla a una  clave de n bits.
·         K+= clave K con ceros añadidos a la izquierda para alcanzar b bits.
·         ipad= 00110110 (36 en hexadecimal) octeto repetido b/8 (64) veces.
·         opad= 01011010 (5C en hexadecimal)octeto repetido b/8 (64) veces.

Estructura del algoritmo HMAC


El resultado de este último hash es el HMAC del mensaje M con la clave K, es decir HMAC K(M).

Aunque la seguridad de HMAC está directamente relacionado con el hash utilizado, el modelo presentado no es seguro. Hay otras configuraciones más desarrolladas que mejoran esta característica.


Referencias
https://networksafe.files.wordpress.com/2012/03/presentacion-hmac2.pdf
http://xo-seguridadredes.blogspot.mx/2013/04/hmac.html




viernes, 23 de octubre de 2015

Push Email

Push email es un método de tener correo electrónico recibido para un usuario en un servidor reenviado automáticamente a un dispositivo móvil. Esto funciona al mantener una conexión activa abierta entre el dispositivo móvil y el servidor para que el servidor puede notificar inmediatamente el dispositivo móvil al correo electrónico nuevo ha llegado.En un escenario típico no empuje (pull), el dispositivo móvil podría sondear el servidor en algún intervalo de tiempo especificado por el usuario (por ejemplo, cada hora) y pedir al servidor si cualquier nuevo correo electrónico ha llegado. Si el nuevo correo electrónico llega ni un segundo después de que el servidor se realiza un sondeo, se sentará allí esperando hasta la próxima vez que los controles de dispositivos móviles para el correo. Tecnología de empuje también se utiliza a menudo para los datos no correo electrónico, como contactos y citas del calendario, etc.



Email push es el correo electrónico que se recibe una sola vez, ya sea en un servidor o en un escritorio, y luego enviada a un ordenador portátil, PDA o cualquier otro dispositivo portátil.


Para algunas personas, y en algunas profesiones la diferencia entre atracción y empuje puede ser crucial: los mensajes tienen que ser recibido como instantáneamente como sea posible. Para muchas personas, sin embargo, vale la pena considerar las desventajas de push email y tomar una decisión considerada entre push email y tire de correo electrónico.


Por un lado, las desventajas pueden surgir de los sistemas de inserción que están realmente tiran de los sistemas en el encubrimiento. Esto sucede porque en estos servicios, en lugar de simplemente empujando el correo electrónico, el servidor envía mensajes de texto a decir la PDA, teléfono inteligente o computadora portátil para tirar de correo desde el servidor y los textos pueden ser incluidos en el recuento de mensajes de texto. Esto puede sumar. Esto es dependiente en el cliente de correo electrónico, el servidor de correo electrónico, y el dispositivo particular que se utilice.


Referencias
http://www.wisegeek.com/what-are-the-disadvantages-of-push-email.htm
http://www.mobileburn.com/definition.jsp?term=push+email

lunes, 19 de octubre de 2015

Criptografía cuántica

La criptografía clásica tiene como tarea utilizar un algoritmo de cifrado de información para que con todo el poder de cómputo que se utiliza actualmente sea imposible poder descifrar la información que fue cifrado por un algoritmo de cifrado, en la criptografía clásica su principal principio es que un algoritmo es seguro mientras no se tengan referencias de ataques exitosos para obtener la información encriptada.


La criptografía cuántica se refiere al uso de computadores cuánticos, estos son dispositivos informático que hace uso directo del fenómeno de la mecánica cuántica, como la superposición y el entrelazamiento cuántico, para realizar operaciones sobre datos, a diferencia de los computadores normales que hoy en día conocemos que trabajan con bits, y estos bits pueden obtener un valor de 0 o 1, los computadores cuánticos usan qubits, un qubits comparte características similares a las de un bit al igual que este puede tomar un valor de 0 o 1 pero además puede obtener otro valor, sin embargo los computadores cuánticos hoy en día no se han podido construir pero los estudios realizados por las diferentes partes interesadas en este ramo, han concluido que si se logra construir un ordenador cuántico sería una maquina computacional con gran poder ya que los algoritmos criptográficos que actualmente existen serian corrompidos de manera relativamente fácil. Sin embargo así como esos ordenadores serian capaz de descifrar los algoritmos de cifrado que actualmente existen también serían capaces de poder crear nuevos algoritmos de cifrado mucho más poderosos que los algoritmos más seguros que existen hasta ahora para la protección de la información.

El obstáculo principal para la construcción de una computadora cuántica es la fragilidad de los estados superpuestos de los qubits con el mundo exterior debe disminuirse al nivel más bajo posible para evitar la decoherencia de los estados superpuestos. Las influencias no controlables destruirían por completo la delicada superposición y el “enredamiento” de los qubits, propiedades que son la base de todos los algoritmos computacionales cuánticos.


REFERENCIAS:

martes, 22 de septiembre de 2015

Maquina Enigma

 La necesidad de comunicaciones seguras tanto para el ejército como el uso civil se hizo evidente, la búsqueda para reemplazar comenzó las cifras de mano poco prácticas y que consumen mucho tiempo. 

La máquina Enigma  fue inventada por un ingeniero alemán Arthur Scherbius, un experto en electromecánica que tras la primera guerra mundial quiso aplicar la tecnología existente para mejorar los sistemas de cartografía de los ejercicios. Su idea consistía en aplicar el cifrado de Vigenere que consistía en aplicar un algoritmo de sustitución de unas letras por otras.


La máquina Enigma consistía de un teclado conectado a una unidad de codificación. La unidad de codificación contenía tres rotores separados cuyas posiciones determinaban como sería codificada cada letra del teclado. Lo que hacía que el código Enigma fuera tan difícil de romper era la enorme cantidad de maneras en que la máquina se podía configurar. Primero, los tres rotores de la máquina se podían escoger de un grupo de cinco letras, y podían ser cambiados e intercambiados para confundir a los descifradores. Segundo, cada rotor podía ser ubicado en una de veintiséis diferentes letras. El mecanismo consistía en una serie de teclas, con las letras del 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. El funcionamiento, cara al usuario, era bastante sencillo. El operador tenía que teclear las letras de su mensaje y anotar las letras que devolvía la máquina (a través de un alfabeto que se iba iluminando). 


El código a usar se fijaba con las posiciones de los cilindros que constaban, cada uno, de 26 cables que se conectaban al teclado pero, con la particularidad, que el primer cilindro giraba un veintiseisavo de vuelta después de cada pulsación, de tal manera que la posición de las conexiones iba cambiando con cada entrada del teclado, obteniendo un cifrado polialfabético. Además, para dar mayor robustez, el segundo cilindro sólo daba un giro cuando el primero había completado 26 giros y el tercero cuando el segundo había dado sus correspondientes 26 y añadió la posibilidad de que los rodillos pudiesen ser intercambiados de posición, de manera que el número de posibilidades aumentase hasta tener 105.456 alfabetos.


La cartografía es una batalla intelectual entre el diseñador del código y el descifrador. El reto trata el diseñador del código es mezclar y enredar un mensaje de salida hasta el punto en que no pueda ser descifrado en caso de que el enemigo lo intercepte. Sin embargo, la cantidad de manipulación matemática posible se ve limitada por la necesidad de despachar los mensajes de manera rápida y eficiente. La fortaleza del código Enigma alemán era que el mensaje cifrado era sometido a varios niveles de codificación a una velocidad muy alta. El reto para el descifrador era tornar un mensaje interceptado y romper el código antes de que el contenido del mensaje dejara de ser relevante. Un mensaje alemán que daba la orden de destruir un barco británico tenía que ser descifrado antes de que el barco fuera hundido.


Referencias
http://hipertextual.com/2011/07/la-maquina-enigma-el-sistema-de-cifrado-que-puso-en-jaque-a-europa
http://www.exordio.com/1939-1945/militaris/espionaje/enigma.html
http://users.telenet.be/d.rijmenants/en/enigma.htm
http://historiaybiografias.com/maquina_enigma/

viernes, 18 de septiembre de 2015

Spanning Tree Protocol & Broadcast Storm Control

Spanning Tree Protocol

Spanning Tree Protocol (STP) es un protocolo de red de nivel 2 del modelo OSI (capa de enlace de datos). Su función es la de gestionar la presencia de bucles en topologías de red debido a la existencia de enlaces redundantes (necesarios en muchos casos para garantizar la disponibilidad de las conexiones). El protocolo permite a los dispositivos de interconexión activar o desactivar automáticamente los enlaces de conexión, de forma que se garantice la eliminación de bucles. STP evita que se formen bucles cuando los interruptores o puentes están interconectados a través de varias rutas.

STP  fue desarrollado antes de los interruptores se crearon con el fin de hacer frente a un problema que ocurrió con las redes que fueron implementando puentes de red. STP tiene dos propósitos: Primero, evita los problemas causados ​​por bucles en una red. En segundo lugar, cuando se planifican circuitos redundantes en una red, STP se ocupa de la rehabilitación de cambios en la red o fallos.

El objetivo del protocolo es mantener una red libre de bucles. Un camino libre de bucles se consigue cuando un dispositivo es capaz de reconocer un bucle en la topología y bloquear uno o más puertos redundantes. El protocolo explora constantemente la red, de forma que cualquier fallo o adición en un enlace es detectado al instante. Cuando cambia la topología de red, el algoritmo reconfigura los puertos del switch para evitar una pérdida total de la conectividad. El protocolo STP es muy útil para evitar colisiones y que un paquete ande circulando por toda la red, tambien permite identificar y bloquear los puertos que sean redundantes.

Broadcast Storm Control

El broadcast es un paquete de datos que se envían a todos los nodos de una red. El protocolo broadcast storm control se refiere al proceso que se lleva a cabo en él envió de paquetes dentro de una red, esta a su vez va a generar trafico excesivo debido a los paquetes de datos que circulan dentro de ella y por consecuencia esto genera un mal funcionamiento de la red.

Una tormenta de broadcast (broadcast storm control), se produce cuando se recibe una gran cantidad de una gran cantidad de paquetes datos se envían al mismo tiempo saturando la red y por lo tanto esta se vea afectada asiendo más lenta.

La tormenta de paquetes se da cuando un puerto recibe gran número de paquetes broadcast, unicast o multicast. El Storm Control lleva un monitoreo del tráfico de los paquetes de la red por medio de intervalos de tiempo, esto es para que si el tráfico de datos excede el strom retenga el flujo de datos hasta que el tráfico se restablesca y se puedan restaurar el reenvió de los datos de forma fluida y puedan llegar a su destino.

La principal ventaja de este protocolo es que ayuda a mejorar el rendimiento de la red en situaciones en las tramas de difusión están consumiendo una porción significativa del ancho de banda de la red, a un grado en el que el ancho de banda restante es insuficiente para realizar eficientemente las tramas unicast y multicast.

Referencias
http://www.cisco.com/c/en/us/tech/lan-switching/spanning-tree-protocol/index.html
http://aprenderedes.com/2006/11/protocolo-de-arbol-de-extensionstp/
http://gustavooocanauaemex.blogspot.mx/2015/03/protocolos-broadcast-storm-control.html

viernes, 11 de septiembre de 2015

BYOD

BYOD(Bring Your Own Device) traducido al español como, traiga su propio dispositivo, BYOD es una política empresarial que consiste en que cada uno de los empleados que laboran en ella puedan llevar sus dispositivos móviles (smartphones, tabletas, computados portátiles), esta fue una tendencia que comenzó en los últimos años por el incremento de la tecnología principalmente en los dispositivos móviles que en conjunto con los diferentes servicios que se ofrecen en Internet como el almacenamiento en la nube, correos electrónicos, redes sociales, entre otras actividades que solo se usaban en un ámbito social pero poco a poco se empezó a formar una tendencia un poco mas profesional donde los servicios y aplicaciones se usaban para manejar información del lugar u organización donde laboraban, por ejemplo en la nube se podría almacenar y compartir carpetas de trabajo ayudándose de plataformas como Dropbox, en las redes sociales de de igual manera se empezaban a crear conversaciones de grupos de trabajo para poder intercambiar información. Entonces se creo BYOD una política que permite a los empleados llevar sus dispositivos móviles y poder usarlos en sus lugares de trabajo.


BYOD es una tendencia cada vez mas generalizada donde las empresas les permiten a sus empleados llevar sus dispositivos portátiles para realizar actividades que se relacionan con su trabajo, pero todo tiene riesgos, cuando una organización decide implementar BYOD debe tener en cuenta los siguientes factores:

  • Experiencia de usuario y lealtad  
  • Aumento de la productividad 
  • Ahorro de costes
  • La red como activo de las TIC inteligentes 

Con la implementación de BYOD se busca tener las siguientes ventajas:

  • Incrementar la productividad de los empleados, debido a que se sienten mas cómodos trabajando con sus propios dispositivos.
  • Incrementar la satisfacción del trabajo, permitiendo a los empleados estar mejor satisfechos con su trabajo.
  • Permitir a los empleados tener una mejor flexibilidad eligiendo el momento y el lugar para realizar sus tareas, dado que el empleado regularmente lleva con el sus dispositivos móviles le permitirá realizar sus tareas en el momento que el desee.

El principal inconveniente o desventajas que se tiene con la implementación de BYOD son:

  • El riesgo de la seguridad de la organización, ya que los dispositivos de los empleados pueden ser mas vulnerables a que puedan ser infectados por algún tipo de malware y tenga perdida de información de la organización.
  • Si el empleado tiene algún tipo de malware en su dispositivo y al conectarse a la red de la organización podría infectar los equipos internos lo que podría tener problemas de perdidas de información.
Estas son algunas de las ventajas y desventajas que tiene al implementar BYOD, ya dependerá de cada organización si lo implementa o no una vez realizando el análisis correspondiente.

Referencias
http://www.cisco.com/web/about/ac79/docs/re/byod/BYOD_Horizons-Global_LAS.pdf
http://www.ibm.com/mobilefirst/us/en/bring-your-own-device/byod.html
http://www.computerworld.com/article/2948470/byod/the-bring-your-own-device-fad-is-fading.html


viernes, 4 de septiembre de 2015

Ensayo de internet

El internet en mi opinión es la red donde encontramos toda la información que queramos y donde nos encontramos relacionados todos de alguna manera. Hoy en día internet se ha vuelto indispensable para cada uno de nosotros en diferentes aspectos, cada uno de nosotros lo usamos a diario para diferentes fines por ejemplo para buscar información, realizar algún trámite en línea en una organización, tener comunicación con alguna persona que se encuentre en cualquier lugar, entre otras muchas cosas, hay un sin fin de cosas que podemos hacer con el uso del internet, pero lo cierto es que hoy en día el internet es una influencia muy grande para nosotros, esta influencia puede afectar de manera positiva o negativa dependiendo que nivel de educación que tengamos al  navegar en la red, en estos tiempos las redes sociales han tenido un impacto muy grande en la sociedad ya que con el uso de estas, existe una forma de contacto en la que personalidades famosas o grupos en específico asen participen a un grupo de personas en específico a que interaccionen con ellos provocando una forma de que la persona se sienta de alguna manera importante.


Considero que aspectos como el de las redes sociales es una de todas las actividades que podemos realizar en internet pero para cada uno de estos aspectos debemos realizarlos con una cultura y responsabilidad de saber qué es lo que de verdad estamos haciendo, sin afectar interés de terceros ya que, así como podemos obtener bastantes cosas de internet que nos ayuden a crecer como persona, también es cierto que podemos realizar muchas cosas que desde un punto de vista ético son incorrectas, entonces no nos queda de otra que ser personas lo más responsables que podamos y aprovechar al máximo ese mundo de información que tenemos a nuestro alcance.