martes, 11 de noviembre de 2008

Web 2.0 - Lucas Arce - Gonzalo Coronel - Jonatan Greggio - Guillermo Martino

Web 2.0








Integrantes:
Arce Lucas
Coronel Gonzalo
Greggio Jonatan
Martino Guillermo







¿Que se esto?

Se puede entender como Web 2.0 a "todas aquellas utilidades y servicios de Internet que se sustentan en una base de datos, la cual puede ser modificada por los usuarios del servicio, ya sea en su contenido (añadiendo, cambiando o borrando información o asociando datos a la información existente), o bien en la forma de presentarlos, o en contenido y forma simultáneamente."-













Introducción
El término Web 2.0 fue acuñado por Tim O'Reilly en 2004 para referirse a una segunda generación en la historia de la Web basada en comunidades de usuarios y una gama especial de servicios, como las redes sociales, los blogs , los wikis o las folcsonomías, que fomentan la colaboración y el intercambio ágil de información entre los usuarios.

• Wiki
Un wiki es una página Web de
Hipertexto que puede ser visitada
y editada por cualquier
persona. Esto permite que
diferentes autores puedan
contribuir en un mismo documento on-line.


• Blog
Un Blog es un sitio Web periódicamente
actualizado que
recopila cronológicamente
textos o artículos de uno o
varios autores en los que
expresan su punto de vista y
sobre los que los lectores/suscriptores
pueden hacer
comentarios.

El concepto original de las webs, llamada Web 1.0 era páginas estáticas HTML que no eran actualizadas frecuentemente. El éxito de las “punto-com” con tipos de webs un poco más dinámicas (a veces llamadas Web 1.5). En ambos sentidos, el conseguir hits (visitas) y la estética visual eran considerados como unos factores muy importantes.
Pero ¿qué es Web 2.0? Quizá el término pueda llevar a equívoco; por tanto,
comencemos por lo que no es. En contra de lo que pudiera parecer, la Web 2.0
no es una nueva versión de la Web, ni un protocolo de comunicaciones, ni un
nuevo lenguaje de programación. Ni siquiera se trata de algo vinculado únicamente a Internet.


Su tecnología
La infraestructura de la Web 2.0 es compleja y va evolucionando, pero incluye el software de servidor, sindicación de contenidos, protocolos de mensajes, navegadores basados en estándares, y varias aplicaciones para clientes.
Una web se puede decir que está construida usando tecnología de la Web 2.0 si se caracteriza por las siguientes técnicas:

• Técnicas:
1. CSS, marcado XHTML válido semánticamente y Microformatos
2. Técnicas de aplicaciones ricas no intrusivas (como AJAX)
3. Java Web Start
4. XUL
5. Sindicación/Agregación de datos en RSS/ATOM
6. URLs sencillas y con significado (SEM)
7. Soporte para postear en un blog
8. JCC y APIs REST o XML
9. JSON
10. Algunos aspectos de redes sociales
11. Mashup (aplicación web híbrida)

• General:
1. El sitio no debe actuar como un "jardín cerrado": la información debe poderse introducir y extraer fácilmente
2. Los usuarios deberían controlar su propia información
3. Basada exclusivamente en la Web: los sitios Web 2.0 con más éxito pueden ser utilizados enteramente desde un navegador



Mapa mental de la web 2.0



Web 2.0 buzz words



Resumiendo, la Web 2.0 es una nueva filosofía que ha surgido gracias a que la
evolución de la tecnología (ancho de banda y arquitectura modular) ha posibilitado
que el usuario, además de acceder a la información, cree contenidos
y aporte valor. La idea principal es que "lo que no se comparte se pierde"
y, en este sentido, cuantos más usuarios haya aportando contenidos, mayor
será el valor percibido del servicio.

Pero ¿sabe usted lo que es la Web 2.0?
Si la respuesta es negativa, por favor conteste a estas preguntas:
¿Alguna vez ha utilizado Google Maps?
¿Ha visto algún vídeo de YouTube?
¿Tiene un perfil en MySpace?
¿Se ha paseado por las calles de Second Life?



Si es así, usted ha experimentado la Web 2.0, aunque aún no sepa definirla.

Como suele ocurrir siempre que aparece un concepto nuevo, existen posturas
encontradas. Mientras que la Web 2.0 despierta el interés de usuarios y programadores
en todo el mundo, otro grupo no sólo se declara escéptico, sino incluso
irritado. Para ellos, el fenómeno es sólo una moda publicitaria, destinada a
vender servicios ya existentes bajo nuevos nombres.
Moda o no, está claro que el término acuñado por Dale Dougherty (de O'Reilly
Media) en el año 2003 no deja indiferente a nadie en el mundo de Internet:
miles de blogs, wikis y páginas web inundan la Red con comentarios entusiastas
o escépticos con respecto a la Web 2.0.



A continuación se muestra una tabla comparativa de la Web 1.0 y la Web 2.0:


Web 2.0 Web 1.0
Páginas Personales Bitácoras
Especulación con nombres de dominio Optimización en buscadores
Páginas vistas Coste por clic
Informar Participar, compartir
Sistemas de gestión de contenidos Wikis
Directorios (taxonomía) Etiquetas (folksonomía)
Fidelización Sindicación
Publicidad con banners y pop-ups Publicidad contextual



Sindicación

Sindicación de contenidos significa
redifusión de contenidos
informativos o lúdicos de un
emisor original por otro, que
adquiere los derechos gracias a
un contrato o licencia.

Publicidad contextual

La publicidad contextual es
aquélla en la que los anuncios
son seleccionados y publicados
por sistemas automáticos, en
función del contenido al que
accede el usuario.


¿Por qué se trata de algo nuevo?

Porque en la actualidad la tecnología hace que resulte fácil. Toda red se adapta a las limitaciones que la constriñen. Hace diez años, la potencia de procesamiento y el almacenamiento eran cien veces menos eficientes, la banda ancha era algo muy poco común y la programación de sitios Web era difícil y costosa. Por tanto, la Web evolucionó como una biblioteca de recursos estáticos ("páginas") creados por profesionales y descargados por los consumidores de los servidores de las empresas.
Sin embargo, los PC actuales tienen la misma potencia que los antiguos servidores,
la banda ancha se encuentra cada vez más extendida y los nuevos métodos
de programación (como, por ejemplo, Perl y Ruby) facilitan al máximo la
codificación en lugar de la eficacia computacional. Todo el mundo puede ser
webmaster

Gracias a las facilidades, evolución y gratuidad de tecnologías que antes eran
inaccesibles para la mayoría de los usuarios, se están fomentando las redes
sociales y la participación activa. El sitio web deja de ser un objetivo en sí
mismo -el fin último de la interacción con el usuario-, para convertirse en una
plataforma que posibilita la interrelación entre usuarios, miembros activos de
una comunidad que comparte un interés o necesidad afín. Gracias a esto, el
usuario tiene un papel activo: ya no sólo accede a la información, sino que además
aporta contenidos y conocimiento.


Se produce, por tanto, una descentralización de Internet en la que cada cliente
es, al mismo tiempo, servidor (creador de contenidos). Así, cuantas más personas
accedan al servicio, mayor será el valor para el resto de los usuarios (efecto
red).

Por tanto, hay tres principios que pueden definir la Web 2.0:
• Comunidad: el usuario aporta contenidos, interactúa con otros usuarios,
crea redes de conocimiento, etc.
• Tecnología: un mayor ancho de banda permite transferir información a
una velocidad antes inimaginable. En lugar de paquetes de software,
podemos tener servicios web y nuestro terminal puede ser cliente y servidor
al mismo tiempo y en cualquier lugar del mundo.
• Arquitectura modular: favorece la creación de aplicaciones complejas
de forma más rápida y a un menor coste.









¿Podemos entonces considerar la Web 2.0 como una revolución?

Como ya hemos comentado, las tecnologías sobre las que se apoya la Web 2.0 ya existían hace tiempo, por lo que en el plano tecnológico deberíamos hablar más
bien de una evolución. En el plano social, sin embargo, sí que estamos frente a
una revolución: los servicios Web 2.0 posibilitan la interactividad de los usuarios
y permiten obtener información de una colectividad, no de un único editor,
de manera que fomentan el desarrollo de la inteligencia colectiva.

Estos cambios tienen importantes repercusiones en los modelos de márketing
y publicidad, y surgen numerosas oportunidades de negocio nuevas, como
veremos más adelante.

Resumiendo, la Web 2.0 es una nueva filosofía que ha surgido gracias a que la
evolución de la tecnología (ancho de banda y arquitectura modular) ha posibilitado
que el usuario, además de acceder a la información, cree contenidos
y aporte valor. La idea principal es que "lo que no se comparte se pierde"
y, en este sentido, cuantos más usuarios haya aportando contenidos, mayor será el valor percibido del servicio.


¿Como Influye esta en la sociedad?
Impacto en la sociedad

El poder del ciudadano
Algo ha cambiado. El poder del ciudadano en la era digital es más importante
que nunca. Cobra fuerza el ciudadano que manifiesta sus gustos como consumidor,
su opinión o su voto. Aunque "este poder ha sido minusvalorado a lo
largo de la historia, hoy es más importante que nunca", según Javier Cremades
-abogado experto en libertad de expresión y medios de comunicación-, gracias
a la posibilidad que da Internet de crear redes y globalizar la información.

Un ejemplo del poder ciudadano gracias a la Web 2.0, que ha dado la vuelta al
mundo, fue la utilización de vídeos de YouTube como canal empleado por los ciudadanos
estadounidenses en un programa de televisión para hacer llegar a los candidatos políticos sus preguntas con relación a los programas electorales.

Además, las relaciones sociales también están cambiando, lo que se refleja, por ejemplo, en el increíble aumento de las comunidades. Tal vez, en un futuro, las personas se relacionen de forma diferente a la que hoy conocemos. Un dato curioso es que la adopción de los servicios Web 2.0 no sigue las líneas económicas tradicionales, ya que los usuarios on-line de los mercados menos desarrollados están igual de involucrados o incluso más que los de los países más avanzados.
Aún no somos conscientes del gran potencial creador de Internet, ni lo valoramos.
Para tener éxito en el mundo digital será necesario hacer cosas interesantes,
pero los contenidos brillantes podrán venir de todos los rincones del mundo
y conseguir un impacto global. Esto podría cambiar la forma de hacer las cosas
en todos los ámbitos de la sociedad.
Tanto es así que la Web 2.0 abre una nueva vía de reconocimiento de personas
con iniciativa, talento e interés. Esto va a dar más fuerza a las personas que no
tienen acceso a grandes medios de comunicación y va a permitir que la gente
tenga voz, sea escuchada y alcance mayor visibilidad. Éste es el caso de
algunos bloggers, cuyos índices de audiencia superan a los de muchos columnistas o líderes de opinión.

Además, se prevé la evolución a una sociedad más participativa, al ser más
fácil la aportación de contenidos gracias al uso más sencillo de las herramientas.
Nunca había sido tan fácil crear y compartir contenidos, conocer gente y divertirse
a través de una experiencia multimedia personalizada. Las herramientas y
los canales para crear y compartir textos, fotos, vídeos o música nunca habían
sido tan accesibles o democráticos.

La participación ciudadana puede ser crucial y afectar a más áreas de las que a
primera vista pudiera parecer.

Para tener una noción de la participación de los usuarios en la Web 2.0 podemos
mencionar la regla del 1%, que asegura que, de cada 100 personas que
usan este tipo de servicios, aproximadamente 90 únicamente consultan, 9 participan
y sólo 1 crea contenidos. En el caso de los blogs, la regla es mucho más
desalentadora. Según UseIt, los blogs tienen la peor desigualdad de participación,
puesto que es evidente que la 90-9-1, regla que caracteriza la mayoría de
las comunidades on-line, se transforma en 95-4,9-0,1 en los blogs.

Debido al importante papel que desempeñan los usuarios en esta Web social,
deben analizarse cuáles son las principales motivaciones que tendrían los
usuarios de Web 2.0 para convertirse en usuarios activos. Según los expertos
del FTF, éstas se agrupan tal como aparece reflejado en la ilustración siguiente:




La tendencia hacia la Web 2.0 es clara y las grandes empresas no quieren quedarse
al margen. Ejemplos de ello son las compras de Google, que ha adquirido
empresas como YouTube por 1.650 millones de dólares, DoubleClick por
3.100 millones de dólares o la española Panoramio por 6 millones de euros; o
la compra de Skype por parte de Ebay, por 2.600 millones de dólares.




La sociedad de la Web 2.0 asiste a otro gran cambio que afecta a las relaciones
sociales entre los individuos, demostrado por el increíble aumento de las
comunidades.



El crecimiento del número de comunidades puede llevar a pensar que tal vez en un futuro las personas se relacionen de forma diferente y, en lugar de quedar para tomar un café, queden en Second Life para ver una película, salir a bailar o conocer gente nueva, lo que hace que las comunidades sean una buena oportunidad de negocio.

Y así es. En agosto de 2005, un mes después de que Rupert Murdoch, magnate
de los medios de comunicación tradicionales, pagara 580 millones de dólares
por MySpace, éste superó a Google en número de páginas vistas, según la
empresa de medición de audiencias on-line comScore Media Metrix. Y en
noviembre de 2006, la imbatible Yahoo! dejó de serlo ante el empuje de
MySpace, que registró 38.700 millones, frente a los 38.100 millones del portal.


El fenómeno es imparable. Las redes sociales -como MySpace, YouTube o
Facebook- evolucionan rápidamente hacia las redes móviles, constituidas por
grupos de personas unidas por gustos y aficiones comunes que se comunican a
través del móvil. Este sistema de relaciones triplicará su número de miembros
de aquí a 2011, año en el que alcanzará los 174 millones de usuarios. Según
ABI Research, a través del teléfono móvil y de otros dispositivos portátiles sin
cable ya se generan y mantienen tantas comunidades sociales como a través de
los ordenadores


Implicaciones en la educación

La educación será otro de los campos en los que, sin duda, impactará la Web
2.0, en lo que se refiere tanto a la metodología pedagógica como a los contenidos.
De todas las personas que cuentan con conexión a Internet, ¿cuántas consultan
la tradicional enciclopedia impresa en lugar de Google, YouTube o los
mapas de Google Maps? Pocas, desde luego.


El carácter social y de colaboración de la Web 2.0 podría fomentar una evolución
de la educación hacia lo que a menudo se ha llamado "aprendizaje colectivo".

Este "aprendizaje colaborativo" consiste en considerar que el conocimiento no lo
tiene el profesor en exclusividad, sino que lo tiene el grupo. Cada uno de los
miembros que lo componen tiene una mayor accesibilidad a la información, lo
que permite aportar nuevos puntos de vista, que enriquecen la relación y contribuyen
a construir un conocimiento nuevo, cooperativo, adaptado a las necesidades
y particularidades de cada grupo, que con toda probabilidad serán diferentes
a las del curso anterior.


Ambientes de aprendizaje tradicionales Nuevos ambientes de aprendizaje
Instrucción centrada en el maestro Aprendizaje centrado en el estudiante
Estímulo de un solo sentido Estímulo multisensorial
Progreso o avance por un solo camino Progreso o avance por muchos caminos
Medio de comunicación único Comunicación a partir de distintos medios
(”Multimedia”)
Trabajo individual Trabajo colectivo
Trasmisión de información Intercambio de información
Aprendizaje pasivo Aprendizaje activo, exploratorio,
basado en la investigación
Aprendizaje fáctico, basado en los saberes Pensamiento crítico y toma de
decisiones informadas
Respuesta reactiva Acción proactiva/planeada
Contexto artificial, aislado Contexto auténtico, del mundo real

El mundo de la interactividad y de la construcción del conocimiento colectivo
tiene mucho que aportar. Debe abrirse paso y dejar surgir nuevas formas de
evaluar el progreso y la consecución de los objetivos propios de cada área de enseñanza.


¿TENDENCIAS?

¿Que vendrá después de la Web 2.0? Dos de las tendencias que se han
identificado son los metaversos o mundos virtuales y la inteligencia artificial gracias
a la Web semántica.

La tendencia a la consolidación de los mundos virtuales representa un fenómeno
de Internet. Hoy día podemos encontrar varios ejemplos, como WhyVille,
Second Life, Habbo o The Sims Online. Todo apunta a que, antes de 2011, cuatro
de cada cinco personas que utilicen Internet participarán activamente en un
mundo virtual.

Además de los mundos virtuales, hay una tendencia hacia la Web semántica,
que se está desarrollando bajo la tutela de Tim Berners-Lee, el mismo que
inventó la Web a principios de los años noventa. La idea subyacente surgió
desde los inicios de Internet.


Los contenidos publicados en páginas web, salvo raras excepciones, son difícilmente
entendibles por los ordenadores y tienen significado para las personas.
Se trata, por tanto, de añadir información adicional con una estructura que
pueda ser interpretada por los ordenadores. Éstos serían capaces de emular y
mejorar la obtención de conocimiento propio de las personas, por medio de técnicas de inteligencia artificial, lo que supondría conseguir que las máquinas pudieran "pensar" y dotar de significado a las páginas web; de ahí el nombre
de Web semántica.

Overclocking - Rodrigo Barberis

Overclocking


Por Overclocking se conocen una serie de técnicas que permiten forzar los componentes de un sistema informático (de cualquier tipo) para que trabajen a más velocidad de la original. Esto no es magia, es simplemente saber aprovechar ciertos recursos y aceptar el riesgo que ello conlleva. Generalmente se suelen aplicar al microprocesador, pero éste no es el único componente susceptible de ser forzado, todos aquellos dispositivos que lleven un reloj interno o marcador de frecuencia (oscilador de cuarzo) pueden llegar a mayores frecuencias de trabajo que la original. También se aplican estas técnicas a la memoria RAM, tarjeta gráfica, e incluso a tarjetas de sonido, módems, etc.

El fundamento del Overclocking (OC en adelante) es mejorar algunos, o todos, los parámetros de que depende la frecuencia de trabajo para que ésta aumente; teniendo en cuenta que el rendimiento global no sólo depende de la frecuencia, sino de muchas otras cosas. De nada sirve tener un procesador rapidísimo si el resto de componentes son lentos o de baja calidad (el rendimiento de un sistema se basa en un todo). Estas operaciones conllevan riesgos, el más importante es el aumento de la temperatura y posible quema del procesador, y es algo que debe ser minuciosamente controlado siempre que se realice OC. Más adelante se tratarán con detalle las precauciones. Se recomienda leer dichas precauciones ANTES de modificar nada en el sistema.

¿Por qué es posible aumentar la frecuencia?
Este tema es algo complejo y muy relacionado con las estrategias empresariales de los fabricantes; a modo de resumen podríamos decir que el aumento de frecuencia es posible debido a que los microprocesadores se fabrican con una especie de margen de tolerancia en la frecuencia. Siendo así, y dependiendo de la fabricación, podremos forzar más o menos nuestro procesador.

Conceptos sobre la frecuencia:

La velocidad de trabajo del procesador, o más formalmente llamada frecuencia, mide en cierta medida cuán rápido puede procesar éste las instrucciones. La frecuencia se mide en hertzios (Hz), 1 hertzio es 1 ciclo de “proceso” por segundo, pero hoy en día se emplean múltiplos más elevados como los megahercios (MHz) y gigahercios (GHz) debido a las enormes frecuencias de trabajo que tienen los procesadores modernos.

Por ejemplo, un procesador que trabaje a 2.000MHz (2GHz) podrá realizar 2.000.000.000 ciclos / segundo.

El procesador obtiene esa frecuencia mediante el producto de 2 factores, la frecuencia del bus frontal (FSB) y un valor multiplicador. El bus frontal es un conjunto de cables que interconectan los dispositivos con el procesador y sirven de “autopista” de la información interna. El multiplicador es un valor implícito que asigna el fabricante.





Frecuencia del procesador = FSB * Multiplicador.

Ejemplos de varios procesadores:

Multiplicador --> Frecuencia del FSB --> Frecuencia del procesador

x6.5 --> 100MHz --> 650MHz (Pentium III)
x6.5 --> 112MHz --> 728MHz
x6.5 --> 133MHz --> 864,5MHz
x20 --> 100MHz --> 2000MHz (2GHz) (Pentium 4)
x18 --> 133MHz --> 2394MHz (2,4GHz)
x18 --> 200MHz --> 3600MHz (3,6GHz)

En la tabla anterior se han ilustrado los valores de los factores decisivos en la frecuencia y su producto para obtener la frecuencia final del procesador. Podemos apreciar que, a un mismo multiplicador, y aumentando la frecuencia del FSB, obtenemos frecuencias mayores para un mismo procesador.

Técnicas para implementar las mejoras:

Una vez vistos algunos conceptos importantes, vamos a pasar a describir cómo aumentar la frecuencia de trabajo. Existen dos maneras que pueden ser aplicadas de manera conjunta o independiente:

1. Aumentar la frecuencia del bus frontal (FSB)
2. Aumentar el valor del multiplicador.
3. Aumentar FSB y multiplicador.

Sólo podremos aplicar ambas técnicas a la vez en procesadores AMD (y no en todos los modelos), ya que los Intel Pentium tienen el multiplicador bloqueado de fábrica, y por tanto, únicamente permiten la modificación del FSB. La modificación de ambos parámetros se debe realizar desde la BIOS del sistema, para acceder a ella debemos presionar un botón (generalmente la tecla “Supr”) durante el arranque del ordenador.

La BIOS (“Basic Input-Output System” – Sistema Básico de Entrada-Salida) es un programa que viene en un chip de la placa base y se encarga de controlar el arranque primario del sistema y los dispositivos hardware instalado. Es allí donde residen los parámetros que dirigen el funcionamiento del sistema (características de los dispositivos de almacenamiento, procesador, reloj del sistema, interrupciones, chipset, buses y los que más nos interesan........multiplicador y frecuencia del FSB).
Una vez dicho esto, queda patente que la calidad de la placa base es decisiva en esta etapa. Si disponemos de una buena placa base, podremos obtener un mayor rendimiento y más posibilidades en el OC.

1. Aumentar la frecuencia del bus frontal (FSB):

Este es el caso empleado por excelencia en los Intel, por tanto, vamos a ejemplificarlo en un Pentium 4. Hay que tener especial cuidado cuando se aumenta el valor del FSB ya que otros dispositivos y buses dependen de él. Al aumentar FSB también estamos forzando la frecuencia del bus PCI y AGP, si estos buses no pueden soportar el aumento que apliquemos al FSB tendremos problemas de estabilidad.

El proceso es relativamente simple:

1.1- Accedemos a BIOS en el arranque del ordenador.

1.2- Localizamos en el menú alguna opción bajo la cual se encuentren los parámetros del procesador o de frecuencias (podemos consultar el manual), según el tipo de BIOS esta opción puede variar, algunos ejemplos son: Advanced Chipset Features, Frequency/Voltage Control...

1.3- Una vez dentro, localizamos el parámetro que guarda la frecuencia del FSB, una vez más, dependiendo del tipo de BIOS, este parámetro puede tener varios nombres, algunos ejemplos son: CPU External Clock, CPU Host Frequency, FSB Bus Frequency, CPU FSB Clock (todos se refieren al mismo concepto).



1.4- Cuando lo encontremos, simplemente debemos fijarnos en su valor nominal e ir aumentándolo. Si no sabemos cómo, hay que consultar la ayuda de la BIOS o su manual. Hay versiones en que aparece una lista desplegable y hay que elegir, hay otras versiones que permiten introducir la frecuencia manualmente mediante el teclado numérico.



1.5- Guardamos cambios y reiniciamos el sistema. Si todo ha ido bien, el sistema arrancará mostrando la nueva frecuencia. Si hay problemas, ver sección más adelante.

2. Aumentar el valor del multiplicador:

Esto sólo puede ser realizado en procesadores AMD (actualmente también están empezando a ser bloqueados), el proceso es muy similar al anterior, hay que seguir los mismos pasos como si fuéramos a modificar el FSB pero ahora buscaremos en la BIOS otro parámetro diferente, éste recibe diversos nombres según el tipo de BIOS, los más comunes son: Multiplier Factor, Adjust CPU Ratio, CPU Ratio, Clock Ratio.



Aumentaremos el valor a nuestro gusto, guardaremos los cambios y verificaremos en el arranque que el nuevo valor de la frecuencia es el correcto. A diferencia del FSB, el aumento del multiplicador no conlleva problemas con otros buses. Si el equipo no arranca o hay problemas, ver sección más adelante.

En la siguiente imagen podemos ver otra modalidad de mostrar el valor del multiplicador, en la lista se aprecia el multiplicador seleccionado (x20) y cuál sería la frecuencia total del procesador teniendo en cuenta el FSB seleccionado (en ese caso de 200MHz, ya que 200MHz * x20 = 4000MHz).



3. Aumentar FSB y multiplicador:

Sólo podremos aplicar ambas técnicas en procesadores AMD, los pasos a seguir son los mismos que hemos comentado en las dos secciones anteriores teniendo en cuenta que debemos aplicar los cambios de manera secuencial, es decir, o bien aumentamos primero el FSB y luego el multiplicador, o bien al revés.

Comentarios adicionales y consejos:

Existe otro parámetro a tener en cuenta cuando se realiza OC, es el valor del voltaje del núcleo del procesador (Vcore). Puesto que su modificación es compleja y sólo necesaria en el OC extremo, no vamos a tratarla aquí.

Nunca se debe aumentar con grandes saltos ninguno de los parámetros comentados (FSB y multiplicador), siempre debemos probar con pequeños incrementos y verificar que todo funciona correctamente.

Al final del documento ponemos un sencillo ejemplo de overclocking a un procesador.



Precauciones a tener en cuenta:

Aumentar la frecuencia de un procesador es un riesgo importante si no se hace con sumo cuidado. Una de las consecuencias más fatales es que se estropee de por vida o se queme, aunque lo más normal suele ser que el sistema no arranque o se cuelgue con alta carga de trabajo (baja estabilidad). Además, aplicar OC anula la garantía de un procesador. Por tanto, debe quedar claro que:

El aumento de temperatura en la aplicación del OC se produce por cambios físicos relacionados con la Ley de Joule, dicho aumento de temperatura es el causante de los daños en el procesador, por tanto, cuando apliquemos técnicas de OC debemos asegurarnos de que el sistema que vamos a forzar está bien refrigerado (tanto en procesadores como en otro tipo de dispositivos: memorias, tarjetas gráficas, etc). Para ello es posible que necesitemos limpiar bien a fondo los ventiladores y disipadores que ya tengamos, o incluso añadir otros de mejor calidad. Comprobar que el flujo de aire en el interior de la torre es adecuado y que la refrigeración es correcta es fundamental en el éxito del OC, además de que mantener una temperatura baja otorga una mayor vida a los componentes y asegurar su estabilidad durante el funcionamiento.

Como valor de referencia, no deberíamos dejar que la temperatura del procesador fuera superior a 60º una vez hecho el OC y con el sistema a plena carga (ejecutando muchos programas por ejemplo).

Problemas en el OC y solución:

Cuando aumentamos FSB, multiplicador o ambas cosas, y reiniciamos el sistema pueden ocurrir varias cosas:

1. El sistema no arranca:

Seguramente nos hayamos pasado al aumentar algún valor. Debemos restaurar los valores originales, para ello es necesario resetear la BIOS; se pueden emplear 2 métodos: Mediante un jumper o bien retirando durante unos momentos la pila de botón que alimenta a la placa base. Para esa operación es recomendable consultar el manual de la placa, y en general siempre que tengamos dudas.

2. El sistema emite pitidos al encenderlo:

En este caso debemos consultar el manual de la placa base para identificar la causa de dichos pitidos. No obstante, si esto se produce después de aplicar OC, es muy probable que la causa sea la misma que en el punto anterior. Debemos actuar de la misma manera.

3. El sistema arranca correctamente:

Enhorabuena, los cambios se han aceptado, pero no hemos terminado todavía. Ahora hay que comprobar que el sistema es estable, es decir, funciona correctamente sin calentarse de manera excesiva, sin colgarse ni mostrar errores. Para ello, se recomienda tener el equipo encendido el mayor tiempo posible y hacer que ejecute programas con gran carga de trabajo. Los juegos de última generación son una de las mejores pruebas que podemos hacer. Si el sistema se “congela” al poco tiempo de encenderlo o al trabajar con alta carga, debemos reducir la frecuencia. Para ello seguiremos los mismos pasos que aplicamos para aumentarla pero en este caso reduciremos un poco el FSB y/o el multiplicador y volveremos a ejecutar la prueba.

Si el sistema se comporta correctamente y no da muestras de inestabilidad, podemos dar por concluido el proceso de manera exitosa.

Ejemplo sencillo de aplicación del OC:

Supongamos que tenemos un procesador Intel Pentium® 4 (núcleo Prescott) a 3GHz (frecuencia original) con una placa base normalita (ASUS P4P800) y unas memorias DDR400. Vamos a intentar conseguir una frecuencia de 3,3GHz (300MHz más que el valor original).

Puesto que el Pentium 4 tiene el multiplicador bloqueado, sólo podremos jugar con el valor del FSB e ir aumentándolo.
Nominalmente los valores son:
Frecuencia FSB: 200MHz
Multiplicador: x15
Frecuencia del procesador: 200*15 = 3000 MHz (3GHz)

Como habíamos recomendado, los incrementos los vamos a ir haciendo poco a poco, empezaremos con +10MHz.
Colocamos el valor de FSB en 210MHz y arrancamos. Ahora la velocidad que se muestra es 210*15 = 3150MHz (3,15GHz), comprobamos que el sistema es estable y la temperatura prácticamente no sufre aumento. Vamos allá con el segundo incremento, accedemos a BIOS y marcamos el valor de FSB en 220MHz, arrancamos y podemos apreciar que ahora la frecuencia del procesador es: 220*15 = 3300MHz (3,3GHz). Al hacer las pruebas pertinentes el sistema responde bien y únicamente notamos el aumento de algunos grados en la temperatura, pero como hemos tenido la precauciones de comprar un ventilador de buena calidad, esto no es un problema.

¿Podemos seguir aumentando?. La posibilidad existe, con una buena refrigeración, unas buenas memorias y subiendo el voltaje, hemos llegado a poner este procesador en 3750MHz = 3,75GHz (FSB a 250 MHz), pero siempre hemos tomado las precauciones oportunas.

Criptografía - Alfonso Quinzio

Universidad Nacional de Córdoba


Escuela Superior de Comercio Manuel Belgrano

Carrera de Analista de Sistemas



”Sistemas de Computación”

Trabajo monográfico
Tema: Criptografía

Docente: Pedro Ruiz Cresta

Alumno: Alfonso R. Quinzio

Matrícula: C-2190

** 2008 **


Introducción

Criptografía.

(Del griego κρυπτς, oculto; y γραφ, escritura).

f. Arte de escribir con clave secreta o de un modo enigmático.

Del Diccionario de la Lengua Española, 22ª Edición, Real Academia Española.

Desde la antigüedad, al menos cinco siglos antes de Cristo, se conocen antecedentes documentados de las técnicas de cifrado de mensajes. Como es frecuente en la historia de la humanidad, los avances tecnológicos siempre han sido impulsados y estimulados con fines bélicos o militares. Eventualmente estas mejoras son luego publicadas y volcadas al uso de la población civil.

Tal como lo indica la definición académica, esta disciplina tuvo en sus orígenes un carácter de arte, sin tener reglas establecidas para los procesos de cifrado y descifrado, dependiendo su mayor o menor éxito en la lucidez y creatividad de las personas abocadas al diseño de sus técnicas. Por tal motivo, los sistemas existentes entonces se limitaban a la sustitución de unos símbolos por otros en el mensaje original, o bien por la permutación del orden de su aparición, o por la combinación de ambos.

Está claro que es fundamental para el correcto proceso de descifrado que el receptor del mensaje conozca la técnica del cifrado, y que este proceso se trate de una operación reversible, que no introduzca ambigüedades o incertezas en la interpretación del mensaje reconstruído.

Hasta mediados del siglo XIX, las técnicas criptográficas se mantuvieron en la frontera de operaciones misteriosas o caprichosas, sin posibilidad de sistematizar su evaluación y análisis. Entonces, comienzan a incorporarse en su desarrollo algunas herramientas de origen matemático. Hasta entonces, las operaciones de cifrado y descifrado se realizaban manualmente. Sin embargo durante la primera mitad del siglo XX, y como consecuencia de la Gran Guerra (Primera Guerra Mundial), y luego de la Segunda Guerra Mundial, se construyeron máquinas de cifrado de extraordinaria complejidad, con lo que se comenzaron a aplicar técnicas y fundamentos matemáticos en la intención de obtener sistemas más complejos, con menor posibilidad de ser vulnerados por el enemigo.

En la segunda mitad del siglo XX, con la aparición primero del transistor, y luego de las computadoras digitales, se deja de lado lo artesanal de esta disciplina, y adquiere las características de ciencia, fusionando los fundamentos matemáticos y las herramientas computacionales, y adquiriendo un enorme desarrollo, con infinidad de aplicaciones en la sociedad civil, de tal modo que hoy podemos hacer operaciones bancarias y comerciales por internet, autenticar correos electrónicos, verificar la correcta descarga e integridad de un archivo de gran tamaño, comprobar el estado sin corrupción de los archivos de un sistema operativo, etc.

Conceptos.

Para poder analizar las técnicas, consideraremos la existencia de ciertos elementos esenciales y comunes a todos los sistemas criptográficos.

El Emisor (E) es la persona o entidad que genera u origina un mensaje o flujo de datos (m), destinados a otra persona que será el Receptor (R), cuando la transmisión del mensaje se considera insegura o vulnerable, ya sea por características físicas o técnicas del medio o canal de transmisión, o bien porque la información contenida en el mensaje resulta de interés por su valor económico o estratégico para terceras personas. Un canal es considerado inseguro cuando la información transmitida a su través es susceptible de ser modificada en forma voluntaria o accidental, o bien la consistencia o integridad del mensaje se vea modificada entre el emisor y el receptor.

La distorsión o corrupción del mensaje puede ser de diferente naturaleza, y podemos distinguir cuatro casos: la interrupción o mutilación del mensaje, por la cual al receptor llega sólo una parte del mensaje original; en segundo caso tenemos la intercepción, por medio de la cual una tercera persona recibe parte o la totalidad del mensaje destinado al receptor; la modificación voluntaria o accidental, en la cual el contenido del mensaje recibido es diferente del mensaje despachado por el emisor; y por último la adulteración o intoxicación del mensaje, mediante la que un operador extraño incorpora en forma maliciosa información que no pertenecía al mensaje original, y en cuyo caso el receptor puede considerar el mensaje como válido sin poder distinguir entre la información original y la agregada posteriormente.

Los mecanismos clásicos de cifrado consisten en aplicar una función transformadora sobre el mensaje original, función que admite una inversa y por lo tanto esa transformación es reversible, y además es conocida tanto para emisor como receptor. Estos sistemas de cifrado consisten en operaciones de sustitución y transposición de los caracteres integrantes del mensaje. Estos algoritmos son conocidos como “simétricos”, siempre devuelven la misma salida a una determinada entrada, la máxima debilidad de dichos sistemas es que son lineales, de tal modo que siempre corresponden los mismos caracteres o grupos a iguales caracteres o grupos en el mensaje original, y por lo tanto son susceptibles de ser atacados por medio de computadoras con el fin de establecer la clave o función de cifrado. Con el advenimiento de las computadoras digitales y una asombrosa capacidad de cálculo, es posible intentar los ataques por medio de análisis estadísticos, de modo de poder determinar el idioma del mensaje original y a partir de ahí, descifrarlo por completo; y por otra parte el ataque denominado de “fuerza bruta”, que consiste en probar con todas las combinaciones posibles.

Hoy en día los algoritmos criptográficos más modernos consisten en funciones “asimétricas” con un dominio de salidas esperables mucho más amplio, pero del mismo modo reversibles. Por otra parte, el diseño de algoritmo de cifrado se ha orientado a mecanismos de encriptación no lineales, y que a partir del mensaje codificado brinden pocas o ninguna pista acerca del idioma original del mensaje en claro, y además que la cantidad de combinaciones posibles sea tan enorme que se deseche la posibilidad de atacarlo por fuerza bruta, aún disponiendo de super computadoras.


Algoritmos simétricos. Características.

Una gran parte de los algoritmos de cifrado simétrico operan dividiendo el mensaje que se pretende codificar en bloques de tamaño fijo, y aplican sobre cada uno de ellos una combinación más o menos compleja de operaciones de confusión (sustituciones) y difusión (transposiciones). Estos algoritmos se denominan, en general, cifrados por bloques.

Recordemos que la confusión consiste en tratar de ocultar la relación que existe entre el texto claro, el texto cifrado y la clave. Un buen mecanismo de confusión hará demasiado complicado extraer relaciones estadísticas entre las tres cosas. Por su parte la difusión trata de repartir la influencia de cada bit del mensaje original lo más posible entre el mensaje cifrado.

Un hecho digno de ser tenido en cuenta es que la confusión por sí sola resulta suficiente, ya que si establecemos una tabla de sustitución completamente diferente para cada clave con todos los textos claros posibles tendremos un sistema extremadamente seguro. Sin embargo, dichas tablas ocuparían cantidades astronómicas de memoria, por lo que en la práctica resultan imposibles de implementar. Por ejemplo, un algoritmo que codificara bloques de 128 bits empleando una clave de 80 bits necesitaría una tabla de sustitución con un tamaño del orden de 10^64 bits.

Lo que en realidad se hace para conseguir algoritmos fuertes sin necesidad de almacenar tablas enormes es intercalar la confusión (sustituciones simples, con tablas pequeñas) y la difusión (permutaciones). Esta combinación se conoce como cifrado de producto. La mayoría de los algoritmos se basan en diferentes capas de sustituciones y permutaciones, estructura que denominaremos Red de Sustitución-Permutación. En muchos casos el criptosistema no es más que una operación combinada de sustituciones y permutaciones, repetida n veces, como ocurre con DES.

El algoritmo DES

DES (Data Encryption System), es el algoritmo simétrico más extendido mundialmente. Se basa en el algoritmo LUCIFER, que había sido desarrollado por IBM a principios de los setenta, y fue adoptado como estándar por el Gobierno de los EE.UU. para comunicaciones no clasificadas en 1976. En realidad la NSA lo diseñó para ser implementado por hardware, creyendo que los detalles iban a ser mantenidos en secreto, pero la Oficina Nacional de Estandarización publicó su especificación con suficiente detalle como para que cualquiera pudiera implementarlo por software. No fue casualidad que el siguiente algoritmo adoptado (Skipjack) fuera mantenido en secreto.

A mediados de 1998, se demostró que un ataque por la fuerza bruta a DES era viable, debido a la escasa longitud que emplea en su clave. No obstante, el algoritmo aún no ha demostrado ninguna debilidad grave desde el punto de vista teórico, por lo que su estudio sigue siendo plenamente interesante. El algoritmo DES codifica bloques de 64 bits empleando claves de 56 bits.

Claves débiles en DES

El algoritmo DES presenta algunas claves débiles. Distinguiremos entre claves débiles y claves semidébiles. Entendemos por claves débiles y semi débiles a algunas secuencias capaces de generar llaves públicas que tienen una frecuencia de repetición mayor de la esperable pero, en cualquier caso, el número de llaves de este tipo es tan pequeño en comparación con el número total de posibles claves, que no debe suponer un motivo de preocupación.

Variantes de DES

A mediados de julio de 1998, una empresa sin ánimo de lucro, llamada EFF (Electronic Frontier Foundation), logró fabricar una máquina capaz de descifrar un mensaje DES en menos de tres días. Curiosamente, pocas semanas antes, un alto cargo de la NSA había declarado que dicho algoritmo seguía siendo seguro, y que descifrar un mensaje resultaba aún excesivamente costoso, incluso para organizaciones gubernamentales. DES-Cracker costó menos de 250.000 euros.

A pesar de su caída, DES sigue siendo ampliamente utilizado en multitud de aplicaciones, como por ejemplo las transacciones de los cajeros automáticos. De todas formas, el problema real de DES no radica en su diseño, sino en que emplea una clave demasiado corta (56 bits), lo cual hace que con el avance actual de las computadoras los ataques por la fuerza bruta comiencen a ser opciones realistas. Mucha gente se resiste a abandonar este algoritmo, precisamente porque ha sido capaz de sobrevivir durante veinte años sin mostrar ninguna debilidad en su diseño, y prefieren proponer variantes que, de un lado evitarían el riesgo de tener que confiar en algoritmos nuevos, y de otro permitirían aprovechar gran parte de las implementaciones por hardware existentes de DES.

El algoritmo IDEA

El algoritmo IDEA (International Data Encryption Algorithm) es bastante más joven que DES, pues data de 1992. Para muchos constituye el mejor y más seguro algoritmo simétrico disponible en la actualidad. Trabaja con bloques de 64 bits de longitud y emplea una clave de 128 bits. Como en el caso de DES, se usa el mismo algoritmo tanto para cifrar como para descifrar. IDEA es un algoritmo bastante seguro, y hasta ahora se ha mostrado resistente a multitud de ataques, entre ellos el criptoanálisis diferencial. No presenta claves débiles, y su longitud de clave hace imposible en la práctica un ataque por la fuerza bruta, al menos en los próximos años. Como ocurre con todos los algoritmos simétricos de cifrado por bloques, IDEA se basa en los conceptos de confusión y difusión, haciendo uso de las siguientes operaciones elementales (todas ellas fáciles de implementar): XOR; suma módulo 2^16; y producto módulo 2^16 + 1.

El algoritmo Rijndael (AES)

En octubre de 2000 el NIST (National Institute for Standards and Technology) anunciaba oficialmente la adopción del algoritmo Rijndael como nuevo Estándar Avanzado de Cifrado (AES) para su empleo en aplicaciones criptográficas no militares, culminando así un proceso de más de tres años, encaminado a proporcionar a la comunidad internacional un nuevo algoritmo de cifrado potente, eficiente, y fácil de implementar. DES tenía por fin un sucesor.

La palabra Rijndael, en adelante lo denominaremos AES, es un acrónimo formado por los nombres de sus dos autores, los belgas Joan Daemen y Vincent Rijmen. Su interés radica en que todo el proceso de selección, revisión y estudio tanto de este algoritmo como de los restantes candidatos, se ha efectuado de forma pública y abierta, por lo que, prácticamente por primera vez, toda la comunidad criptográfica mundial ha participado en su análisis, lo cual convierte a Rijndael en un algoritmo perfectamente digno de la confianza de todos.

AES es un sistema de cifrado por bloques, diseñado para manejar longitudes de clave y de bloque variables, ambas comprendidas entre los 128 y los 256 bits. Realiza varias de sus operaciones internas a nivel de byte. El resto de operaciones se efectúan en términos de registros de 32 bits. Sin embargo, en algunos casos, una secuencia de 32 bits se toma como un polinomio de grado inferior a 4, cuyos coeficientes son a su vez polinomios. Si bien, como ya se ha dicho, este algoritmo soporta diferentes tamaños de bloque y clave, en el estándar adoptado por el gobierno estadounidense en noviembre de 2001, se especifica una longitud fija de bloque de 128 bits, y la longitud de clave a escoger entre 128, 192 y 256 bits.

Estructura de AES.

AES, a diferencia de algoritmos como DES, no posee estructura de red de Feistel. En su lugar se ha definido cada ronda como una composición de cuatro funciones invertibles diferentes, formando tres capas, diseñadas para proporcionar resistencia frente a criptoanálisis lineal y diferencial. Cada una de las funciones tiene un propósito preciso: La capa de mezcla lineal, funciones para desplazar fila y mezclar columnas, permite obtener un alto nivel de difusión a lo largo de varias rondas. La capa no lineal, función byte sub, consiste en la aplicación paralela de cajas con propiedades óptimas de no linealidad. La capa de adición de clave es un simple or-exclusivo entre el estado intermedio y la subclave correspondiente a cada ronda.


Algoritmos asimétricos. Características.

El Algoritmo RSA

De entre todos los algoritmos asimétricos, quizá RSA sea el más sencillo de comprender e implementar. Sus claves sirven indistintamente tanto para codificar como para autentificar. Debe su nombre a sus tres inventores: Ronald Rivest, Adi Shamir y Leonard Adleman, y estuvo bajo patente de los Laboratorios RSA hasta el 20 de septiembre de 2000, por lo que su uso comercial estuvo restringido hasta esa fecha. De hecho, las primeras versiones de PGP lo incorporaban como método de cifrado y firma digital, pero se desaconsejó su uso a partir de la versión 5 en favor de otros algoritmos, que por entonces sí eran libres.

Sujeto a múltiples controversias, desde su nacimiento nadie ha conseguido probar o rebatir su seguridad, pero se le tiene como uno de los algoritmos asimétricos más seguros. RSA se basa en la dificultad para factorizar grandes números. Las claves pública y privada se calculan a partir de un número que se obtiene como producto de dos primos grandes. El atacante se enfrentará, si quiere recuperar un texto claro a partir del criptograma y la clave pública, a un problema de factorización o tendrá que resolver un logaritmo discreto.

Seguridad del Algoritmo RSA

Técnicamente no es del todo cierto que el algoritmo RSA deposite su fuerza en el problema de la factorización. En realidad el hecho de tener que factorizar un número para descifrar un mensaje sin la clave privada es una mera conjetura. Nadie ha demostrado que no pueda surgir un método en el futuro que permita descifrar un mensaje sin usar la clave privada y sin factorizar el módulo n. De todas formas, este método podría ser empleado como una nueva técnica para factorizar números enteros, por lo que la anterior afirmación se considera en la práctica cierta. De hecho, existen estudios que demuestran que incluso recuperar sólo algunos bits del mensaje original resulta tan difícil como descifrar el mensaje entero. Aparte de factorizar n, podríamos intentar calcular n directamente, o probar por la fuerza bruta tratando de encontrar la clave privada. Ambos ataques son más costosos computacionalmente que la propia factorización de n, afortunadamente.

Otro punto que cabría preguntarse es qué pasaría si los primos p y q que escogemos realmente fueran compuestos. Recordemos que los algoritmos de prueba de primos que conocemos son probabilísticos, por lo que jamás tendremos la absoluta seguridad de que p y q son realmente primos. Pero obsérvese que si aplicamos, por ejemplo, treinta pasadas del algoritmo de Rabin-Miller las probabilidades de que el número escogido pase el test y siga siendo primo son de una contra 2^60, por lo tanto el algoritmo sigue siendo fuerte en este sentido. Por otra parte, si p o q fueran compuestos, el algoritmo RSA simplemente no funcionaría correctamente.

Vulnerabilidades de RSA

Aunque el algoritmo RSA es bastante seguro conceptualmente, existen algunos puntos débiles en la forma de utilizarlo que pueden ser aprovechados por un atacante. Claves Débiles en RSA, se puede demostrar matemáticamente que existen ciertos casos para los cuales el algoritmo RSA deja el mensaje original tal cual. En realidad, siempre hay mensajes que quedan inalterados al ser codificados mediante RSA, sea cual sea el valor de n. No obstante, como medida de precaución, se puede calcular n a la hora de generar las claves pública y privada.

Algoritmo de Diffie-Hellman

Es un algoritmo asimétrico, basado en el problema de Diffie-Hellman, que se emplea fundamentalmente para acordar una clave común entre dos interlocutores, a través de un canal de comunicación inseguro. La ventaja de este sistema es que no son necesarias claves públicas en el sentido estricto, sino una información compartida por los dos comunicantes.

Algoritmo de El Gamal

Fue diseñado en un principio para producir firmas digitales, pero posteriormente se extendió también para codificar mensajes. Se basa en el problema de los logaritmos discretos, que está íntimamente relacionado con el de la factorización, y en el de Diffie-Hellman.

Algoritmo de Rabin

El sistema de clave asimétrica de Rabin se basa en el problema de calcular raíces cuadradas módulo un número compuesto. Este problema se ha demostrado que es equivalente al de la factorización de dicho número.

Algoritmo MD5

Se trata de uno de los más populares algoritmos de generación de signaturas, debido en gran parte a su inclusión en las primeras versiones de PGP. Resultado de una serie de mejoras sobre el algoritmo MD4, diseñado por Ron Rivest, procesa los mensajes de entrada en bloques de 512 bits, y produce una salida de 128 bits. Siendo m un mensaje de b bits de longitud, en primer lugar se alarga m hasta que su longitud sea exactamente 64 bits inferior a un múltiplo de 512. El alargamiento se lleva a cabo añadiendo un 1 seguido de tantos ceros como sea necesario. En segundo lugar, se añaden 64 bits con el valor de b, empezando por el byte menos significativo. De esta forma tenemos el mensaje como un número entero de bloques de 512 bits, y además le hemos añadido información sobre su longitud.

Algoritmo SHA-1

El algoritmo SHA-1 fue desarrollado por la NSA, para ser incluido en el estándar DSS (Digital Signature Standard). Al contrario que los algoritmos de cifrado propuestos por esta organización, SHA-1 se considera seguro y libre de puertas traseras, ya que el hecho de que el algoritmo sea realmente seguro favorece a los propios intereses de la NSA. Produce firmas de 160 bits, a partir de bloques de 512 bits del mensaje original.

El algoritmo es similar a MD5, con la diferencia de que usa la ordenación big endian. Se inicializa de igual manera, es decir, añadiendo al final del mensaje un uno seguido de tantos ceros como sea necesario hasta completar 448 bits en el último bloque, para luego yuxtaponer la longitud en bits del propio mensaje —en este caso, el primer byte de la secuencia será el más significativo—. A diferencia de MD5, SHA-1 emplea cinco registros de 32 bits en lugar de cuatro.


Aplicaciones.

Protocolos de Comunicación Segura

Quizás la aplicación más antigua de la criptografía sea precisamente la de establecer canales de comunicaciones seguros entre dos puntos. Tanto un soldado galopando a través de territorio enemigo hasta un haz láser, pasando por un cable telefónico, el ser humano ha empleado infinidad de medios para poder enviar sus mensajes, cada uno de ellos con sus propias particularidades. Pero si hay una característica que podemos considerar común a todos los canales de comunicaciones, es la ausencia de control que sobre el mismo poseen ambos interlocutores. En el caso del jinete, sería muy interesante poder crear un pasillo de territorio amigo a lo largo de todo su trayecto, pero en ese caso su propia tarea carecería prácticamente de sentido. En general, hemos de considerar que nuestros mensajes son depositados en un medio ajeno a nosotros, y usualmente hostil, y que los medios que apliquemos para su protección deben ser válidos en los casos más desfavorables.

La criptografía, como ya hemos, proporciona mecanismos fiables para evitar los dos peligros que acabamos de mencionar. En general, cada una de las aplicaciones concretas que necesiten de estas técnicas poseerá unas características específicas, por lo que en cada caso habrá una combinación de algoritmos criptográficos que permitirá proporcionar al sistema el nivel de seguridad necesario.

Estas combinaciones de algoritmos se estructurarán finalmente en forma de protocolos, para proporcionar métodos de comunicación segura normalizados.

Protocolos TCP/IP

El conjunto básico de protocolos sobre los que se construye la red Internet se conoce popularmente como TCP/IP, agrupación de los nombres de dos de los elementos más importantes, que no los únicos, de la familia: TCP (Transmission Control Protocol) e IP (Internet Protocol).

El modelo de comunicaciones sobre el que se basa Internet se estructura en forma de capas apiladas, de manera que cada una de ellas se comunica con las capas inmediatamente superior e inferior, logrando diversos niveles de abstracción, que permiten intercambiar información de forma transparente entre ordenadores. La consecuencia más importante de este enfoque es que dos dispositivos cualesquiera, que pueden estar conectados a Internet por medios totalmente distintos: fibra óptica, cable de cobre, láser, ondas electromagnéticas, etc. y separados por multitud de enlaces diferentes: satélite, cables submarinos, redes inalámbricas, pueden conectarse entre ellos simplemente con que dispongan de una implementación de TCP/IP.

Protocolo SSL

El protocolo SSL (Secure Sockets Layer), desarrollado originalmente por la empresa Netscape, permite establecer conexiones seguras a través de Internet, de forma sencilla y transparente. Se sitúa en la capa de aplicación, directamente sobre el protocolo TCP, y aunque puede proporcionar seguridad a cualquier aplicación que corra sobre TCP, se usa principalmente para proporcionar seguridad a los protocolos HTTP (web), SMTP (email) y NNTP (news), dando lugar en el primero de los casos a los servidores web seguros, cuya URL comienza por el prefijo https://. Su fundamento consiste en interponer una fase de codificación de los mensajes antes de enviarlos a través de la red. Una vez que se ha establecido la comunicación, cuando una aplicación quiere enviar información a otra computadora, la capa SSL la recoge y la codifica, para luego enviarla a su destino a través de la red. Análogamente, el módulo SSL del otro ordenador se encarga de decodificar los mensajes y se los pasa como texto claro a la aplicación destinataria.

SSL también incorpora un mecanismo de autenticación que permite garantizar la identidad de los interlocutores. Típicamente, ya que este protocolo se diseñó originalmente para establecer comunicaciones web, el único que suele autenticarse es el servidor, aunque también puede realizarse una autenticación mutua.

Protocolo TLS

TLS, descrito en el documento RFC 2246, es un protocolo basado en la versión 3.0 de SSL, si bien con una serie de mejoras que lo hacen incompatible con este último. Una de las ventajas que proporciona sobre SSL es que puede ser iniciado a partir de una conexión TCP ya existente, lo cual permite seguir trabajando con los mismos puertos que los protocolos no cifrados. Mientras que SSL es un protocolo incompatible con TCP, lo cual significa que no podemos establecer una conexión de un cliente TCP a un sevidor SSL ni al revés, y por tanto es necesario diferenciarlos utilizando distintos números de puerto (80 para un servidor web normal y 443 para un servidor web sobre SSL), con TLS puede establecerse la conexión normalmente a través de TCP y el puerto 80, y luego activar sobre el mismo el protocolo TLS.

Protocolos IPsec

IPsec es un estándar que proporciona cifrado y autenticación a los paquetes IP, trabajando en la capa de red. En lugar de tratarse de un único protocolo, IPsec es en realidad un conjunto de protocolos, definidos en diversos RFCs, principalmente en el 2401, encaminados a proporcionar autenticación, confidencialidad e integridad a las comunicaciones IP. Su carácter obligatorio dentro del estándar IPv6, recordemos que en IPv4, la versión más empleada en la actualidad de este protocolo, es opcional, hará con seguridad que la popularidad de IPsec crezca al mismo ritmo que la implantación de la nueva versión del protocolo IP.

Debido a que algunos de los servicios que IPsec proporciona necesitan de la distribución e intercambio de las claves necesarias para cifrar, autenticar y verificar la integridad de los paquetes, es necesario que éste trabaje en consonancia con un conjunto externo de mecanismos que permita llevar a cabo esta tarea, tales como IKE, SKIP o Kerberos.

Autenticación, certificados y firmas digitales

Cuando se establece una comunicación de cualquier tipo es necesario poder asegurar que los mensajes no han sufrido alteraciones, es decir, que la información recibida coincide exactamente con la enviada. En muchos casos, existe el requerimiento adicional de conocer la identidad de nuestro interlocutor, sea éste una persona o algún tipo de dispositivo, para evitar que sea suplantado por un impostor. Denominaremos en general autenticación a las operaciones consistentes en verificar tanto la identidad de nuestro interlocutor como la integridad de los mensajes que de él recibimos.

Independientemente de que la operación de autenticación se lleve a cabo sobre el contenido de una comunicación o sobre los propios interlocutores, ésta puede realizarse en el mismo momento, de forma interactiva, como cuando se introduce una contraseña para acceder a un sistema, o dejarse pospuesta para ser realizada posteriormente fuera de línea, como cuando se firma digitalmente un mensaje, en cuyo caso la firma puede ser verificada tantas veces como se desee, una vez finalizada la comunicación.

Firmas Digitales

Una firma digital es una secuencia de bits que se añade a una pieza de información cualquiera, y que permite garantizar su autenticidad de forma independiente del proceso de transmisión, tantas veces como se desee. Presenta una analogía directa con la firma manuscrita, y para que sea equiparable a esta última debe cumplir las siguientes propiedades:

- Va ligada indisolublemente al mensaje. Una firma digital válida para un documento no puede ser válida para otro distinto.

- Sólo puede ser generada por su legítimo titular. Al igual que cada persona tiene una forma diferente de escribir, y que la escritura de dos personas diferentes puede ser distinguida mediante análisis caligráficos, una firma digital sólo puede ser construida por la persona o personas a quienes legalmente corresponde.

- Es públicamente verificable. Cualquiera puede comprobar su autenticidad en cualquier momento, de forma sencilla.

Certificados Digitales

Un certificado digital es esencialmente una clave pública y un identificador, firmados digitalmente por una autoridad de certificación, y su utilidad es demostrar que una clave pública pertenece a un usuario concreto. Evidentemente, la citada autoridad de certificación debe encargarse de verificar previamente que la clave pública es auténtica.

Verificación de Certificados Digitales

Una autoridad de certificación suele tener un ámbito relativamente local, como puede ser una empresa, un campus universitario o un país entero. Si fuera necesario verificar un certificado digital de un certificador ajeno, del cual desconocemos su fiabilidad, existe la posibilidad de que la clave pública del propio certificador esté a su vez firmada por otra entidad de la que sí nos fiemos, y de esta forma propagar nuestra confianza hacia la entidad certificadora en cuestión. Esta circunstancia puede ser aprovechada de forma jerárquica, como en las PKI (Infraestructuras de Clave Pública), o distribuida, como hace PGP. En esta modalidad, las entidades certificadoras se organizan en forma de árbol por niveles, de tal manera que las entidades certificadoras de un nivel poseen certificados digitales emitidos por autoridades de niveles superiores. Podremos verificar satisfactoriamente un certificado digital cualquiera, siempre que poseamos la clave pública de un certificador de primer nivel, que son muy pocos e internacionalmente reconocidos.

Como es natural, las entidades certificadoras que generen certificados finales tendrán la única responsabilidad de comprobar de manera fehaciente que cada clave pública pertenece a su propietario. Sin embargo, aquellas entidades que certifiquen a otras entidades, deberán garantizar además que estas últimas emplean mecanismos adecuados para comprobar las identidades de sus clientes. De lo contrario, alguien podría crear una autoridad de certificación, obtener el correspondiente certificado digital de niveles superiores, y luego emitir certificados falsos.

El esquema jerárquico es realmente simple y efectivo, pero presenta un problema importante: si uno de los certificadores resulta comprometido, todos sus descendientes en el árbol quedan invalidados. Esto obliga, por un lado, a que las autoridades de certificación sean lo más transparentes posible, y por otro a que se mantengan siempre al día las listas de revocación de certificados.


Infraestructuras Distribuidas

Frente a la estructura jerárquica, se puede construir un esquema distribuido de certificación de claves, también conocido como anillo de confianza, ring of trust en inglés, en el que todos los usuarios actúan como autoridades de certificación. Este sistema presenta la ventaja de ser muy resistente, ya que no depende de un pequeño grupo de entidades certificadoras, pero tiene el inconveniente de ser considerablemente más complejo de manejar para los propios usuarios.

Puesto que no existen autoridades de certificación centralizadas, cada usuario tiene que responsabilizarse de lo siguiente:

- Verificar la autenticidad de todas aquellas claves públicas que le sea posible.

- Certificar aquellas claves sobre las que tenga absoluta certeza de que pertenecen a sus propietarios.

- Elegir en qué condiciones confiará en los certificados de otro usuario.

Según el grado de confianza que presente un usuario, uno puede elegir creerse todos sus certificados, no aceptar ninguno, pensemos en un usuario que certifica todo lo que cae en sus manos, sin hacer ninguna comprobación, o aceptar aquellos que, además, posean firmas de otros usuarios.

Como puede comprobarse, en este esquema la confianza en una entidad certificadora puede tomar muchos valores, frente a los dos (confiable y no confiable) que puede tomar en un esquema jerárquico. Se establece, de hecho, una gradación de niveles de confianza que, como resultado, proporciona a su vez grados de confianza sobre las claves públicas que nos encontremos, variando desde desconfianza total hasta confianza absoluta.


Bibliografía consultada

An Introduction to Cryptography, Second Edition
An Introduction to Cryptography, Second Edition (Discrete Mathematics and Its Applications); Richard A. Mollin; Chapman & Hall/CRC; ISBN: 1584886188; 2006

Cryptography
Cryptography: theory and practice; Douglas R. Stinson; Boca Raton : CRC Press;

ISBN: 0849385210; 1995

Modern Cryptography
Modern Cryptography; theory and practice; Wenbo Mao; Upper Saddle River, NJ; Prentice Hall; ISBN: 0130669431; 2004

Advances in Coding Theory and Crytography
Advances in Coding Theory and Crytography (Series on Coding Theory and Cryptology); T. Shaska, W. C. Huffman, D. Joyner, V. Ustimenko; World Scientific Publishing Company; ISBN: 9812707018; 2007

Handbook of applied cryptography
Alfred J. Menezes, Paul C. van Oorschot, Scott A. Vanstone; Boca Raton; CRC Press; ISBN: 0849385237; 1997

Cryptography for dummies
Chey Cobb; Hoboken, NJ; Wiley Pub; ISBN: 0764541889; 2004

Applied cryptography
Applied cryptography: protocols, algorithms, and source code in C; Bruce Schneier; New York; Wiley; ISBN: 0471128457; 1996

Aplicaciones Criptográficas

Aplicaciones criptográficas, Segunda edición; Jorge Ramió Aguirre; Departamento de Publicaciones, Universidad Politécnica de Madrid, Madrid; ISBN 83-87238-57-2; 1999

Seguridad Informática y Criptografía

Seguridad Informática y Criptografía, Cuarta edición; Jorge Ramió Aguirre; Madrid; ISBN 84-86451-69-8; 2006

Criptografía y Seguridad en Computadores.

Cuarta edición; Manuel Jose Lucena López; Departamento de Publicaciones; Universidad de Jaén; España; 2008.