Ardulock-Introducción

Voy a explicar brevemente de que va esto de Ardulock, en futuras entradas iré explicando mas detalladamente cada una de las partes y el por qué de cada una de las decisiones que he tomado.

Este proyecto lo presento al CUSL,además todo lo que voy haciendo está disponible en GitHub bajo licencia GPL, así que cualquiera es libre de adaptarlo, modificarlo, siempre que el resultado esté bajo la misma licencia.

La idea detrás de Ardulock es diseñar una cerradura electrónica utilizando arduino para su diseño, pero no para su implementación.¿y por qué no usar arduino también para implementarlo? Pues muy sencillo, la placa arduino está diseñada para que sea fácil y sencillo meterle el código al microcontrolador, pero esto conlleva un gasto mayor de energía. Mi idea es que esta cerradura no requiera de ningún tipo de obra para instalarla por lo que deberá funcionar con pilas o baterías en ambos extremos, así que el gasto energético es algo a tener muy en cuenta ya que cuanto menos energía usemos, mas durarán las pilas/baterías. Además por lo que llevo hecho, he podido deducir que voy a necesitar algo de circuitería externa, así que ya que nos mojamos… vamos a quitar todo lo que no haga falta para reducir el gasto energético.

El funcionamiento exacto es algo que aún no tengo muy claro, pero intentaré explicarlo a grandes rasgos. No quiero utilizar etiquetas RFID o similares, no quiero que el método de autenticación sea lo que el usuario posee porque entonces esta cerradura no aportaría ventaja alguna ya que así funcionan las cerraduras convencionales. Prefiero que el método de autenticación sea algo que el usuario sabe, como un pin númerico, que tal vez pueda ser un pin variable pero predecible para quien lo sepa, así evitamos tener un mismo pin durante un periodo largo de tiempo.

Una vez que tenemos el método de autenticación, hay que ver como abrimos la puerta. Para ello habrá dos microcontroladores, uno en el exterior, que será poco mas que un terminal tonto, una interfaz entre la cerradura y el usuario, y otro más en el interior el cual será el auténtico cerebro de la cerradura.

Como he dicho, la tarea del microcontrolador exterior será estar a la espera a que alguien introduzca un pin, cuando alguien pulse un botón deberá despertar del estado de baja energía y registrar esa pulsación, quedando a la espera de que usuario introduzca el pin completo en un periodo razonable de tiempo. si no lo hace, vuelve al estado de baja energía a la espera de un nuevo pin. En caso de haber introducido un pin completo, el microcontrolador exterior se encargará de cifrar el pin introducido utilizando una clave pública precomputada y grabada en su memoria, una vez hecho esto lo envía de forma inalámbrica al otro microcontrolador y aquí concluye su trabajo, así que vuelve al estado de reposo.

El microcontrolador interior, al recibir el mensaje cifrado, usa el otro par de clave, la clave privada, para descifrarlo y obtener el pin para poder compararlo, si el pin que recibe, resulta ser correcto y además no se ha detectado ningún ataque de fuerza bruta, procede a abrir la puerta.

La idea en sí es sencilla, aunque la implementación no tanto ya que hay que controlar el gasto energético y los microcontroladores tampoco permiten un gran margen si añadir mucha circuitería externa, la cual quiero minimizar. En la próxima entrada hablaré sobre la lectura del teclado, que es algo en lo que estoy trabajando ahora.

1 thought on “Ardulock-Introducción

  1. La Oficina de Software Libre de la UCA ha elaborado y publicado tres videos de introduccion al software libre en los que se explica el concepto de software libre, se hace un pequeno resumen de la evolucion historica del software libre y se muestra el software libre mas usado en el dia a dia.

Leave a Reply

Your email address will not be published. Required fields are marked *

forty one − = 32