Administra tu Blog

¡Crea tu Blog Ya! Fácil y Gratis

Categoría: Tecnologías varias

WiMAX: la que se nos iba a venir encima. Pues no, oiga.

teknoplof 18/11/2009 @ 12:13

wimax.jpgWiMAX son las siglas en inglés de Interoperabilidad Mundial para Acceso por Microondas (Worldwide Interoperability for Microwave Access). Es una tecnología de conexión parecida al WiFi que todos ya conocemos pero a lo bestia. WiMAX ofrece mayor ancho de banda y mayor alcance, lo que permite crear redes inalámbricas metropolitanas y, lo más importante, con una inversión ridícula con respecto a lo que representa como avance tecnológico. Además, está respaldada por las empresas más importantes del sector, que siempre ayuda.

WiMAX es el protocolo estandarizado como IEEE 802.16 para la conectividad que permite la recepción por microondas y retrasmisión por ondas de radio. El único organismo habilitado para certificar el cumplimiento del estándar y la interoperabilidad entre equipamiento de distintos fabricantes es el Wimax Forum; todo equipamiento que no cuente con esta certificación no puede garantizar su interoperabilidad con otros productos. La tecnología WiMAX podría ser la base de las redes metropolitanas de acceso a Internet, sirviendo de apoyo para facilitar las conexiones en zonas rurales y utilizándose en el mundo empresarial para implementar las comunicaciones internas. Asimismo, su popularización puede suponer el despegue definitivo de otras tecnologías, como VoIP (llamadas de voz sobre el protocolo IP), debido a su amplio ancho de banda.

Según las especificaciones es capaz de conseguir una velocidad de 70 Mb por segundo (hasta 300 Mbps full-duplex) y de cubrir un área de unos 50 Km a la redonda con una sola antena. Teniendo en cuenta que WiFi llega a 300 metros con un poco de suerte y el viento a favor, y que su ancho de banda oscila entre 11 Mbps y 54 Mbps, dependiendo de la modificación (a/b/g) del estándar, pues queda meridianamente claro que WiMAX se convertirá en el futuro de las comunicaciones inalámbricas. Si es que no se lo carga antes alguna mano negra, claro.

Un sistema WiMAX con seis puntos de acceso podría dar cobertura de 360º para 1.200 abonados, con un coste de unos 6.000 €. La diferencia de costes es evidente, ya que otros sistemas llegan a suponer la friolera de 96.000 € para una red de 500 abonados.

La infraestructura de WiMAX consta de varias partes claramente diferenciadas. Por un lado tenemos las antenas-torre o estaciones base, con capacidad para ofrecer cobertura hasta 8.000 Km2 a frecuencias del orden de 66 GHz. Al abarcar tanta distancia, se hace necesario, a veces, que existan antenas intermedias que operen en bajas frecuencias (entre 2 y 11 GHz) con el fin de evitar las interferencias ocasionadas por la presencia de elementos. Estas antenas tienen un área de cobertura de 65 Km2, lo que viene a ser, más o menos, el radio de acción de las antenas de telefonía móvil. Por último tendríamos el elemento de red de nuestros equipos, es decir, la tarjeta WiMAX que recibe la señal.

Los usuarios finales recibimos la señal de las antenas de baja frecuencia, con un ancho de banda considerable y una cobertura impresionante. Además, y como ocurre con los teléfonos celulares, podríamos desplazarnos en un estado conectado permanente sin perder la conexión, incluso aunque saliéramos de la zona de cobertura o hotspot, ya que automáticamente entraríamos en otra área cubierta y la transición de una a otra se realizaría de manera transparente al usuario debido al solapamiento entre zonas.

Actualmente se recogen dos variantes dentro del estándar 802.16, el modelo fijo y el de movilidad completa. El acceso fijo (802.16d) establece un enlace de radio entre la estación base y un equipo situado en el domicilio del usuario. Para este entorno fijo las velocidades teóricas máximas que se pueden obtener son de 70 Mbps con un ancho de banda de 20 MHz. Sin embargo, en entornos reales se han conseguido velocidades de 20 Mbps con radios de célula de hasta 6 Km, ancho de banda que es compartido por todos los usuarios de la célula.

El modelo de  movilidad completa (802.16e) permite el desplazamiento del usuario de un modo similar al que se puede dar en redes de móvil GSM/UMTS.

Como ya se ha mencionado, las expectativas de WiMAX se extienden también a sitios rurales con poco acceso, es decir, a todas aquellas personas a las que el ADSL y el cable les queda fuera de alcance y buscan soluciones para poder trabajar desde sus hogares o centros de trabajo. Pero también es muy importante en las ciudades y localidades más céntricas. Actualmente disponemos de una conexión por cable (par telefónico, fibra óptica, etcétera) que llega a nuestras casas hasta un router o un módem, y es este aparato el que se encarga de distribuir la señal inalámbrica (WiFi) por el resto de nuestro hogar para llegar a un portátil, un pocket PC o una videoconsola. Con WiMAX la señal inalámbrica llega directamente a nuestra casa (lo que se conoce como "la última milla") por el aire, y son los distintos aparatos y gadgets los que, por medio de una tarjeta de red adecuada, se conectan directamente. Los proveedores de acceso a Internet dispondrían, pues, de esta posibilidad para ofrecer el servicio sin necesidad de utilizar instalaciones de cables. Nos mandan Internet por las nubes, como si de una red WiFi gigantesca se tratase.

Con semejante ancho de banda, velocidad y cobertura, los diseñadores de aplicaciones y tecnologías que necesitan "mucha chicha" para funcionar se frotan la manos. El VoIP, la tele por Internet, el cine online, retrasmisiones en riguroso directo, todo ello es posible gracias a WiMAX. Las compañías de telefonía móvil tiemblan, y es que el despliegue de WiMAX podría utilizarse también como alternativa a las redes telefónicas, ya que un móvil o un ordenador conectado a WiMAX podría hacer llamadas de telefonía IP sin coste añadido y con disponibilidad de una completa movilidad. Además esta tecnología soporta las denominadas antenas inteligentes, que emiten un haz estrecho que puede ir moviéndose para enfocar siempre al receptor, evitando así interferencias. Factores asaz importantes para competir de plano con la telefonía 3G.

Como digo, las operadoras tradicionales de Internet y de telefonía móvil ven a WiMAX como un claro competidor amenazando con total impunidad a sus ADLS, sus GSM, sus GPRS y sus UTMS. WiMAX podría hacerse con el mercado de la última milla (WiMAX atraviesa el hormigón, UMTS se desvanece con la niebla) dejando con un palmo de narices a todas esas empresas que tanto se afanaron (y afanan) en tirar cable y cable hasta la saciedad. Y ahí es donde veo yo el peligro, ahí es donde podría aparecer una mano negra que consiga que esto no llegue a buen puerto y dé con sus especificaciones en el fondo del mar. Matarile, rile, rile.

En España ya suministran WiMAX operadores como Iberbanda, Broadnet o Neosky. En Euskadi existen implementaciones, experimentales y comerciales, en el 90% del territorio, y Euskaltel dispone de varios cientos de abonados WiMAX en zonas rurales (el Gobierno Vasco ofrece subvenciones de hasta el 100% de la instalación). En Andalucía, Madrid, Murcia, Comunidad Valenciana, Galicia y otros lugares ya disponen de WiMAX en mayor o menor medida.

Pero, ¿por qué no despega esto de una vez por todas? Nokia y Samsung anunciaron hace años la aparición inminente de teléfonos móviles preparados para WiMAX (no quieren perder tajada) y, efectivamente, estos terminales existen, pero como la red no es un algo muy extendido, no sé dónde los estarán vendiendo. Al menos en España no pita o no lo dejan que pite. En Corea, por ejemplo, llevan desde el año 2006 utilizándolo masivamente son dispositivos de Samsung, Intel y otros fabricantes.

Según previsiones antiguas se esperaba que WiMAX creciera un 70% en cinco años. ¿Lo veremos realmente? Llevo escuchando hablar de WiMAX desde mediados del año 2005, más o menos, y no veo que los responsables se interesen mucho por su implantación, a excepción de en entornos rurales alejados. ¿Por qué se oferta cada vez más ADSL y cable módem si, en teoría, son tecnologías sentenciadas a la desaparición? Somos los últimos en Europa, y de los del vagón de cola en el mundo, en la implantación de WiMAX y esto no me huele nada bien. No, no. Todo esto me suena mucho, pero mucho, a la trayectoria del formato de vídeo Betamax que Sony presentó en los años setenta, o la del LaserDisc, o la del MiniDisc, o a la...

Programación del puerto paralelo

teknoplof 17/09/2009 @ 09:03

foto0.jpgSi existe una tecnología que inexorablemente camina hacia su extinción, esa es la del archiconocido y bien querido por todos nosotros puerto paralelo. Este conector que ya no viene en los portátiles (ni en muchos ordenatas de sobremesa) apareció de la mano de IBM en 1981 con su primer PC y ha llegado incorrupto hasta nuestros días.

Su estructura de 25 pines hace de él un conector nada discreto, mas muy fácil de manejar. No es el más rápido, pero mediante su manejo podemos interconectarnos con el mundo real de la manera más sencilla, sabiendo un poquito de aquí y un poquito de allá. Cierto es que su uso ha sido casi exclusivamente dedicado al control de impresoras, pero vía puerto paralelo podemos manejar desde un juego de luces a una lavadora, un robot o una excavadora. ¿Cómo se te queda el cuerpo? Y fácil, muy fácil.

foto1.jpg

Básicamente, lo que podemos hacer con cada uno de los 25 pines de un puerto paralelo es ponerlos a 0 ó a 5 voltios. Esta situación binaria combinada es capaz de activar un relé, por ejemplo, que a su vez active un electrodoméstico, una bombilla o cualquier otro elemento electrónico.

Comencemos viendo en la siguiente imagen la estructura de pines del puerto en cuestión. Realmente, el puerto paralelo consta de tres puertos diferentes integrados en el propio conector (los que aparecen de color azul, rojo y naranja en la imagen).

foto2.gif

El puerto de datos (DATA), permite transmitir un byte (8 bits) de datos. Cada uno de los bits se corresponde con uno de los pines D0 a D7. Por tanto, en conjunto, se pueden transmitir valores entre 0 y 255 en formato binario. Por ejemplo, para transmitir el 139, 10001011 en binario, se pondrán a 5 voltios los pines D7, D3, D1 y D0. Este puerto puede configurarse para servir tanto de entrada como de salida de datos.

El puerto de control (CONTROL) es sólo de salida y se corresponde con los pines C0 a C3, con lo que en principio nos permite trasmitir valores entre 0 y 16. En un principio este puerto se utilizaba para transferir comandos inmediatos a la impresora como un salto de línea o un reset, y los pines conservan los nombres que se les dieron en esa época (C0=Strobe, C1=Auto feed, C2=Initialize y C3=Select). Y por razones históricas tambien, C0, C1 y C3 están invertidos, lo que quiere decir que invierten la salida y, al contrario que los pines normales, representan el 0 con 5 voltios y el 1 con 0 voltios. Por ejemplo, el número 6, que es 0110 en binario, al estar los bits invertidos, deberíamos poner C3, C2 y C0 a 5 voltios y C1 a 0.

Por último tenemos el puerto de estado (STATUS). Se usaba originalmente para recibir el estado de la impresora, también ha heredado los nombres de los pines de aquella época (S3=Error, S4=Select in, S5=Paper end, S6=Acknowledge y S7=Busy) y también presenta algún pin invertido (el S3 y el S6). Es un puerto sólo de entrada.

El resto de pines (los que están en verde en el gráfico anterior) están conectados a tierra y nos ofrecen el voltaje de referencia de 0 voltios.

Para empezar a cacharrear con el puerto paralelo, lo ideal es montar un adaptador hembra en una placa de pruebas (protoboard en inglés), que no es otra cosa que una plancha de plástico reutilizable, con agujerillos y contactos metálicos, usada para construir prototipos electrónicos (o realizar pruebas experimentales) normalmente sin soldadura.

Además, necesitaremos un cable paralelo para conectar el prototipo al ordenador y, también, que este ordenador disponga a su vez de puerto paralelo, si no vamos aviados.

foto3.jpg

Lo que vamos a hacer es soldar un cable a cada pin y, en la placa de pruebas, ordenar los extremos en línea, usando un color en cada tipo de puerto para distinguirlos fácilmente (imágenes siguientes).

Los cables rojos pertenecen al puerto de control, los amarillos al de datos y los verdes al de estado. Utilizaremos también dos cables negros para los conectores a tierra.

foto4.jpg

foto5.jpg

foto6.jpg

Como ejemplo de utilización vamos a conectar 8 leds a cada uno de los pines de datos, de esta manera obtendremos feedback visual en tiempo real de lo que ocurre en cada momento, es decir, si ponemos un pin a 0 el led deberá de permanecer apagado si lo ponemos a 1 se encenderá. Utilizaremos el siguiente esquema para la realización del montaje.

foto7.gif

Por supuesto necesitaremos 8 leds y 8 pequeñas resistencias de 470 ohmnios, que son las representadas en la imagen por esos pequeños rectángulos intercalados entre pin y led. Las resistencias sirven para limitar la corriente que pasará por cada cable, aunque en este caso concreto son prescindibles, porque cada pin del puerto paralelo sólo puede suministrar 40mA como máximo, una corriente suficientemente baja para que aguanten la mayoría de los leds y no se quemen. Pero por si las moscas...

foto8.jpg

Una vez tengamos el engendro preparado, ya sólo nos queda conectarlo al ordenador a través del puerto paralelo y ponernos a programar. El siguiente ejemplo está escrito en C para Linux, pero es fácilmente portable a cualquier otro lenguaje de programación para cualquier plataforma. El propio código está comentado, pero después se apuntan un par de cosillas interesantes como refuerzo.

[código]

#include
#include
// En asm/io.h están definidas las funciones ioperm() y outb()
#include
 
// Esta es la dirección más frecuente para un puerto paralelo
#define DATAPORT 0x378
 
int main()
{
  // Obtenemos permiso de acceso para la dirección de DATAPORT y
  // las 2 siguientes
  if (ioperm(DATAPORT, 3, 1)) {perror("ioperm"); return 1;}
 
  // Entramos en un bucle infinito
  while(1)
  {
    int input;
 
    // Le pedimos al usuario que introduzca un número
    printf("Introduce un número entre 0 y 255 (-1 para salir)\n");
    // Leemos el valor introducido y lo guardamos en "input"
    scanf("%d", &input);

    // Si "input" vale "-1" salimos del bucle
    if(input==-1) break;

    // Si "input" no está entre "0" y "255" (y no era "-1") no nos
    // interesa, así que volvemos directamente al comienzo del bucle
    if(input < 0 || input > 255) continue;
 
    // Si hemos llegado hasta aquí es que "input" vale entre "0" y
    // "255" y podemos sacarlo por el puerto paralelo
    outb(input, DATAPORT);
  }
 
  // Antes de terminar el programa, dejamos los permisos de acceso
  // a los puertos como estaban
  if (ioperm(DATAPORT, 3, 0)) {perror("ioperm"); return 1;}
 
  //El programa termina sin errores
  return 0;
}

[/código]

La función ioperm() modifica los permisos de acceso a los puertos. Recibe tres enteros: el primero le indica la dirección del primer puerto cuyos permisos queremos modificar, el segundo es el número de puertos y el tercero debe ser 1 para conceder el permiso y 0 para denegarlo. De esta manera, la sentencia ioperm(DATAPORT, 3, 1) asigna permiso a 3 puertos, esto es, al de datos, al de estado y al de control. Al final del programa restablecemos el estado dejando todo como estaba con ioperm(DATAPORT, 3, 0).

La función outb() se encarga de enviar un byte de datos a un determinado puerto. Recibe dos enteros: el primero es el byte que se quiere enviar (debe estar entre 0 y 255) y el segundo es la dirección del puerto. La dirección del puerto de datos paralelo, en la gran mayoría de los ordenadores es, en hexadecimal, 0×378. Esta declaración se encuentra al principio del listado en la variable DATAPORT con #define DATAPORT 0x378. Para una segundo puerto paralelo sería 0x278 y para un tercero 0x3BC. De todas maneras, se puede consultar la dirección de nuestro puerto paralelo en la BIOS de la placa base.

Ejecutando el programa podremos obtener resultados como los de las dos imágenes siguientes. Por un lado (a la izquierda) tenemos la salida del puerto de datos con el número 13 (00001101 en binario) y, por otro (a la derecha), tenemos la salida del número 167 (10100111 en binario). Como es el puerto de datos y los bits no están invertidos, cada 1 se corresponderá con un led encendido y cada 0 un led apagado.

foto9.jpg

Muy bien. Todo claro. Ya sabemos cómo inducir voltaje mediante software en una serie de pins para que enciendan y apaguen unos leds. Pero, ¿cómo demonios se hace para leer información del conector? ¿Cómo puedo saber, por ejemplo, que un interruptor ha sido pulsado?

Bien, en este punto debemos comentar que para ello nos hace falta algún elemento más para nuestra placa de pruebas. Evidentemente un interruptor y, también, una resistencia pull-down. Y ¿para qué la resistencia? Pues muy sencillo. Nosotros no podemos saber con rigor absoluto cuando un pin está a 0 voltios, porque los componentes electrónicos son muy puñeteros y ¿quién me asegura a mí que después de retirar una corriente de 5 voltios de un pin, el circuito detrás de ese pin no esté induciendo un cierto voltaje? ¿O si quizás la propia configuración del circuito podría hacer que éste estuviera actuando como un diminuto condensador guardando alguna pequeña carga, quizá entre 0 y 5 voltios? Nosotros no podemos asegurar nunca que un pin de entrada no conectado a nada está a 0 voltios. Eso sería una falacia. Estará a un voltaje arbitrario (puede que cero, puede que no) y desconocido para nosotros.

Para evitar este pequeño escollo utilizamos una resistencia pull-down, que no es otra cosa que una resistencia puesta entre una línea y masa cuyo objetivo es dar a esa línea un valor lógico de nivel bajo de masa (0 voltios) cuando no hay ninguna señal conectada. Se emplea una resistencia de valor intermedio. Lo más habitual es que sea de 1 ó 10 KΩ. Cuando el interruptor está cerrado, la resistencia que ofrece la rama del circuito que va a los 5V es mucho menor que la que va hasta los 0V, así que el voltaje en el nodo donde confluyen las tres ramas del circuito es prácticamente 5V. Lo bueno es que aquí, cuando el interruptor se abre, el pin de entrada no queda aislado, sino que sigue conectado a tierra a través de la resistencia. Cualquier carga que hubiera quedado atrapada en el circuito se descarga rápidamente a través de la resistencia y la entrada se pone a 0V. ¡Ingenioso!

En la siguiente imagen vemos como queda el circuito.

foto10.jpg

Existen también las resistencias pull-up, que funcionan de igual manera pero conectadas a los 5 voltios. En el código de ejemplo siguiente utilizaremos una de ellas.

¿Y el software? Pues igual de sencillo que el código para escribir datos en el puerto; para leer disponemos de la función inb(), que devuelve un byte de datos leído a través del puerto. Por ejemplo, para leer desde el puerto de estado (Status) y guardarlo en la variable entrada pondríamos hacer short int entrada = inb(0x379).

El siguiente ejemplo lee el valor de dos interruptores conectados a los pines 3 y 4 del puerto de estado. Los interruptores usan resistencias pull-up, por lo que la lectura de un 0 lógico en uno de esos pines representa una pulsación en su interruptor asociado. Un mensaje en pantalla dice qué interruptor se está pulsando.

[código]

// Este programa monitoriza el estado de 2 pulsadores conectados
// a las líneas de STATUS y muestra por pantalla si se ha pulsado
// alguno de ellos
 
#include
#include
 
// En asm/io.h están definidas las funciones ioperm() y outb()
#include
 
// Esta es la dirección más frecuente para el puerto paralelo
#define DATAPORT 0x378
// Y esta es la dirección de las líneas de estado
#define STATUSPORT DATAPORT+1
 
#define TIEMPOCONPULSACION 300000
#define TIEMPOSINPULSACION 10000
 
// Máscaras para los pines 3 y 4 del puerto de estado
#define BOTON1 8
#define BOTON2 16
 
int main()
{
  // Obtenemos permiso de acceso para la dirección de DATAPORT y
  // las 2 siguientes
  if (ioperm(DATAPORT, 3, 1)) {perror("ioperm"); return 1;}
 
  //Entramos en el bucle principal del programa
  while(1)
  {
    // "input" va a guardar el valor leído desde el puerto
    short int input=0;
    // "pulsacion" nos va a decir qué botón se ha pulsado
    short int pulsacion = 0;
 
  // Leemos el byte de las líneas de estado y lo guardamos en "input"
  input=inb(STATUSPORT);
 
  // Si "input" tiene el bit BOTON1 a cero es que se ha pulsado el
  // boton correspondiente
  if((input & BOTON1) ==0)
    // Ponemos "pulsacion" a "1" para indicarlo y sacamos un
    // mensaje por pantalla
    pulsacion=1;
    // Si tiene a cero el bit BOTON2 es que se ha pulsado el otro
    // botón
  else if((input & BOTON2) ==0)
    pulsacion=2;
 
 // Si pulsacion !=0 es que se ha pulsado algun botón
 // Esperamos TIEMPOCONPULSACION microsegundos para no inundar la 
 // pantalla de texto
 if(pulsacion)
 {
  printf("Pulsando botón %d\n",pulsacion);
   fflush(stdout);
  usleep(TIEMPOCONPULSACION);
 }
 // En caso contrario sólo esperamos TIEMPOSINPULSACION microsegundos
 else usleep(TIEMPOSINPULSACION);
  }
  // Antes de terminar el programa dejamos los permisos de acceso
  // a los puertos como estaban
  if (ioperm(DATAPORT, 3, 0)) {perror("ioperm"); return 1;}
 
  // El programa termina sin errores
  return 0;
}

[/código]

Pues bien, después de esto ya deberíamos estar preparados para comenzar a adentrarnos en este intrigante mundo. Hombre, de aquí a manejar una lavadora queda, la verdad. Pero hay que tener en cuenta que todo es cuestión de leer y escribir datos desde y en el puerto paralelo, lo demás ya es cuestión eléctrica y electrónica. Además, se puede encontrar mucha y muy jugosa información en Internet acerca de este tema. Ya se sabe, preguntando al tío Google se llega Roma (.com).

FUENTE: Las imágenes, parte del texto y la inspiración provienen del magnífico blog Obsoletos.

La firma electrónica

teknoplof 07/08/2009 @ 13:25

firma.jpgLa revolución de las tecnologías de la información está cambiando considerablemente la relación de los individuos con ellos mismos y, por supuesto, con organizaciones y administraciones. No es raro hoy día comprar algo en Internet, solicitar el saldo de puntos de tu carné de conducir o remitir una solicitud de alta en un padrón municipal.

Con respecto a la relación entre individuos o entidades privadas es más que patente la globalización de los sistemas de comunicación y la utilización de los mismos que hacemos todos nosotros todos los días. Sin embargo, la relación con la Administración o con organismos públicos en España no se encuentra aún muy extendida entre el usuario medio de redes de comunicación.

Las razones de ello son varias, pero sin duda que podemos destacar dos muy importantes: la necedad de las distintas administraciones a la hora de informatizar un servicio público y el desconocimiento y recato del usuario para utilizar los que ya se encuentran disponibles. La segunda razón es más que obvia, la mayor parte de los usuarios de Internet no se atreve a realizar según que trámites a través de la Red debido a la falta de información con respecto a la seguridad de los sistemas. La razón primera es más preocupante, y es que resulta vergonzoso que muchos ayuntamientos de este bendito país aún no dispongan siquiera de una página web decente.

El miedo que nos da introducir nuestro número de tarjeta de crédito en una web es la mayor parte de las veces totalmente infundado, ya que desde un ordenador personal libre de virus es muy complicado que ocurra algo. Pero la incapacidad de avanzar tecnológicamente que tienen nuestros dirigentes no se puede remediar y forma parte de nuestra idiosincrasia. Es muy triste comprobar cómo la mayoría de los trámites y gestiones que, aparentemente, se pueden realizar desde el sitio web de un ayuntamiento, al final sólo te lleven a una página de información donde aparece la documentación que debes presentar y el horario de la ventanilla donde te tienes que presentar físicamente. ¡Que no avanzamos, agüela, que seguimos igual que cuando usté era moza!

Bueno, algo avanzamos, algo avanzamos. Pero poco. Y lento.

El caso es que entre las gestiones que sí podemos realizar a través de Internet nos vamos a encontrar dos tipos: las que simplemente se hacen y punto y las que te van a solicitar una firma electrónica o un certificado digital (tanto monta, monta tanto). ¿Y qué es una firma electrónica? Pues nada más y nada menos que un conjunto de datos informáticos relativos a una persona y consignados de manera electrónica que pueden ser utilizados como medio de identificación de dicha persona, teniendo el mismo valor que una firma manuscrita. ¿Y para qué se utiliza? Pues para firmar tus documentos electrónicos, hombre, que para los otros boli o lápiz.

Las firmas electrónicas cubren perfectamente los objetivos de confidencialidad, integridad y no repudio. La confidencialidad se refiere a que determinados datos sólo se muestran al usuario autorizado mediante dicha firma; la integridad nos asegura que los mensajes intercambiados y firmados digitalmente llegarán a su destino sin modificaciones; no repudio indica que ni el receptor ni el emisor pueden desdecirse del propio mensaje firmado.

Una firma electrónica es en realidad un certificado de seguridad digital emitido por una entidad de confianza y acreditada para tal fin. En España estos certificados los emite, entre otras empresa privadas, la Fábrica Nacional de Moneda y Timbre (FNMT) a través de la Entidad Pública de Certificación llamada CERES (CERtificación ESpañola). Es una forma de permitir que tanto el receptor como el emisor de un contenido puedan identificarse mutuamente con la certeza de que son ellos los que están interactuando, evitar que terceras personas intercepten esos contenidos y que los mismos puedan ser alterados, así como evitar también que ninguna de las partes pueda rechazar la información una vez aceptada. Digamos que es lo mismo que la firma manuscrita; tú firmas algo y estás asegurando con tu rúbrica que eres tú y sólo tú el que acepta lo firmado. Asimismo luego no podrás desdecirte de ello. Ya es tarde, joven, no haber firmado; ahora te quedas con el piso y con las deudas del anterior propietario. Ajo y agua.

Los certificados digitales van y vienen por Internet continuamente; probablemente te hayas cruzado con más de uno a la hora de navegar por las llamadas páginas web seguras. Puedes consultar los que tienes instalados en tu equipo desde las opciones de tu navegador. En Internet Explorer los tienes en Herramientas>Opciones de Internet>Contenido>Certificados; en Google Chrome están en Personaliza>Opciones avanzadas>Gestionar certificados; en Firefox en Herramientas>Opciones>Avanzado>Cifrado>Ver certificados; y en Opera los puedes ver en Herramientas>Opciones>Avanzado>Seguridad>Administrar certificados. Con el Safari de Apple ni se te ocurra utilizar certificados digitales, puedes tener más problemas que ventajas. I'm sorry, Steve Jobs.

Para obtener una firma digital, lo cual es gratuito, faltaría más, hay que completar tres pasos. Paso uno: solicitar el certificado en la página web de la FNMT-CERES (http://www.cert.fnmt.es). Paso dos: acreditarse físicamente en una oficina de registro con tu DNI o pasaporte y el código de solicitud generado en el paso primero. Paso tres: Descargar el certificado. Por supuesto el paso dos es el más importante, ya que vinculará una firma electrónica a una persona física, y la única forma de comprobar que la persona física es física, física, es acudiendo con tu cuerpo físico a la oficina física que te indicarán en la propia web. Física elemental, vaya.

Una vez descargado el certificado de seguridad, enhorabuena, ya puedes firmar digitalmente tus documentos o formularios, puedes agregar la misma firma a tus correos, identificarte en Internet, allá donde te lo pidan, y asegurar digitalmente que eres tú el que está allí conectado. Con ayuda de los certificados electrónicos se puede también realizar la protección de la información mediante un cifrado o transformación criptográfica de los mensajes, haciendo su contenido ilegible salvo para el destinatario. Con ayuda de ellos podemos obtener una secuencia de datos que permiten asegurar que el titular de ese certificado ha firmado electrónicamente un documento y que éste no ha sido modificado.

Pero eso sí, así como las firmas manuscritas se pueden falsificar, con los certificados digitales hay que guardar una serie de precauciones a la hora de utilizarlos para que no caigan en malas manos. Deberemos hacer siempre una copia de seguridad (la haremos desde el propio navegador) para no extraviarlo a causa de una pérdida de datos en el ordenador y evitar así tener que volver a desplazarnos a la oficina de registro. Además, los certificados digitales constan de dos partes: una parte pública, que es la que tiene la identidad del firmante o usuario, y otra privada que tiene unas claves criptográficas para llevar a cabo el algoritmo de firma electrónica. Estas dos partes se pueden manejar por separado y hay que tener en cuenta que la parte privada es la que da la capacidad de realizar la firma, luego la habremos de mantener siempre bajo custodia y no ceder su control a terceros para que no puedan firmar en nuestro nombre.

Los certificados, al igual que las tarjetas bancarias, tienen un período de vigencia y además se pueden cancelar o revocar, siempre que el titular lo desee o dude de poseer en exclusiva la clave privada. Cuando el certificado está próximo a su fecha de caducidad se puede renovar sin tener que desplazarse a la oficina de registro de nuevo. También por accidente o robo, y si creemos o sospechamos que la parte privada del certificado no está bajo nuestro exclusivo control, podemos anular su validez mediante un correo electrónico, una llamada telefónica o mediante nuestra presentación en cualquiera de las oficinas de registro.

Como apunte final comentar que el nuevo DNI electrónico incluye ya de serie un certificado clase 2CA para la firma electrónica (con el bit de "no repudio" activo), además de otro certificado para la autenticación. En la página web http://www.cert.fnmt.es/index.php?o=cert&lang=es dispones de un amplio listado de servicios ofrecidos por organismos y empresas en los que, de alguna manera, puedes utilizar tu nueva firma digital. Esperemos que poco a poco vayan siendo más numerosos y avancemos un poquito más hacia Europa en este campo.

Llega el JPEG XR ¿para quedarse?

teknoplof 30/07/2009 @ 10:47

JPEG XREl nuevo formato gráfico de Microsoft llamado HD Photo (High Definition Photo), y registrado en la ISO con el nombre de JPEG XR, ya ha sido aceptado y estandarizado con la norma ISO/IEC 29199-2.

Dos años después de que la empresa de Redmon comenzará los trámites para que la Organización Internacional para la Estandarización aceptara su nuevo invento, la espera a dado sus frutos y ya está aquí el formato que revolucionará cámaras digitales, teléfonos móviles, páginas web, aplicaciones multimedia y un largo etcétera.

JPEG XR, al que también llaman Windows Media Photo, es un formato gráfico similar al JPEG pero con dos características importantísimas. La primera es que, según dicen, es capaz de reducir en un 50% el tamaño de los actuales archivos de imagen JPG; la segunda se refiere a la calidad de imagen, y es que parece ser que la pérdida por compresión es casi nula. En síntesis, este formato creará archivos de imagen JPG mucho más pequeños y con mucha mejor calidad que los actuales. La cuadratura de círculo, vaya.

El formato dispone de una paleta de colores más amplia, por lo que es capaz de capturar mayor nivel de detalle. Además su factor de compresión es mayor y posee soporte para tratamiento de imágenes desde las cámaras de fotos. Tiene la posibilidad de generar imágenes con o sin pérdida, pero aun siendo sin pérdida, los archivos resultantes son menores que los anteriores JPG.

JPEG XR ha sido recomendado por la ITU (International Telecommunication Union) y ha recibido ya el apoyo del fabricante de cámaras de fotos Hasselblad y de las compañías Foveon, ARM y Novatek. Asimismo, Adobe respalda el proyecto e introducirá el formato como una extensión para su Photoshop, lo que permitirá trabajar directamente con JPEG XR desde el software de edición fotográfica.

Lo bueno del tema, y en eso sí que ha acertado Microsoft, es que al convertirlo en un estándar cualquier empresa podrá implementarlo en sus productos, ya sean de software o de hardware. Estrategia totalmente novedosa para estos chicos que acostumbraban a inventarse formatos propietarios que sólo podían utilizarse en y desde Windows, queriendo encima vendernos la moto de que eran lo mejor de lo mejor inventado en la historia de las invenciones del mundo mundial.

De momento Windows Vista y el recién llegado Windows 7 ya soportan el formato, antes incluso de que fuera estandarizado. Además, Microsoft ofrece un SDK para usarlo en otras aplicaciones de manera gratuita. Vamos que están que tiran la casa por la window.

Ahora sólo queda esperar a ver si este nuevo estándar se convierte en algo utilizado masivamente por fabricantes y desarrolladores (particular y personalmente creo que debería ser así) o si, por el contrario, asistimos a un monumental batacazo como sucedió con el JPEG 2000. El tiempo lo dirá.