SlideShare una empresa de Scribd logo
1 de 26
Autenticaci´on de usuarios por proximidad usando la
plataforma eZ430-Chronos
Manuel Mancera Jim´enez
Isaac Agudo Ruiz
Departamento de Lenguajes y Ciencias de la Computaci´on
Universidad de M´alaga
27 de junio de 2013
Manuel Mancera Jim´enez Isaac Agudo Ruiz (Univ. M´alaga)Autenticaci´on de usuarios por proximidad usando la plataforma eZ430-Chronos27 de junio de 2013 1 / 19
Conceptos
Autenticaci´on y autorizaci´on de usuarios
¿Qu´e es la autenticaci´on?
Confirmaci´on de la identidad de un usuario. Seg´un la RAE, dar f´e de un
hecho o documento.
Conceptos
Autenticaci´on y autorizaci´on de usuarios
¿Qu´e es la autenticaci´on?
Confirmaci´on de la identidad de un usuario. Seg´un la RAE, dar f´e de un
hecho o documento.
Actualmente se conocen tres m´etodos para identificar usuarios:
Secreto compartido: contrase˜nas (Passwords).
Posesi´on de un objeto, ya sea software o hardware.
Caracter´ısticas f´ısicas del usuario: biom´etricos.
Para aumentar la seguridad se pueden combinar todos los sistemas.
Conceptos
Autenticaci´on y autorizaci´on de usuarios
¿Qu´e es la autenticaci´on?
Confirmaci´on de la identidad de un usuario. Seg´un la RAE, dar f´e de un
hecho o documento.
Actualmente se conocen tres m´etodos para identificar usuarios:
Secreto compartido: contrase˜nas (Passwords).
Posesi´on de un objeto, ya sea software o hardware.
Caracter´ısticas f´ısicas del usuario: biom´etricos.
Para aumentar la seguridad se pueden combinar todos los sistemas.
Autorizaci´on
Proceso que determina qu´e, c´omo y cu´ando un usuario autenticado puede
utilizar los recursos del sistema.
Conceptos
Criptograf´ıa
¿Qu´e es?
Es la ciencia que estudia como mantener la seguridad en los mensajes.
Es la herramienta m´as poderosa para proporcionar servicios de
seguridad en los sistemas inform´aticos.
El proceso de convertir un texto en claro en ininteligible se llama
cifrado, y el proceso inverso descifrado.
Tenemos dos tipos de criptosistemas seg´un usen algoritmos sim´etricos
o asim´etricos.
Algoritmos sim´etricos: la clave para cifrar y descifrar es la misma.
Algoritmos asim´etricos: la clave utilizada para cifrar es distinta de la
utilizada para descifrar.
Criptoan´alisis: ciencia que estudia c´omo romper los textos cifrados.
Un protocolo de seguridad es un conjunto de reglas y formatos que
determinan la informaci´on que se intercambian entre dos o m´as entidades
con objeto de proporcionar un servicio de seguridad.
Objetivos
Sistema de autenticaci´on
Objetivo del proyecto
Creaci´on de un sistema seguro de autenticaci´on de usuarios por proximidad
usando la plataforma eZ430-Chronos.
Objetivos
Sistema de autenticaci´on
Objetivo del proyecto
Creaci´on de un sistema seguro de autenticaci´on de usuarios por proximidad
usando la plataforma eZ430-Chronos.
¿Qu´e necesitamos?
Creaci´on de un protocolo de comunicaci´on por RF (frecuencia
868MHz) entre el eZ430-Chronos y el equipo donde se quiere
autenticar.
Creaci´on de un firmware para los dispositivos que intervendr´an en el
sistema.
eZ430-Chronos: Ampliaci´on del firmware de Openchronos.
CC1111: Creaci´on de un firmware para recibir/enviar mensajes por RF
y proporcionar una API para la comunicaci´on con el equipo en el cual
este conectado.
Para ambos dispositivos el lenguaje de programaci´on usado ser´a C.
Creaci´on de un servidor, para lo cual usaremos el lenguaje de
programaci´on python.
Herramientas utilizadas
Elementos involucrados en el sistema
eZ430-Chronos
Sistema de desarrollo inal´ambrico creado para
desarrolladores que crean aplicaciones inal´ambricas tales
como sistemas de vigilancia, pantallas para redes de
´area personal, nodos de sensores in´alambricos, etc.
Basado en el microcontrolador CC430F6137, dispone de
una pantalla LCD de 96 segmentos, m´odulo para la
comunicaci´on por RF, co-procesador AES, aceler´ometro
y sensor de presi´on entre otras caracter´ısticas.
Herramientas utilizadas
Elementos involucrados en el sistema
eZ430-Chronos
Sistema de desarrollo inal´ambrico creado para
desarrolladores que crean aplicaciones inal´ambricas tales
como sistemas de vigilancia, pantallas para redes de
´area personal, nodos de sensores in´alambricos, etc.
Basado en el microcontrolador CC430F6137, dispone de
una pantalla LCD de 96 segmentos, m´odulo para la
comunicaci´on por RF, co-procesador AES, aceler´ometro
y sensor de presi´on entre otras caracter´ısticas.
Es un dongle USB programable el cu´al facilita una
comunicaci´on directa entre un PC y una red inal´ambrica
sub<1GHz. Dispone de un m´odulo de RF basado en el
chip CC1101, al igual que el eZ430-Chronos.
CC1111
Herramientas utilizadas
Elementos involucrados en el sistema
eZ430-Chronos
Sistema de desarrollo inal´ambrico creado para
desarrolladores que crean aplicaciones inal´ambricas tales
como sistemas de vigilancia, pantallas para redes de
´area personal, nodos de sensores in´alambricos, etc.
Basado en el microcontrolador CC430F6137, dispone de
una pantalla LCD de 96 segmentos, m´odulo para la
comunicaci´on por RF, co-procesador AES, aceler´ometro
y sensor de presi´on entre otras caracter´ısticas.
Es un dongle USB programable el cu´al facilita una
comunicaci´on directa entre un PC y una red inal´ambrica
sub<1GHz. Dispone de un m´odulo de RF basado en el
chip CC1101, al igual que el eZ430-Chronos.
CC1111
El otro elemento ser´ıa un PC al cual conectar el CC1111 y PC que har´a de
servidor.
Herramientas de desarrollo
eZ430-Chronos
Parte hardware que nos interesa:
Microcontrolador msp430.
M´odulo de radio CC1101.
Co-procesador AES de 128 bits.
Est´a integrado en un reloj de pulsera.
Parte software:
Openchronos
Es un firmware Open Source para el eZ430-Chronos.
Contiene todos los drivers necesarios para el sistema.
Una nueva funci´on Chronos Auth System
Se modificaran los drivers de la radio y se a˜nadir´an funciones a los de
AES.
Herramientas de desarrollo
Access Point
Dos elementos: CC1111 + Un PC
Parte hardware:
CC1111
8051 MCU.
M´odulo de radio.
Co-procesador AES de 128 bits.
Controlador USB.
Parte software que debemos implementar:
Firmware para el CC1111.
Bas´andonos en el firmware Recovery de TI para el dongle del kit
eZ430-Chronos Development Tool + Datasheet
Creaci´on de una API para la comunicaci´on con el PC a trav´es del USB.
PC
Creaci´on de un daemon en el lenguaje Python.
Se comunica con el CC1111 por USB y con el servidor por TCP/IP.
Usa la PAM para autenticar.
Herramientas de desarrollo
Servidor
Parte hardware necesaria:
Cualquier equipo con Linux, Python y conexi´on de red, ya sea
inal´ambrica o cableada.
Puede ser un equipo externo o la misma m´aquina en la que se
encuentra el AP.
Parte software:
Creaci´on de un daemon en Python.
Interfaz de administraci´on para a˜nadir, modificar o eliminar usuarios.
Se comunicar´a con el AP por TCP/IP usando SSL.
Encargado de autorizar o denegar al AP el acceso al usuario.
Control del estado del sistema mediante logs.
Protocolo
Protocolo
ClientServer AP
AESks(uid,AESkw(RAND1))
uid,RAND,AESkw(RAND1)
COMPROBACION
DE CREDENCIALES
DESCIFRANDO
RAND1.
AESKW(RAND1+1)
beacon(RAND1)
OK, AESKW(RAND1+1)
SESION
ABIERTA
beacon(RAND2)
AESks(uid,AESkw(RAND2))
uid,RAND,AESkw(RAND2)
PING OK
COMPROBACION
DE CREDENCIALES
DESCIFRANDO
RAND2.
Diagrama del funcionamiento del sistema
Protocolo
Protocolo
ClientServer AP
AESks(uid,AESkw(RAND1))
uid,RAND,AESkw(RAND1)
COMPROBACION
DE CREDENCIALES
DESCIFRANDO
RAND1.
AESKW(RAND1+1)
beacon(RAND1)
OK, AESKW(RAND1+1)
SESION
ABIERTA
beacon(RAND2)
AESks(uid,AESkw(RAND2))
uid,RAND,AESkw(RAND2)
PING OK
COMPROBACION
DE CREDENCIALES
DESCIFRANDO
RAND2.
Diagrama del funcionamiento del sistema
Protocolo desaf´ıo-respuesta
con tres elementos:
Cliente: ez430-Chronos
Punto de acceso:
CC1111+PC
Servidor
Dos sistemas criptogr´aficos:
Criptograf´ıa sim´etrica:
AES. Para cifrar el
n´umero aleatorio.
Criptograf´ıa asim´etrica:
SSL. Para la
comunicaci´on entre el AP
y el servidor.
Protocolo
Tipos de paquetes
Tenemos 4 tipos de paquetes distintos para la comunicaci´on por RF:
Beacon: 13 bytes. Destino-Origen-Tipo-n´umero aleatorio
Paquete tipo Auth: 41 bytes. Destino-Origen-Tipo-Payload
Payload: 256 bits cifrados con AES-CBC. Contiene el n´umero aleatorio
y el uid del usuario cifrado.
Paquete tipo OK 25 bytes. Destino-Origen-Tipo-Payload
Payload: 128 bits cifrados con AES. Contiene el random+1
Paquete tipo Ping: 41 bytes. Igual que paquete tipo auth.
Para la comunicaci´on entre el AP y el servidor se usa TCP/IP.
Usando paquetes de 23 bytes, los cuales contienen el tipo de petici´on, uid,
n´umero aleatorio en texto claro y n´umero aleatorio cifrado.
El servidor responde con un paquete de 18 bytes con estado y random+1
cifrado con la clave del usuario.
Funcionamiento del Sistema
Funcionamiento
ESPERA
BEACON
START
ENVIA
AUTENTICACION
SESION
ENVIA
PING
FIN
¿Recibe
beacon?
SI
NO
¿Credenciales
correctas?
¿Recibe
beacon?
SI
SI
NO
NO
¿Credenciales
correctas?
NO SI
Cada elemento funciona de manera
independiente:
Funcionamiento del Sistema
Funcionamiento
ESPERA
BEACON
START
ENVIA
AUTENTICACION
SESION
ENVIA
PING
FIN
¿Recibe
beacon?
SI
NO
¿Credenciales
correctas?
¿Recibe
beacon?
SI
SI
NO
NO
¿Credenciales
correctas?
NO SI
Cada elemento funciona de manera
independiente:
AP: Siempre env´ıa beacons, se comunica
con el servidor para comprobar credenciales
y proporciona el acceso al sistema a trav´es
de la PAM de Linux.
Cliente: Una vez activado, al recibir un
beacon comienza la autenticaci´on.
Servidor: Espera peticiones desde el AP,
una vez recibida una petici´on, comprueba
credenciales y devuelve un resultado al AP.
Implementaci´on
Software utilizado
Cliente eZ430-Chronos:
Compilador msp430-gcc-4.4.3 (http://mspgcc4.sourceforge.net/)
mspdebug (http://mspdebug.sourceforge.net/) Depurador para
MSP430 MCUs. Usado para cargar el programa en la memoria del
eZ430-Chronos.
Para programar no se ha usado ning´un IDE. Solo gedit
Punto de Acceso:
CC1111:
IAR Embedded Workbench for 8051 IDE para sistemas empotrados.
CCDebugger Sirve para cargar el programa en el CC1111.
M´odulos usados en Python:
random,struct,sys,os,ssl,dbus,socket,time,serial,binascii y SafeConfigParser
Servidor:
M´odulos usados en Python:
AES,struct,sys,os,ssl,dbus,socket,time,binascii,optparse y SafeConfigParser
OpenSSL para crear los certificados.
Implementaci´on
Python
Punto de acceso.
M´odulos principales:
serial. Necesario para la comunicaci´on con el CC1111, usando la API
creada.
socket y ssl. Necesarios para la comunicaci´on cifrada con el servidor.
ConfigParser. Usada para cargar la configuraci´on desde un archivo.
dbus. Usado para las notificaciones. Ya que el demonio se ejecuta
como root, necesita dbus.
struct. Para hacer conversiones entre valores en Python y estructuras
en C. Tambi´en usado para manejar datos binarios en las conexiones
de red.
random. Para generar n´umeros aleatorio.
Otros m´odulos: sys,os,time,binascii.
Implementaci´on
Python
Servidor.
M´odulos principales:
socket y ssl. Necesarios para la comunicaci´on y cifrado de est´a con el
AP.
Crypto.Cipher - AES. Usado para descifrar el n´umero aleatorio.
ConfigParser. Usada para cargar la configuraci´on desde un archivo.
adminssl.conf
optparse. Usada para capturar y manejar los par´ametros pasados al
programa.
Otros m´odulos necesarios: struct,sys,os,dbus,time,binascii
Para el manejo de los logs se usan funciones creadas especialmente
para el programa.
Utilizaci´on del Sistema
Interfaces
Access Point:
Archivo de configuraci´on: /etc/accesspoint.conf.
Daemon: /etc/init.d/daemon AP
CLI para iniciar, detener y depurar el servicio. Para iniciar mejor usar
service o systemctl.
Necesario leer el README para su correcta instalaci´on.
Utilizaci´on del Sistema
Interfaces
Servidor:
Archivo de configuraci´on: /etc/adminssl.conf.
Daemon: /etc/init.d/daemon admineZ430
CLI. Interfaz de l´ınea de comandos para la administraci´on.
Necesario leer el README para su correcta instalaci´on.
Utilizaci´on del Sistema
Interfaces
Cliente:
Reloj de pulsera.
Sistema embebido.
Cargar el sistema en la memoria es tarea del administrador.
uid configurable desde el cliente.
Detalles
Im´agenes
Sistema de Logging en el
servidor.
Notificaciones de eventos.
Ficheros para la configuraci´on
del servicio.
Bibliograf´ıa y documentaci´on
Bibliograf´ıa:
Website eZ430-Chronos. http://www.ti.com/ez430
Proyecto OpenChronos. https://github.com/poelzi/OpenChronos
Datasheet CC1111. http://www.ti.com/tool/cc1110-cc1111dk
Gu´ıa usuario eZ430-RF2500.
http://focus.ti.com/lit/ug/slau227c/slau227c.pdf
Datasheet CC430. http://www.ti.com/lit/ug/slau259e/slau259e.pdf
Descargar:
GitHub: https://github.com/Sinkmanu/auth-system-chronos
Google code: http://code.google.com/p/auth-system-chronos/

Más contenido relacionado

La actualidad más candente

CursoProgamacionNFC-Dia3
CursoProgamacionNFC-Dia3CursoProgamacionNFC-Dia3
CursoProgamacionNFC-Dia3Aditium
 
La electricidad y la electronica tarjeta arduino.
 La electricidad y la electronica  tarjeta arduino. La electricidad y la electronica  tarjeta arduino.
La electricidad y la electronica tarjeta arduino.Cata2004
 
La electricidad y la electronica tarjeta arduino
La electricidad y la electronica tarjeta arduinoLa electricidad y la electronica tarjeta arduino
La electricidad y la electronica tarjeta arduinoSantiagoMarulanda6
 
Arduino smtp envío de correo electrónico (email)
Arduino smtp envío de correo electrónico (email)Arduino smtp envío de correo electrónico (email)
Arduino smtp envío de correo electrónico (email)Israel Magaña
 
La electricidad y la electronica tarjeta arduino.
La electricidad y la electronica  tarjeta arduino.La electricidad y la electronica  tarjeta arduino.
La electricidad y la electronica tarjeta arduino.DanielaSanchez255
 
La electricidad y la electronica tarjeta arduino.
La electricidad y la electronica  tarjeta arduino.La electricidad y la electronica  tarjeta arduino.
La electricidad y la electronica tarjeta arduino.SofiaRosero2
 
Micro avanzados
Micro avanzadosMicro avanzados
Micro avanzadosEdwin Drx
 
CONTADOR BINARIO ASCENDENTE DE 14 BITS CON ARDUINO
CONTADOR BINARIO ASCENDENTE DE 14 BITS CON ARDUINOCONTADOR BINARIO ASCENDENTE DE 14 BITS CON ARDUINO
CONTADOR BINARIO ASCENDENTE DE 14 BITS CON ARDUINOFernando Marcos Marcos
 

La actualidad más candente (16)

CursoProgamacionNFC-Dia3
CursoProgamacionNFC-Dia3CursoProgamacionNFC-Dia3
CursoProgamacionNFC-Dia3
 
Keylogger casero
Keylogger caseroKeylogger casero
Keylogger casero
 
Arduino + ethernet shield (1)
Arduino + ethernet shield (1)Arduino + ethernet shield (1)
Arduino + ethernet shield (1)
 
BLUETOOTH
BLUETOOTHBLUETOOTH
BLUETOOTH
 
La electricidad y la electronica tarjeta arduino.
 La electricidad y la electronica  tarjeta arduino. La electricidad y la electronica  tarjeta arduino.
La electricidad y la electronica tarjeta arduino.
 
Tecnologia
TecnologiaTecnologia
Tecnologia
 
ardiuno basico lo que debes saber
ardiuno basico lo que debes saberardiuno basico lo que debes saber
ardiuno basico lo que debes saber
 
La electricidad y la electronica tarjeta arduino
La electricidad y la electronica tarjeta arduinoLa electricidad y la electronica tarjeta arduino
La electricidad y la electronica tarjeta arduino
 
Arduino smtp envío de correo electrónico (email)
Arduino smtp envío de correo electrónico (email)Arduino smtp envío de correo electrónico (email)
Arduino smtp envío de correo electrónico (email)
 
La electricidad y la electronica tarjeta arduino.
La electricidad y la electronica  tarjeta arduino.La electricidad y la electronica  tarjeta arduino.
La electricidad y la electronica tarjeta arduino.
 
La electricidad y la electronica tarjeta arduino.
La electricidad y la electronica  tarjeta arduino.La electricidad y la electronica  tarjeta arduino.
La electricidad y la electronica tarjeta arduino.
 
Enviando arduino xbee-primeros-pasos-1
Enviando arduino xbee-primeros-pasos-1Enviando arduino xbee-primeros-pasos-1
Enviando arduino xbee-primeros-pasos-1
 
Los Diferentes Arduinos y Sus Caracteristicas
Los Diferentes Arduinos y Sus CaracteristicasLos Diferentes Arduinos y Sus Caracteristicas
Los Diferentes Arduinos y Sus Caracteristicas
 
Tarea de tecnologia
Tarea de tecnologiaTarea de tecnologia
Tarea de tecnologia
 
Micro avanzados
Micro avanzadosMicro avanzados
Micro avanzados
 
CONTADOR BINARIO ASCENDENTE DE 14 BITS CON ARDUINO
CONTADOR BINARIO ASCENDENTE DE 14 BITS CON ARDUINOCONTADOR BINARIO ASCENDENTE DE 14 BITS CON ARDUINO
CONTADOR BINARIO ASCENDENTE DE 14 BITS CON ARDUINO
 

Similar a Presentacion

Diccionario completo de informatica
Diccionario completo de informaticaDiccionario completo de informatica
Diccionario completo de informaticaMoisesCB
 
Conceptos informaticos todos
Conceptos informaticos todosConceptos informaticos todos
Conceptos informaticos todoscacahuatebi
 
Conceptos informaticos
Conceptos informaticosConceptos informaticos
Conceptos informaticoscacahuatebi
 
Conceptos informaticos todos
Conceptos informaticos todosConceptos informaticos todos
Conceptos informaticos todoscacahuatebi
 
Nati diccionario
Nati diccionarioNati diccionario
Nati diccionarionaagfuBi
 
Nati diccionario
Nati diccionarioNati diccionario
Nati diccionarionaagfuBi
 
Nati diccionario
Nati diccionarioNati diccionario
Nati diccionarionaagfuBi
 
Glosario de Terminos Informáticos
Glosario de Terminos InformáticosGlosario de Terminos Informáticos
Glosario de Terminos InformáticosRuth1503
 
Conceptos informaticos todos
Conceptos informaticos todosConceptos informaticos todos
Conceptos informaticos todoscacahuatebi
 
Analisis de factibilidad
Analisis de factibilidadAnalisis de factibilidad
Analisis de factibilidadsaydo2007
 
Interconexion de redes
Interconexion de redesInterconexion de redes
Interconexion de redesKary Gomez
 
3051 tarjeta criptografica_ceres
3051 tarjeta criptografica_ceres3051 tarjeta criptografica_ceres
3051 tarjeta criptografica_ceresHilario Morales
 
Diccionario tisg
Diccionario tisgDiccionario tisg
Diccionario tisgmariiajo
 

Similar a Presentacion (20)

Diccionario completo de informatica
Diccionario completo de informaticaDiccionario completo de informatica
Diccionario completo de informatica
 
Conceptos informaticos todos
Conceptos informaticos todosConceptos informaticos todos
Conceptos informaticos todos
 
Conceptos informaticos
Conceptos informaticosConceptos informaticos
Conceptos informaticos
 
Conceptos informaticos todos
Conceptos informaticos todosConceptos informaticos todos
Conceptos informaticos todos
 
Nati diccionario
Nati diccionarioNati diccionario
Nati diccionario
 
Nati diccionario
Nati diccionarioNati diccionario
Nati diccionario
 
Nati diccionario
Nati diccionarioNati diccionario
Nati diccionario
 
Glosario de Terminos Informáticos
Glosario de Terminos InformáticosGlosario de Terminos Informáticos
Glosario de Terminos Informáticos
 
Respuestas
RespuestasRespuestas
Respuestas
 
Conceptos informaticos todos
Conceptos informaticos todosConceptos informaticos todos
Conceptos informaticos todos
 
Analisis de factibilidad
Analisis de factibilidadAnalisis de factibilidad
Analisis de factibilidad
 
Factibilidad
FactibilidadFactibilidad
Factibilidad
 
Interconexion de redes
Interconexion de redesInterconexion de redes
Interconexion de redes
 
3051 tarjeta criptografica_ceres
3051 tarjeta criptografica_ceres3051 tarjeta criptografica_ceres
3051 tarjeta criptografica_ceres
 
Diccionario
DiccionarioDiccionario
Diccionario
 
Diccionario tisg
Diccionario tisgDiccionario tisg
Diccionario tisg
 
BP seguridad de redes
BP seguridad de redesBP seguridad de redes
BP seguridad de redes
 
Perspectivas IoT con arduino
Perspectivas IoT con arduinoPerspectivas IoT con arduino
Perspectivas IoT con arduino
 
VPNs
VPNsVPNs
VPNs
 
Owasp presentacion latam tour (Ago 2011)
Owasp presentacion latam tour (Ago 2011)Owasp presentacion latam tour (Ago 2011)
Owasp presentacion latam tour (Ago 2011)
 

Último

trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 

Último (20)

trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 

Presentacion

  • 1. Autenticaci´on de usuarios por proximidad usando la plataforma eZ430-Chronos Manuel Mancera Jim´enez Isaac Agudo Ruiz Departamento de Lenguajes y Ciencias de la Computaci´on Universidad de M´alaga 27 de junio de 2013 Manuel Mancera Jim´enez Isaac Agudo Ruiz (Univ. M´alaga)Autenticaci´on de usuarios por proximidad usando la plataforma eZ430-Chronos27 de junio de 2013 1 / 19
  • 2. Conceptos Autenticaci´on y autorizaci´on de usuarios ¿Qu´e es la autenticaci´on? Confirmaci´on de la identidad de un usuario. Seg´un la RAE, dar f´e de un hecho o documento.
  • 3. Conceptos Autenticaci´on y autorizaci´on de usuarios ¿Qu´e es la autenticaci´on? Confirmaci´on de la identidad de un usuario. Seg´un la RAE, dar f´e de un hecho o documento. Actualmente se conocen tres m´etodos para identificar usuarios: Secreto compartido: contrase˜nas (Passwords). Posesi´on de un objeto, ya sea software o hardware. Caracter´ısticas f´ısicas del usuario: biom´etricos. Para aumentar la seguridad se pueden combinar todos los sistemas.
  • 4. Conceptos Autenticaci´on y autorizaci´on de usuarios ¿Qu´e es la autenticaci´on? Confirmaci´on de la identidad de un usuario. Seg´un la RAE, dar f´e de un hecho o documento. Actualmente se conocen tres m´etodos para identificar usuarios: Secreto compartido: contrase˜nas (Passwords). Posesi´on de un objeto, ya sea software o hardware. Caracter´ısticas f´ısicas del usuario: biom´etricos. Para aumentar la seguridad se pueden combinar todos los sistemas. Autorizaci´on Proceso que determina qu´e, c´omo y cu´ando un usuario autenticado puede utilizar los recursos del sistema.
  • 5. Conceptos Criptograf´ıa ¿Qu´e es? Es la ciencia que estudia como mantener la seguridad en los mensajes. Es la herramienta m´as poderosa para proporcionar servicios de seguridad en los sistemas inform´aticos. El proceso de convertir un texto en claro en ininteligible se llama cifrado, y el proceso inverso descifrado. Tenemos dos tipos de criptosistemas seg´un usen algoritmos sim´etricos o asim´etricos. Algoritmos sim´etricos: la clave para cifrar y descifrar es la misma. Algoritmos asim´etricos: la clave utilizada para cifrar es distinta de la utilizada para descifrar. Criptoan´alisis: ciencia que estudia c´omo romper los textos cifrados. Un protocolo de seguridad es un conjunto de reglas y formatos que determinan la informaci´on que se intercambian entre dos o m´as entidades con objeto de proporcionar un servicio de seguridad.
  • 6. Objetivos Sistema de autenticaci´on Objetivo del proyecto Creaci´on de un sistema seguro de autenticaci´on de usuarios por proximidad usando la plataforma eZ430-Chronos.
  • 7. Objetivos Sistema de autenticaci´on Objetivo del proyecto Creaci´on de un sistema seguro de autenticaci´on de usuarios por proximidad usando la plataforma eZ430-Chronos. ¿Qu´e necesitamos? Creaci´on de un protocolo de comunicaci´on por RF (frecuencia 868MHz) entre el eZ430-Chronos y el equipo donde se quiere autenticar. Creaci´on de un firmware para los dispositivos que intervendr´an en el sistema. eZ430-Chronos: Ampliaci´on del firmware de Openchronos. CC1111: Creaci´on de un firmware para recibir/enviar mensajes por RF y proporcionar una API para la comunicaci´on con el equipo en el cual este conectado. Para ambos dispositivos el lenguaje de programaci´on usado ser´a C. Creaci´on de un servidor, para lo cual usaremos el lenguaje de programaci´on python.
  • 8. Herramientas utilizadas Elementos involucrados en el sistema eZ430-Chronos Sistema de desarrollo inal´ambrico creado para desarrolladores que crean aplicaciones inal´ambricas tales como sistemas de vigilancia, pantallas para redes de ´area personal, nodos de sensores in´alambricos, etc. Basado en el microcontrolador CC430F6137, dispone de una pantalla LCD de 96 segmentos, m´odulo para la comunicaci´on por RF, co-procesador AES, aceler´ometro y sensor de presi´on entre otras caracter´ısticas.
  • 9. Herramientas utilizadas Elementos involucrados en el sistema eZ430-Chronos Sistema de desarrollo inal´ambrico creado para desarrolladores que crean aplicaciones inal´ambricas tales como sistemas de vigilancia, pantallas para redes de ´area personal, nodos de sensores in´alambricos, etc. Basado en el microcontrolador CC430F6137, dispone de una pantalla LCD de 96 segmentos, m´odulo para la comunicaci´on por RF, co-procesador AES, aceler´ometro y sensor de presi´on entre otras caracter´ısticas. Es un dongle USB programable el cu´al facilita una comunicaci´on directa entre un PC y una red inal´ambrica sub<1GHz. Dispone de un m´odulo de RF basado en el chip CC1101, al igual que el eZ430-Chronos. CC1111
  • 10. Herramientas utilizadas Elementos involucrados en el sistema eZ430-Chronos Sistema de desarrollo inal´ambrico creado para desarrolladores que crean aplicaciones inal´ambricas tales como sistemas de vigilancia, pantallas para redes de ´area personal, nodos de sensores in´alambricos, etc. Basado en el microcontrolador CC430F6137, dispone de una pantalla LCD de 96 segmentos, m´odulo para la comunicaci´on por RF, co-procesador AES, aceler´ometro y sensor de presi´on entre otras caracter´ısticas. Es un dongle USB programable el cu´al facilita una comunicaci´on directa entre un PC y una red inal´ambrica sub<1GHz. Dispone de un m´odulo de RF basado en el chip CC1101, al igual que el eZ430-Chronos. CC1111 El otro elemento ser´ıa un PC al cual conectar el CC1111 y PC que har´a de servidor.
  • 11. Herramientas de desarrollo eZ430-Chronos Parte hardware que nos interesa: Microcontrolador msp430. M´odulo de radio CC1101. Co-procesador AES de 128 bits. Est´a integrado en un reloj de pulsera. Parte software: Openchronos Es un firmware Open Source para el eZ430-Chronos. Contiene todos los drivers necesarios para el sistema. Una nueva funci´on Chronos Auth System Se modificaran los drivers de la radio y se a˜nadir´an funciones a los de AES.
  • 12. Herramientas de desarrollo Access Point Dos elementos: CC1111 + Un PC Parte hardware: CC1111 8051 MCU. M´odulo de radio. Co-procesador AES de 128 bits. Controlador USB. Parte software que debemos implementar: Firmware para el CC1111. Bas´andonos en el firmware Recovery de TI para el dongle del kit eZ430-Chronos Development Tool + Datasheet Creaci´on de una API para la comunicaci´on con el PC a trav´es del USB. PC Creaci´on de un daemon en el lenguaje Python. Se comunica con el CC1111 por USB y con el servidor por TCP/IP. Usa la PAM para autenticar.
  • 13. Herramientas de desarrollo Servidor Parte hardware necesaria: Cualquier equipo con Linux, Python y conexi´on de red, ya sea inal´ambrica o cableada. Puede ser un equipo externo o la misma m´aquina en la que se encuentra el AP. Parte software: Creaci´on de un daemon en Python. Interfaz de administraci´on para a˜nadir, modificar o eliminar usuarios. Se comunicar´a con el AP por TCP/IP usando SSL. Encargado de autorizar o denegar al AP el acceso al usuario. Control del estado del sistema mediante logs.
  • 14. Protocolo Protocolo ClientServer AP AESks(uid,AESkw(RAND1)) uid,RAND,AESkw(RAND1) COMPROBACION DE CREDENCIALES DESCIFRANDO RAND1. AESKW(RAND1+1) beacon(RAND1) OK, AESKW(RAND1+1) SESION ABIERTA beacon(RAND2) AESks(uid,AESkw(RAND2)) uid,RAND,AESkw(RAND2) PING OK COMPROBACION DE CREDENCIALES DESCIFRANDO RAND2. Diagrama del funcionamiento del sistema
  • 15. Protocolo Protocolo ClientServer AP AESks(uid,AESkw(RAND1)) uid,RAND,AESkw(RAND1) COMPROBACION DE CREDENCIALES DESCIFRANDO RAND1. AESKW(RAND1+1) beacon(RAND1) OK, AESKW(RAND1+1) SESION ABIERTA beacon(RAND2) AESks(uid,AESkw(RAND2)) uid,RAND,AESkw(RAND2) PING OK COMPROBACION DE CREDENCIALES DESCIFRANDO RAND2. Diagrama del funcionamiento del sistema Protocolo desaf´ıo-respuesta con tres elementos: Cliente: ez430-Chronos Punto de acceso: CC1111+PC Servidor Dos sistemas criptogr´aficos: Criptograf´ıa sim´etrica: AES. Para cifrar el n´umero aleatorio. Criptograf´ıa asim´etrica: SSL. Para la comunicaci´on entre el AP y el servidor.
  • 16. Protocolo Tipos de paquetes Tenemos 4 tipos de paquetes distintos para la comunicaci´on por RF: Beacon: 13 bytes. Destino-Origen-Tipo-n´umero aleatorio Paquete tipo Auth: 41 bytes. Destino-Origen-Tipo-Payload Payload: 256 bits cifrados con AES-CBC. Contiene el n´umero aleatorio y el uid del usuario cifrado. Paquete tipo OK 25 bytes. Destino-Origen-Tipo-Payload Payload: 128 bits cifrados con AES. Contiene el random+1 Paquete tipo Ping: 41 bytes. Igual que paquete tipo auth. Para la comunicaci´on entre el AP y el servidor se usa TCP/IP. Usando paquetes de 23 bytes, los cuales contienen el tipo de petici´on, uid, n´umero aleatorio en texto claro y n´umero aleatorio cifrado. El servidor responde con un paquete de 18 bytes con estado y random+1 cifrado con la clave del usuario.
  • 18. Funcionamiento del Sistema Funcionamiento ESPERA BEACON START ENVIA AUTENTICACION SESION ENVIA PING FIN ¿Recibe beacon? SI NO ¿Credenciales correctas? ¿Recibe beacon? SI SI NO NO ¿Credenciales correctas? NO SI Cada elemento funciona de manera independiente: AP: Siempre env´ıa beacons, se comunica con el servidor para comprobar credenciales y proporciona el acceso al sistema a trav´es de la PAM de Linux. Cliente: Una vez activado, al recibir un beacon comienza la autenticaci´on. Servidor: Espera peticiones desde el AP, una vez recibida una petici´on, comprueba credenciales y devuelve un resultado al AP.
  • 19. Implementaci´on Software utilizado Cliente eZ430-Chronos: Compilador msp430-gcc-4.4.3 (http://mspgcc4.sourceforge.net/) mspdebug (http://mspdebug.sourceforge.net/) Depurador para MSP430 MCUs. Usado para cargar el programa en la memoria del eZ430-Chronos. Para programar no se ha usado ning´un IDE. Solo gedit Punto de Acceso: CC1111: IAR Embedded Workbench for 8051 IDE para sistemas empotrados. CCDebugger Sirve para cargar el programa en el CC1111. M´odulos usados en Python: random,struct,sys,os,ssl,dbus,socket,time,serial,binascii y SafeConfigParser Servidor: M´odulos usados en Python: AES,struct,sys,os,ssl,dbus,socket,time,binascii,optparse y SafeConfigParser OpenSSL para crear los certificados.
  • 20. Implementaci´on Python Punto de acceso. M´odulos principales: serial. Necesario para la comunicaci´on con el CC1111, usando la API creada. socket y ssl. Necesarios para la comunicaci´on cifrada con el servidor. ConfigParser. Usada para cargar la configuraci´on desde un archivo. dbus. Usado para las notificaciones. Ya que el demonio se ejecuta como root, necesita dbus. struct. Para hacer conversiones entre valores en Python y estructuras en C. Tambi´en usado para manejar datos binarios en las conexiones de red. random. Para generar n´umeros aleatorio. Otros m´odulos: sys,os,time,binascii.
  • 21. Implementaci´on Python Servidor. M´odulos principales: socket y ssl. Necesarios para la comunicaci´on y cifrado de est´a con el AP. Crypto.Cipher - AES. Usado para descifrar el n´umero aleatorio. ConfigParser. Usada para cargar la configuraci´on desde un archivo. adminssl.conf optparse. Usada para capturar y manejar los par´ametros pasados al programa. Otros m´odulos necesarios: struct,sys,os,dbus,time,binascii Para el manejo de los logs se usan funciones creadas especialmente para el programa.
  • 22. Utilizaci´on del Sistema Interfaces Access Point: Archivo de configuraci´on: /etc/accesspoint.conf. Daemon: /etc/init.d/daemon AP CLI para iniciar, detener y depurar el servicio. Para iniciar mejor usar service o systemctl. Necesario leer el README para su correcta instalaci´on.
  • 23. Utilizaci´on del Sistema Interfaces Servidor: Archivo de configuraci´on: /etc/adminssl.conf. Daemon: /etc/init.d/daemon admineZ430 CLI. Interfaz de l´ınea de comandos para la administraci´on. Necesario leer el README para su correcta instalaci´on.
  • 24. Utilizaci´on del Sistema Interfaces Cliente: Reloj de pulsera. Sistema embebido. Cargar el sistema en la memoria es tarea del administrador. uid configurable desde el cliente.
  • 25. Detalles Im´agenes Sistema de Logging en el servidor. Notificaciones de eventos. Ficheros para la configuraci´on del servicio.
  • 26. Bibliograf´ıa y documentaci´on Bibliograf´ıa: Website eZ430-Chronos. http://www.ti.com/ez430 Proyecto OpenChronos. https://github.com/poelzi/OpenChronos Datasheet CC1111. http://www.ti.com/tool/cc1110-cc1111dk Gu´ıa usuario eZ430-RF2500. http://focus.ti.com/lit/ug/slau227c/slau227c.pdf Datasheet CC430. http://www.ti.com/lit/ug/slau259e/slau259e.pdf Descargar: GitHub: https://github.com/Sinkmanu/auth-system-chronos Google code: http://code.google.com/p/auth-system-chronos/