Search Results for: IoT

Introducción a RFID

La tecnología RFID (Radio Frequency Identification) permite identificar de manera unívoca automáticamente un objeto gracias a una onda emisora incorporada en el mismo, que transmite por radiofrecuencia los datos identificativos del objeto. Actualmente estamos acostumbrados a encontrar esta tecnología en forma de etiquetas adhesivas, de forma que un objeto con una de estas etiquetas puede ser localizado a una distancia que va desde unos pocos centímetros hasta varios kilómetros, dependiendo de la fiabilidad de varias características de estas etiquetas, como pueden ser la frecuencia de la emisión, la antena o el tipo de chip que se use. En la etiqueta se graban los datos identificativos del objeto al que ésta está pegada, y dicha etiqueta genera una señal de radio que un lector físico se encargaría de recibir, transformar en datos y transmitir dicha información a la aplicación informática especifica (middleware).

La tecnología RFID va dirigida principalmente al sector logístico y al sector de la defensa y seguridad, pero sus beneficios son aplicables a otros ámbitos ya que dispone de múltiples ventajas. Entre otras, podemos citar que permite el almacenamiento de un gran volumen de datos mediante un mecanismo de diminutas dimensiones, automatiza los procesos para mantener la trazabilidad y permite incluir una mayor información a la etiqueta reduciendo así los errores humanos, evita su visibilidad en caso de intento de robo y permite mayor facilidad de retirada de un determinado producto del mercado en caso de que se manifieste un peligro para la seguridad.

Actualmente podemos encontrar dicha tecnología en tiendas de artículos, para identificar los productos y sus precios o como medida de seguridad, en transportes públicos para el control de acceso o de equipajes, en identificación de mascotas implantando un chip subcutáneo, en pago automático de peajes, en bibliotecas, eventos deportivos tipo maratones para identificar corredores, en el ámbito sanitario para control de medicamentos, identificación de muestras, etc.

Basándonos en lo anterior podemos hablar de cuatro componentes básicos en ésta tecnología:

  • Las etiquetas: también conocidas como tags o transpondedores (transmisor+responder). Están compuestas por una antena que se encarga de transmitir la información, un transductor radio que convierte la información que transmite la antena y un microchip capaz de almacenar el numero de identificación y otros datos. Dichas etiquetas tienen un coste de apenas unos céntimos de euro y sus dimensiones son de hasta 0.4 mm². Según la fuente de energía que usen podemos encontrar:
    • Etiquetas pasivas: no necesitan fuente de alimentación interna, son circuitos resonantes. Alcanzan distancias entre unos pocos milímetros y 7 metros. Son de un tamaño menor que el habitual. Se suelen insertar en pegatinas y son las mas baratas del mercado.
    • Etiquetas activas: poseen una batería interna, por lo que su cobertura (cientos de metros) y capacidad de almacenamiento es mayor. Se puede usar en zonas de agua, o con mucha presencia de metales y siguen siendo válidas. Son más fiables y seguras, por lo tanto más caras y de mayor tamaño.
    • Etiquetas semi-pasivas: mezcla de las dos anteriores.

    Según la frecuencia a la que trabajen, las etiquetas se pueden clasificar en baja (125kHz – 134kHz), alta (13,553 MHz – 13,567 MHz ), ultra alta (400 MHz – 1000 MHz ) y microondas (2,45 GHz – 5,4 GHz ). Dicha frecuencia está ligada a diferentes características, como la capacidad de trasmisión de datos, velocidad, radio de cobertura, coste…

  • Lector de RFID: recibe la información emitida por las etiquetas y la transfiere al middleware. Está formado por una antena, un transceptor y un decodificador. Si la etiqueta permite escritura también incorporaría un módulo programador.
  • Middleware: software instalado en un servidor y que hace de intermediario entre el lector y las aplicaciones. Filtra los datos que recibe, para que a las aplicaciones sólo les llegue la información útil.
  • Programadores RFID: dispositivos que realizan la escritura sobre la etiqueta. Codifican la información en un microchip ubicado dentro de la etiqueta RFID.

Además de las aplicaciones citadas anteriormente, se están estudiando otras nuevas aplicaciones de esta tecnología:

  • Pagos electrónicos con móviles a través de la tecnología NFC (Near Field Communication), que permite que un teléfono móvil recupere los datos de una etiqueta RFID. Esto, combinado con medios de pago electrónicos para móviles (Mobipay, Paybox, etc.), permite comprar productos con tal solo acercar el teléfono al punto de información del producto de donde RFID extrae los datos.
  • Pasaportes electrónicos que almacenan la información del titular, fotografía, huella dactilar, etc.
  • Activación de vehículos y maquinaria. La etiqueta actúa en este caso como control de verificación personal.

Como hemos podido observar, la tecnología RFID plantea múltiples e interesantes nuevas oportunidades de mejorar la eficiencia de los sistemas de uso diario además de añadir comodidad, pero dichas mejoras plantean nuevos riesgos, algunos de los cuales veremos en la siguiente entrada de la serie.

(Más información en la Guía sobre seguridad y privacidad de la tecnología RFID que ha publicado INTECO)

GOTO IV: Open Source

A lo largo de mi carrera como estudiante universitario, y más tarde durante mi etapa como técnico de sistemas, me he encontrado a menudo con el tema de debate preferido por el personal técnico —y no tan técnico— de sistemas: Windows vs. Linux. Será que me estoy haciendo mayor para discutir, o que tengo otras preocupaciones, pero lo cierto es que actualmente no es una cuestión que me preocupe lo más mínimo; si quieren saber mi opinión, cada uno tiene sus ventajas y sus desventajas, y el resto es simple miopía (o ceguera, en los peores casos). De cualquier modo, hay veces que esta discusión muta y se convierte en una igual de estéril pero mucho más relacionada a mi parecer con la seguridad, que es de lo que he venido a hablar aquí: open source vs. closed source. Es decir, código abierto vs. código propietario (que me disculpen los puristas del lenguaje y de las licencias si la traducción de Open Source no es la mejor).

Y como por lo general los que más ruido arman son los defensores del open source, lo que vengo a criticar es que sus ventajas ni son tantas ni tan buenas como sus partidarios quieren hacer creer. Aun diría más: la etiqueta en cuestión no sólo no garantiza absolutamente nada en términos de seguridad y/o funcionalidad, sino que puede inducir a engaño y una falsa sensación de seguridad, sobre todo en aquellas personas más “creyentes” en la causa. Ya verán.

Nuestra historia comienza en el momento que alguien afirma que como el kernel de Linux es open source, pues es “obviamente” mejor que Windows, porque eso nos permite modificar su código y adaptarlo a nuestras necesidades, además de que nos aseguramos de que su código sea revisado y validado por miles de ojos, y por tanto esté libre de errores o vulnerabilidades. Francamente, no sé ustedes, pero yo no conozco muchas personas de las que utilizan Linux a diario que hayan echado nunca un vistazo al código fuente del S.O. con intención de hacer algo productivo, entre los que me incluyo; a todo lo que llegué fue a la soberana idiotez de compilar todo el sistema como se puede/podía hacer con Gentoo, pero ello sin mirar ni una puñetera línea de código (que por otra parte, hubiesen dejado en evidencia mis limitados conocimientos de C). En general, cualquier vistazo a los fuentes del kernel es motivado por problemas de compilación, que nunca son problema del código sino de una configuración errónea, conclusión a la que llega uno tras decidir que ya ha perdido bastante el tiempo. Resumiendo, que el código fuente del kernel de Linux está ahí, pero aparte de unos cuantos privilegiados, nadie le mete mano por su complejidad. Y a pesar de esos miles de ojos, periódicamente se publican vulnerabilidades del kernel que se supone que el hecho de que sea código abierto nos garantiza que no deberían estar ahí.

Este último aspecto es algo que me llama mucho la atención del código abierto. Dejando atrás el kernel, hay programas cuyos fuentes son públicos, y protocolos universalmente conocidos que un buen día, después de años sin mayores problemas, resulta que algún genio en estado de gracia demuestra que son vulnerables, si Marte se sitúa en el cuarto cuadrante de Sagitario y en ese momento tienes hambre. Así, sin más. ¿Cómo es que nadie se había dado cuenta hasta entonces? ¿Pero no había miles de ojos? Protocolos abiertos, conocidos, muchas veces implementados, estudiados y revisados… ¿cómo es posible que este tipo de cosas sigan pasando, año tras año? Lo más interesante de todo es: si hubiesen sido código propietario, ¿cuánto tiempo habríamos tardado en descubrir esa vulnerabilidad? ¿Más, o menos?

Hace ya cierto tiempo, fui a parar al caso de g-archiver. La utilidad de este software, que hasta hace un tiempo podían comprar/descargar desde su web aunque era totalmente desaconsejable, es/era facilitar la realización de copias de respaldo del contenido de una cuenta de Gmail. Por fortuna, Dustin Brooks descubrió que su autor, John Terry, no sólo había cometido la estupidez de hardcodear en el código el usuario y la clave de una cuenta de Gmail, sino que además enviaba a dicha cuenta de correo el usuario y contraseña de cualquier usuario que utilizase el programa. Es cierto que esto parece un argumento en toda regla a favor del código abierto, pero lo cierto es que al menos 1700 usuarios confiaron en el programa antes de que Dustin descubriese este problema, lo cual me hace pensar que la etiqueta open source no supone en realidad ningún tipo de garantía sino que además puede llevar a pensar a los defensores del código abierto que el programa está libre de malas prácticas o vulnerabilidades graves.

Es cierto que si dicho programa hubiese sido código propietario, el problema hubiese sido probablemente descubierto mucho más tarde. Claro que eso demuestra simplemente la poca sensatez del personal, y es una lección más de que no hay que confiar en cualquier programa que encuentre uno en Internet, independientemente de si el código está disponible o no. Me atrevo a afirmar que si el tal John hubiese sido un mejor desarrollador (asumiendo que el descuido fue malintencionado y no un trozo de código utilizado para testear que desafortunadamente acabó en la versión de producción), habría sido capaz de ocultar su usuario, su clave y el envío de las credenciales de los usuarios con técnicas de ofuscación, de modo que nadie se hubiese percatado de sus intenciones al revisar el código, más que con un análisis muy exhaustivo… cosa que no es demasiado habitual.

Seguramente saben lo que es el Javascript. La mayor parte de las páginas utilizan algo de javascript, y se utiliza prácticamente para todo (y cada vez más). Además, como es código que tiene que ser interpretado por el navegador del cliente, tiene que ir en claro; si quieres ocultar algo, mejor utiliza flash (o eso creo; francamente, de tecnologías web no sé más que lo justo). Eso parece apuntar a que cualquier desarrollo que hagamos puede ser “robado” por otros desarrolladores. Nada más lejos de la realidad; existen programas para comprimir y ofuscar el código, que lo hacen virtualmente ininteligible para cualquier persona, incluyendo a su autor. Por tanto, el hecho de que dispongamos del código de dichos desarrollos no supone ni una ventaja ni una desventaja; unas veces es una necesidad de tamaño (tamaño del código) y otras una necesidad de protección (propiedad del código).

Podría parecer, llegado este punto, que defiendo que el código propietario es más seguro que el código abierto. Pues tampoco. La muestra son no sólo las frecuentes vulnerabilidades del software propietario como el de Microsoft, Adobe y otros, sino la velocidad a la que dichas vulnerabilidades se descubren cuando alguien está realmente interesado en encontrarlas (véase cualquier código relacionado con DRM). Por tanto, la verdad es que por lo general da exactamente lo mismo; no se fíen ni de uno, ni de otro. Con lo cual llegamos a lo que les comentaba al principio: que la conversación es tan estéril como el del huevo y la gallina, y tampoco sirve para dar conversación a la vecina del sexto en el ascensor. Es más, seguro que te mira raro y piensa que eres un friki; mejor utiliza la previsión del tiempo.

Acabo. Si recuerdan, el principio denominado “Seguridad por oscuridad” (Security thru obscurity) consiste en ocultar los detalles de diseño e implementación —entre otros— de un programa o dispositivo, consiguiendo que el producto actúe como una caja negra y por tanto sus potenciales puntos débiles no puedan ser descubiertos. En principio, eso se considera una mala política, porque además de que la exposición pública incrementa la posibilidad de que sus vulnerabilidades sean descubiertas (algo que como hemos visto no exactamente cierto), siempre hay alguien que acaba descubriendo sus vulnerabilidades, explotándolas, y entonces es cuando decimos que una vulnerabilidad esta siendo explotada “in the wild”. Lo cierto es que eso pasa con código abierto y con código propietario, a pesar de lo que puedan pensar; las vulnerabilidades están ahí hasta que alguien las descubre públicamente, y mientras tanto, quién sabe.

El problema no es, en realidad, código abierto frente a código cerrado. El problema son empresas responsables frente a empresas irresponsables. No me hagan dar nombres, que me entra la risa.

Nada más. Tengan cuidado ahí fuera y pasen un buen fin de semana.

Propuestas anacrónicas

prohibirMe despertaba esta mañana con la noticia de que el Partido Popular ha propuesto en el Congreso de los Diputados que a) los menores de 18 años necesiten consentimiento (actualización: al parecer, ahora ya sólo piden conocimiento) para acceder a las redes sociales, y b) los menores de 14 años no puedan siquiera acceder a éstas ([elmundo.es][ElPais.com]). Francamente, la primera de ellas me parece una barbaridad en toda regla, y aunque la segunda es más lógica por aquello de la edad, les diría que también estoy en desacuerdo. Veamos.

Lo primero que se me ocurre es que, en un país en el que existe actualmente, y a la vista de los últimos delitos, un debate sobre reducir o no la edad penal de los menores de la actual 14 a 12 años, parece una contradicción que una persona de menos de 18 años, que a partir de 16 puede conducir una motocicleta, tenga que solicitar autorización paterna para acceder a las redes sociales. Entonces, ¿debemos o no considerar a una persona madura a los 16 años? ¿Sí o no? ¿Sí para entrar en la cárcel, pero no para entrar en las redes sociales? Si asumimos que una persona de 15 años debe ser responsable penalmente de sus actos… bueno, pues ya saben cómo sigue el argumento.

Ya lo sé. La finalidad de rebajar la edad penal y la de incrementar la edad “tecnológica” (porque esa es al fin y al cabo la idea) es diferente. En este caso, se trata de proteger al menor de todo el abanico de “sujetos” e indeseables que pululan por las redes sociales. El problema es que pensar que Internet está limitado a las grandes redes sociales Tuenti, Facebook y MySpace es por completo ingenuo y una muestra más del desconocimiento de Internet del estamento político (en esto es fácil generalizar). Por suerte para aquellos que no somos especialmente aficionados a las redes sociales, Internet es mucho más que las tres Marías de arriba o todo lo que les he enumerado: hay infinidad de chats, pequeñas redes sociales, foros de aficiones (algo a lo que, vaya por Dios, los menores suelen ser muy propensos), blogs, sistemas de mensajería instantánea como MSN, ICQ, o Gtalk, y eso para empezar. Entonces, ¿es factible que los menores de 18 años necesiten consentimiento para acceder a Internet? Estaremos de acuerdo en que es una barbaridad, ¿cierto? En su lugar, ¿no sería mucho más lógico enseñar a los menores, independientemente de su edad, a aplicar las medidas de protección que aplican en su vida diaria? Ya saben, no fiarse del primero que pasa, no dar datos personales, no aceptar “caramelos”, no exponer tu vida íntima, etc.

Claro que en Internet hay contenido pornografico, violento, racista y totalmente perjudicial para los menores, todo ello accesible sin ningún tipo de restricción; sólo hay que buscarlo un poco, y cuesta poco nada encontrarlo. Sin duda, está llena de indeseables; real como la vida misma. ¿Vamos a prohibirle a un menor de 18 años que vaya al cine, salga de fiesta o simplemente quede con los amigos en una plaza cualquiera (por la que muy probablemente de vez en cuando pasa algún camello, algún delincuente, algún skinhead, o algún sujeto de pocos escrúpulos)? Creo que no, ¿verdad? (Si intentan prohibir ese tipo de cosas, suerte con sus hijos y las autoridades judiciales). Educación.

Verán, durante toda mi vida he ido de vacaciones a un pequeño pueblo de la provincia de Valencia, llamado Cortes de Pallás [Google maps]. Durante los últimos años, un extraño fenómeno ha sucedido: cuando llega la hora de la siesta, un puñado de menores se reunen en las escaleras de la vieja escuela, con el portátil en las rodillas, y allí se pasan sus buenas dos horas hasta que (imagino) la batería del portátil no da más de sí. ¿La razón? Es el único lugar del pueblo que dispone de conexión a Internet vía Wifi, es decir: Tuenti, Facebook, MSN, etc. No entraré a valorar la idiotez de esta costumbre, propia de la adolescencia y la pubertad, teniendo una fenomenal piscina que a las cuatro de la tarde es todo un lujo, pero si quiero comentar sobre la prolongación de la vida social en que se ha convertido Internet para los menores; les permite estar en contacto con sus amigos casi de manera permanente, compartir fotos, experiencias, comentarios, y cotilleos, y eso es algo que, aunque uno haya tenido una adolescencia moderadamente autista, a esa edad es imprescindible. Es más, voy a llevar ese argumento un poco más lejos: quizá no hoy, pero dentro de unos años no estar presente en Internet de manera activa puede llegar a ser una carencia social importante.

Con lo que vamos al siguiente punto. Hemos hablado de la necesidad de educar, no prohibir, y de lo vital que es Internet para las relaciones sociales (de todo tipo). Pero lo cierto es que las redes sociales son el punto de entrada de muchos menores a Internet, la excusa si quieren, a partir del cual desarrollar toda una identidad digital, y familiarizarse con la tecnología. Si no tener Internet en casa te pone en desventaja con otras personas (hoy quizá no, mañana sin duda), limitar mediante prohibición el primer contacto de los menores con Internet sólo conseguirá ponerlos en desventaja con los menores de otras partes del mundo, e incrementar la edad de la primera toma de contacto con Internet y los ordenadores. Es decir, con el futuro.

Aunque hay sin duda innumerables argumentos en contra de la propuesta, acabo con el más típico. No cabe duda de que el Estado debe estar ahí para velar por la seguridad de sus ciudadanos, independientemente de su edad, pero no nos pasemos. En primera instancia, quien debe velar por la seguridad de un niño son sus progenitores; quizá sería mejor dotarles también de una necesaria formación, y animarles a estar en contacto con sus hijos en las mismas redes sociales. Decisiones como dar a un menor un portátil, o poner un PC en su habitación deben ser previamente reflexionadas y no tomadas alegremente, con su necesaria dosis de diálogo y conversación. Una cosa es prohibir a un chaval de 16 años salir de casa a cualquier hora y a cualquier sitio, y otra muy diferente verlo salir el viernes y no preocuparse por él hasta el lunes. Sí, ya sé que es lo de siempre, pero es lo que hay.

Acabo. Dicen que tememos aquello que desconocemos, y no me cabe duda de que esa es la raíz de la prohibición propuesta. Por suerte, les guste o no, Internet ha venido a quedarse, y sus ventajas y oportunidades superan con mucho sus problemas.

Historias de autenticación

fingerprintNo sé si son ustedes conscientes de que si han adquirido un móvil a través de una operadora de telefonía sujeto a un contrato de permanencia, una vez éste ha expirado la operadora de telefonía está obligada a proporcionarles el código de liberación; y les anticipo que si les dicen que el trámite de obtención de dicho código llevará de diez a quince días, mienten. El caso, y lo que es pertinente a esta entrada, es que el pasado sábado llame para realizar dicha gestión “en nombre” de mi pareja (les confieso que obtengo una extraña sensación de satisfacción “conversando” con los operadores telefónicos de los grandes proveedores de servicio como las telecos o energéticas). Lo que me llamó la atención y me dejó descolocado fue que, después de haberle dado a la operadora todos los datos correctamente, incluyendo DNI, nombre y apellidos, IMEI, número de teléfono, marca y modelo, y lugar y fecha aproximada de compra (algo, esto último, que no está escrito en ningún sitio), debió pensar que una voz de hombre no es propia de una mujer, y me pidió hablar con ella. Claro está que la operadora no tenía medio de saber que ella era quien decía ser, pero al parecer, eso la satisfizo, porque un par de minutos después, retomamos la conversación, asegurada ya la autenticidad de mi petición por una voz de mujer que podía ser la de cualquiera.

[Read more…]