Full text
2013 42 Guillermo I. Azuara Guillén Desarrollo de un sistema exportable de confianza corporativa: aplicación a entornos de trazabilidad de productos Departamento Director/es Ingeniería Electrónica y Comunicaciones Salazar Riaño, José Luis Director/es Tesis Doctoral Autor Repositorio de la Universidad de Zaragoza – Zaguan http://zaguan.unizar.es UNIVERSIDAD DE ZARAGOZA
Departamento Director/es Guillermo I. Azuara Guillén DESARROLLO DE UN SISTEMA EXPORTABLE DE CONFIANZA CORPORATIVA: APLICACIÓN A ENTORNOS DE TRAZABILIDAD DE PRODUCTOS Director/es Ingeniería Electrónica y Comunicaciones Salazar Riaño, José Luis Tesis Doctoral Autor Repositorio de la Universidad de Zaragoza – Zaguan http://zaguan.unizar.es UNIVERSIDAD DE ZARAGOZA
Departamento Director/es Director/es Tesis Doctoral Autor Repositorio de la Universidad de Zaragoza – Zaguan http://zaguan.unizar.es UNIVERSIDAD DE ZARAGOZA
Tesis Doctoral Desarrollo de un sistema exportable de confianza corporativa. Aplicación a entornos de trazabilidad de productos. Autor Guillermo Azuara Guillén Director José Luis Salazar Riaño
Agradecimientos Cuando se acerca el final del camino y miro hacia atrás, puedo ver las caras sonrientes de todos los que me han ayudado durante el trayecto. En las pendientes cortas pero escarpadas, en los llanos que se hacían interminables cuando no se divisaba la meta, y en las cuestas abajo, donde hacía falta la mente fría para no correr demasiado y caer. Como dijo Virgilio: “Un camino sin obstáculos probablemente conduce a algún lugar que no vale la pena”. Así que, aunque en el camino hubo tropiezos, siempre una mano amiga me ayudó a levantarme. Cuando me perdí, siempre encontré algún caminante que me indicó la dirección correcta. Cuando estaba cansado no me faltaron las palabras de aliento para continuar. Y muchas han sido las personas que han conseguido que el trayecto sea más llevadero. Muchas gracias a todos los que han hecho posible el desarrollo de esta tesis. Gracias a mis padres, que con su esfuerzo y ejemplo siempre me han animado a seguir adelante. Un agradecimiento especial a mis compañeros del Grupo de Tecnologías de las Comunicaciones en Teruel: Ana, Pedro y Ana, y también a Raúl y Eduardo. Gracias también a mis compañeros del área de Ingeniería Telemática en la Escuela de Ingeniería y Arquitectura, que han hecho que en mis visitas a Zaragoza me sintiera como en casa. Gracias a José Luis mi director de tesis y a José Luis del observatorio de identidad digital de la cátedra telefónica de la Universidad de Zaragoza. Tampoco quisiera olvidarme de las administraciones e instituciones que han colaborado en la financiación de las investigaciones que se han abordado en esta tesis: Instituto Nacional de Alimentación y Tecnología Agraria y Agroalimentaria, Cátedra Telefónica de la Universidad de Zaragoza, Comisión Interministerial de Ciencia y Tecnología, Ministerio de Educación y Ciencia, Ministerio de Ciencia e Innovación, Fondos Europeos de Desarrollo Regional y la Fundación Universitaria Antonio Gargallo. Y para finalizar, y no menos importante, quería darle las gracias a Mamen por haber estado ahí todos estos años y a Rocío, que a pesar de sus cuatro años, es capaz de recargar la energía en los momentos más aciagos con sólo una sonrisa. Seguro que me dejo a alguien, lamento el olvido, pero gracias de corazón. “Cuando se viaja en pos de un objetivo, es muy importante prestar atención al Camino. El Camino es el que nos enseña la mejor forma de llegar y nos enriquece mientras lo estamos cruzando” (Paulo Coelho).
Índice general Agradecimientos ............................................................................................ v Resumen ..................................................................................................... vii Publicaciones ............................................................................................... ix Revistas científicas internacionales ............................................................................ ix Congresos Internacionales .......................................................................................... ix Congresos nacionales .................................................................................................... x Proyectos de investigación e I+D directamente relacionados ............................... x Índice general ................................................................................................ 1 Índice de figuras ............................................................................................ 5 Índice de tablas .............................................................................................. 6 Acrónimos ...................................................................................................... 7 1. Introducción ............................................................................................ 11 1.1. Motivación y objetivos ........................................................................................ 12 1.2. Principales contribuciones .................................................................................. 15 1.3. Plan de trabajo y metodología ............................................................................ 15 1.4. Estructura de la memoria de tesis ..................................................................... 16 2. Revisión bibliográfica y estado del arte .................................................. 19 2.1. Planteamiento teórico: Sistemas de identidad digital ..................................... 20 2.1.1. Identidad, autenticación y autorización. ..................................................... 21 2.1.2. Confianza y reputación ................................................................................. 25
2 ÍNDICE GENERAL 2.1.3. Modelos de confianza y reputación ............................................................ 27 2.1.3.1. Parámetros para la clasificación de modelos de confianza ........................................................................................ 28 2.1.3.2. Clasificación de modelos según el tipo de control .................. 34 2.1.4. Modelos de sistemas de gestión de la identidad ....................................... 37 2.1.4.1. Modelo aislado .............................................................................. 40 2.1.4.2. Modelo centralizado ..................................................................... 41 2.1.4.3. Modelo federado .......................................................................... 43 2.2. Implementación técnica: Seguridad y confianza en procesos industriales y comerciales ........................................................................................................ 48 2.2.1. Trazabilidad ..................................................................................................... 48 2.2.1.1. Trazabilidad general ..................................................................... 48 2.2.1.2. Trazabilidad en la industria alimentaria .................................... 50 2.2.2. Identificación por radiofrecuencia (RFID) ................................................ 52 2.2.2.1. Hardware........................................................................................ 55 2.2.2.2. Revisión de los aspectos de seguridad en RFID ..................... 63 2.2.3. Firmas agregadas. ........................................................................................... 65 3. Sistema propuesto. ................................................................................... 73 3.1. Planteamiento Teórico ........................................................................................ 74 3.2. Prueba de concepto ............................................................................................. 78 3.2.1. Sistema y relaciones de confianza ............................................................... 79 3.2.1.1. Confianza empresa – regulador centralizado ........................... 80 3.2.1.2. Confianza agentes de control – empresa productora ............. 81 3.2.1.3. Confianza entre el cliente y un producto finalizado comercializado .............................................................................. 91 3.2.2. Sistema de gestión de la identidad de los agentes de control. ................ 92 3.2.3. Autenticidad del producto ............................................................................ 93 3.2.4. Flujos de comunicaciones ............................................................................. 94
ÍNDICE GENERAL 3 4. Diseño, prototipo y resultados ................................................................ 97 4.1. Requisitos generales y consideraciones del sistema ........................................ 98 4.1.1. Salud pública y legislación ............................................................................ 99 4.1.2. Tratamiento de la información y puntos de control .............................. 105 4.1.3. Escenario físico ............................................................................................ 108 4.2. Requisitos específicos de seguridad ................................................................ 111 4.3. Elección del tipo de curva elíptica y tamaño de clave. ................................. 112 4.3.1. Tiempo de procesado .................................................................................. 113 4.3.1.1. Primera batería de pruebas. ...................................................... 113 4.3.1.2. Segunda batería de pruebas. ...................................................... 118 4.3.1.3. Compatibilidad de los tiempos de procesado con sistema .......................................................................................... 119 4.4. Implementación de la aplicación ..................................................................... 120 4.4.1. Esquema del sistema ................................................................................... 120 4.4.2. Desarrollo de la aplicación ......................................................................... 123 4.4.2.1. Gestión de usuarios y claves: FA_Administrador ................. 123 4.4.2.2. Control de canales: FA_Servidor. ............................................ 123 4.4.2.3. Control de perniles: SRV_Despiece. ....................................... 124 4.5. Seguridad: aportaciones del sistema frente a amenazas conocidas ............ 124 4.5.1. La capa física ................................................................................................. 125 4.5.2. La capa de red y transporte ........................................................................ 127 4.5.3. La capa de aplicación ................................................................................... 127 4.5.4. La capa estratégica. ...................................................................................... 129 4.5.5. Ataques multicapa. ....................................................................................... 129 4.6. Análisis económico ............................................................................................ 130 5. Conclusiones y Líneas Futuras de Investigación ................................. 135 5.1. Conclusiones ....................................................................................................... 136 5.2. Líneas futuras de investigación ........................................................................ 137
4 ÍNDICE GENERAL Anexos Anexo I. Glosario trazabilidad. ................................................................................... 141 Anexo II. RFID: normativa y estándares. ................................................................. 145 Anexo III. Criptografía ligera en RFID. .................................................................... 151 Anexo IV. Normativa de trazabilidad y seguridad alimentaria. ............................. 159 Bibliografía ................................................................................................. 167
Índice de figuras Fig. 2-1. Identidad vs Identidad parcial. ................................................................ 22 Fig. 2-2. Modelo aislado de Gestión de Identidad ............................................... 41 Fig. 2-3. Modelo Centralizado de Gestión de Identidad .................................... 42 Fig. 2-4. Modelo Federado de Gestión de Identidad .......................................... 44 Fig. 2-5. Esquema básico de un sistema RFID. ................................................... 55 Fig. 2-6. Esquema extendido de un sistema RFID. ............................................. 56 Fig. 2-7. Acoplamiento Backscatter pasivo .............................................................. 57 Fig. 2-8. Acoplamiento inductivo (magnético) ..................................................... 58 Fig. 3-1. Descripción del proceso ........................................................................... 75 Fig. 3-2. Ejemplo de un proceso de construcción de identidad con calidad... 77 Fig. 3-3. Esquema de confianza empresa - regulador ......................................... 81 Fig. 3-4. Sistema de control de confianza en agentes .......................................... 91 Fig. 3-5. Sistema centralizado de gestión de firmas ............................................. 96 Fig. 4-1. Esquema del proceso productivo. ........................................................ 105 Fig. 4-2. Control de canales por parte del veedor. ............................................. 106 Fig. 4-3. Punto de control de perniles. ................................................................ 107 Fig. 4-4. Jaula de expedición .................................................................................. 108 Fig. 4-5. Distribución memoria etiqueta RFID .................................................. 110 Fig.4-6. Comparación de tiempo de verificación de firma de distintos tipos de curva y tamaños de firma ....................................................... 114 Fig.4-7. Tiempo de procesado de firmas No supersingulares – comparativa por longitud de clave ....................................................... 115 Fig. 4-8. Tiempo de procesado de firmas Supersingulares – comparativa por longitud de clave .............................................................................. 116 Fig. 4-9. Comparación de tiempos de verificación entre curvas y tamaños de firma con nivel de seguridad equivalente similar ......... 117 Fig. 4-10. Comparación de tiempo entre la primera y la segunda baterías de pruebas ................................................................................................ 119 Fig. 4-11. Arquitectura del sistema ....................................................................... 121 Fig. 4-12. Arquitectura en cada punto de control .............................................. 125 Fig. 4-13. Inversión en etiquetas en miles de € .................................................. 132 Fig. 4-14. Ahorro en etiquetas en miles de € anuales. ....................................... 133
Índice de tablas Tabla 2-1. Resumen de clasificación de modelos. ..................................................... 31 Tabla 2-2. Algunos modelos computacionales según la clasificación de 4 parámetros de Pinyol et al. ........................................................................ 33 Tabla 2-3. Comparación entre etiquetas pasivas y activas. ...................................... 62 Tabla 2-4. Tamaños de claves recomendadas por el NIST para niveles de seguridad equivalentes [NSA2009]. ......................................................... 71 Tabla 3-1. Parámetros del sistema de confianza ....................................................... 88 Tabla 4-1. Datos etiqueta RFID.................................................................................. 109 Tabla 4-2. Tiempo en seg. de procesado de firma agregada ................................. 114 Tabla 4-3 Tiempo en segundos de procesado de las firmas .................................. 118 Tabla 4-4. Coste anual para tres firmantes en función del tipo de etiqueta ....... 131
Acrónimos 3DES Triple Data Encryption Standar d ABAC Attribut e - Based Access Control AES Advanced E ncryption Standar d APPCC Análisis de Peligros y Puntos de Control Crític o CDH Computational Diffi e - Hellman Co-DDH Decision c o - Diffi e - Hellman Co-GDH C o - Gap Diffie Hellman CRDO Consejo Regulador Denominación de Origen DDH Decision Diffi e - Hellman DES Data Encryption Standar d DoS Denial of Servic e DSA Digital Signature Algorith m ECC E lliptic Curve Cryptograph y ECDSA E lliptic Curve Digital Signature Algorith m GDH Gap Diffie Hellman HF High Frequenc y IBC Identit y - Based Cryptograph y IdM Identity Management IdP Identity Provider ISO International Organization for Standardization MD5 Message Digest Algorithm 5
8 ACRÓNIMOS MOV Menezes, Okamoto y Scott (tipo de ataque) NFC N ear Field Communication NIST N ational Institute of Standards and Technolog y NO-SS N o Supersingular PKG Private Ke y Generator PRNG Pseudorandom Number Generator QAS Q uality Assurance Syste m RBAC Rol e - Based Access Control REGA Registro General de Explotaciones Ganaderas RFID Radio Frequency Identification RSA Rivest, Shamir y Adelman (Sistema criptográfico) SHA Secure Hash Algorith m SP Service Provider SS Supersingular SSO Single Sing On UID Unique Identification Number
1.4. ESTRUCTURA DE LA MEMORIA DE TESI S 17 Por último, en el capítulo quinto, se presentan las conclusiones y se esbozan unas líneas futuras de investigación. También se adjuntan cuatro anexos que completan la información referida en algunos apartados: un glosario sobre trazabilidad y otro sobre normativa y estándares RFID, un tercero sobre criptografía ligera en RFID y un cuarto y último sobre normativa de trazabilidad y seguridad alimentaria. Para facilitar la consulta de las referencias bibliográficas, éstas se han ubicado al final del documento.
18 CAPÍTULO 1: INTRODUCCIÓN
2. Revisión bibliográfica y estado del arte 2.1. Planteamiento teórico: Sistemas de identidad digital ..................................... 20 2.1.1.Identidad, autenticación y autorización. ..................................................... 21 2.1.2.Confianza y reputación ................................................................................. 25 2.1.3.Modelos de confianza y reputación ............................................................ 27 2.1.3.1.Parámetros para la clasificación de modelos de confianza ........................................................................................ 28 2.1.3.2.Clasificación de modelos según el tipo de control .................. 34 2.1.4.Modelos de sistemas de gestión de la identidad ....................................... 37 2.1.4.1.Modelo aislado .............................................................................. 40 2.1.4.2.Modelo centralizado ..................................................................... 41 2.1.4.3.Modelo federado .......................................................................... 43 2.2. Implementación técnica: Seguridad y confianza en procesos industriales y comerciales ........................................................................................................ 48 2.2.1.Trazabilidad ..................................................................................................... 48 2.2.1.1.Trazabilidad en la industria alimentaria .................................... 50 2.2.2.Identificación por radiofrecuencia (RFID) ................................................ 52 2.2.2.1.Hardware........................................................................................ 55 2.2.2.2.Revisión de los aspectos de seguridad en RFID ..................... 63 2.2.3.Firmas agregadas. ........................................................................................... 65
20 CAPÍTULO 2: REVISIÓN BIBLIOGRÁFICA Y ESTADO DEL ARTE Dado que el objetivo de este trabajo es desarrollar un sistema de identidad digital, con el que poder implementar un método de trazabilidad electrónica, desarrollado sobre un sistema RFID, en este capítulo se presenta una revisión de los conceptos relacionados con la identidad digital y la confianza. Sobre este concepto se implementará un sistema confiable de trazabilidad, aplicable a cualquier entorno productivo, y que será soportado por una PKI que utilizará certificados de claves para firmas múltiples, los cuales serán almacenados en una etiqueta RFID. Por lo tanto, es obligado revisar el estado del arte de todos estos conceptos, trabajo que se va a recoger en el resto del capítulo. Este estado del arte se ha dividido en dos partes claramente diferenciadas. En la primera parte se engloba todo lo relacionado con el estudio teórico del concepto de identidad y los aspectos relativos a la provisión de identidad mediante atributos confiables, y en la segunda parte las cuestiones y herramientas relacionadas con su implementación en un sistema de trazabilidad. Cada uno de los apartados incluye tanto una introducción al tema como una revisión bibliográfica que refleja el estado del arte en los diferentes ámbitos. 2.1. Planteamiento teórico: Sistemas de identidad digital Siempre que una persona entra a formar parte de una comunidad con la que va a relacionarse, es necesario que se presente, es decir que se dé a conocer, para que los demás miembros de la comunidad puedan relacionarse con ella, asociarle un nombre, unos atributos y una reputación, o lo que es lo mismo: una identidad. En algunos entornos y circunstancias, se necesita que además se muestre algún tipo de credencial para que el resto de miembros puedan tomar como cierta dicha identidad, y asignar un grado de confianza a sus informaciones. En el caso de la identidad digital, cuando una entidad (elementos activos del sistema) se quiere representar en una comunidad (ya sea un sistema de información, una red, etc…), esta representación se realiza incorporando a dicha entidad a una base de datos de usuarios, en la que también se le asigna un rol con una serie de privilegios y normalmente algún tipo de contraseña o mecanismo para que pueda autenticarse. Se entiende por entidad cualquier persona2 o cosa que pueda ser caracterizada por sus atributos [MODINIS2005][RANNENBERG2009]. Por tanto, esta definición también 2Física o jurídica
2.1. PLANTEAMIENTO TEÓRICO: SISTEMAS DE IDENTIDAD DIGITAL 21 engloba instituciones, empresas, máquinas, etc. Trabajos como [SUCH2011] amplían el concepto que se acaba de presentar de entidad, con el de “entidad software” que engloba agentes inteligentes, organizaciones virtuales, etc. En el resto de este apartado se van a presentar diversos aspectos que se deben tener en cuenta cuando se hable de una identidad digital, como son los modelos de confianza y reputación y los modelos de gestión de la identidad. Antes de continuar, debido a los diversos usos e implementaciones que hay de sistemas de identidad digital y métodos de gestión, conviene aportar una serie de definiciones, ya que a veces dada la utilización de los mismos términos en diversos ámbitos, se pierde su matiz y puede llevar a ciertas confusiones. 2.1.1. Identidad, autenticación y autorización. En este punto se van a exponer las definiciones relacionadas con identidad, autenticación y autorización, así como su relación con el sistema planteado en esta tesis. La definición de los conceptos mostrados a continuación es importante, ya que muchas veces el concepto que tenemos asociado a los términos está condicionado inconscientemente por su uso en los sistemas tradicionales “basados en papel” que históricamente han soportado los procesos de identidad [CAMP2004]. Identidad: 1. Conjunto de atributos permanentes o temporales de larga duración asociados a una entidad [CAMP2004]. 2. Representación de una entidad en un contexto determinado [JØSANG2007] y consta de identificadores y credenciales de los usuarios. 3. Es la representación, pruebas y credenciales de una entidad usuario la cual es asociada en un contexto determinado y es utilizada por aplicaciones y servicios para distinguir unos usuarios de otros y proporcionar diferentes privilegios a diferentes usuarios [CAO2010]. Identidad de una entidad: en [SUCH2011] se define la identidad de una entidad como ⋃ . La identidad de la entidad es la unión
22 CAPÍTULO 2: REVISIÓN BIBLIOGRÁFICA Y ESTADO DEL ARTE de todas las identidades parciales de (la definición de identidad parcial se muestra a continuación). Identidad parcial: algunos autores se refieren a la identidad parcial como un subconjunto del total de atributos que posee una entidad [DAMIANI2003]. En [SUCH2011] se define formalmente identidad parcial como: “Dado un conjunto finito de atributos ,…, cada uno de ellos con un dominio finito ,…, , un conjunto de entidades y la entidad ∈, una identidad parcial de la entidad es el vector = ,…, , que satisface que ∈ y ∀ ∈\⇒ . El conjunto de atributos , el conjunto de valores para cada atributo indicado como y el conjunto de entidades dependen del contexto. Por tanto, una identidad parcial de una entidad ∈ es suficiente para identificar la entidad dentro del conjunto considerando y ”. Aunque cada identidad parcial normalmente identifica a la entidad en un contexto específico o rol, la misma identidad parcial puede identificar a la entidad en diferentes contextos. En la siguiente figura, basada en una figura de [SUCH2011], se muestra un esquema ilustrativo del concepto de identidad e identidad parcial. Identidad digital: según [LINDEN2009] es una abstracción de un individuo en un sistema de información. Impuestos Padres Permiso de conducción Nombre Dirección Historial médico Grupo Sanguíneo Alergias T ítulos académicos oficiales Nombre de la empresa T eléfono del traba j o Habilidades profesionales Nombre de usuario Gustos musicales Bernardo Identidad Administración (Gobierno) T rabajo Sistema de Salud Identidad parcial Fig. 2-1. Identidad vs Identidad parcial.
2.1. PLANTEAMIENTO TEÓRICO: SISTEMAS DE IDENTIDAD DIGITAL 23 Identificador: atributo o conjunto de atributos que identifican de manera única a personas, lugares o cosas en el contexto de un espacio de nombres específicos (cada espacio de nombres depende de una autoridad que lo controla y es la responsable de mantener que los identificadores sean únicos en ese espacio) [CAMP2004]. Identificador personal: identificadores persistentes asociados con individuos humanos y atributos que son difíciles o imposibles de cambiar, como por ejemplo la fecha de nacimiento de una persona o su código genético [CAMP2004]. Identificación: Asociación de un identificador personal con una persona que presenta ciertos atributos [CAMP2004]. Atributo: característica asociada con una entidad, como ente individual. Pueden ser permanentes (por ejemplo: fecha de nacimiento, color de los ojos,…) o temporales de larga duración (por ejemplo el número de afiliación a la seguridad social) [CAMP2004][RANNENBERG2009]. Hasta aquí se han visto una serie de definiciones relativas a la identidad digital. Como se ha podido apreciar, están fuertemente orientadas a que el objeto de la identificación sean personas. Sin embargo, en esta tesis la identidad digital se contempla desde un punto de vista general, que permite incluso su aplicación a productos manufacturados. Además de suponer la abstracción del objeto en un sistema de información, esta identidad digital de los productos, se va materializar en un identificador, un elemento tangible que los va a acompañar físicamente y además también poseerá una vinculación lógica en el sistema de información. Adicionalmente a los atributos que se vayan incorporando a la identidad digital, también se recopilará información sobre los agentes que han comprobado e introducido dichos atributos en el sistema, de modo que también habrá identificadores de los agentes implicados, y el sistema tendrá cuantificado su nivel de confianza. Una vez que se ha definido lo que se entiende en este trabajo por identidad digital, se van a mostrar una serie de definiciones relacionadas con la autenticación.
24 CAPÍTULO 2: REVISIÓN BIBLIOGRÁFICA Y ESTADO DEL ARTE Autenticación: Es una prueba de un atributo. Normalmente la autenticación se basa en [CRANOR2005]: o Algo que la entidad “sabe” (Ej. una contraseña) o es “capaz de reconocer” (Ej. una cara). o Algo que la entidad tiene (Ej. llaves, tarjetas inteligentes,…). o Algo que la entidad es (Ej. huella dactilar) o una característica típica de su comportamiento (Ej. forma de hablar). Estos métodos de autenticación, sobre todo el último, son aplicables principalmente cuando una máquina debe autenticar a un humano. Cuando la autenticación es entre máquinas, existe un método denominado autenticación fuerte, basado en el uso de técnicas y herramientas criptográficas. Autenticación de identidad: Asociación entre una entidad y un identificador [CAMP2004]. Autenticación de atributo: Asociación entre una entidad y un atributo [CAMP2004]. Una vez expuestas las definiciones, se puede concretar que el sistema propuesto insertará en la identidad digital del producto un atributo que será avalado por una firma digital. Esta firma digital será un método de autenticación fuerte que permitirá autenticar tanto el producto (sólo los productos legítimos serán firmados por agentes de control autorizados) como a los agentes de control (ya que sólo si están autorizados podrán firmar el atributo). En la frase anterior se ha introducido un concepto no menos importante en el proceso, como es la autorización y el control de acceso, que a continuación se pasa a definir. Autorización: decisión de permitir una acción particular basada en un identificador o en un atributo. En sistemas de información la autorización suele estar ligada al concepto de control de acceso, es decir, decidir y auditar quién tiene acceso a qué dentro de un sistema. Tradicionalmente, desde los años 60 [LAMPSON1969], la forma de representar los permisos o autorizaciones en un sistema ha sido una matriz, en cuyas filas estaban los usuarios del sistema y en las columnas los objetos (o recursos) sobre los que podían (o no) actuar los usuarios [ANDERSON2008].
2.1. PLANTEAMIENTO TEÓRICO: SISTEMAS DE IDENTIDAD DIGITAL 25 En el sistema propuesto, sólo los usuarios autorizados podrán introducir los atributos en la identidad digital de los productos. Los dos sistemas de autorización más importantes son los basados en roles (los más utilizados en la actualidad) y los basados en atributos. Ambos sistemas se definen a continuación. Autorización basada en Roles (RBAC, Role-Based Access Control): en organizaciones con muchos usuarios (que además pueden darse de alta, de baja o cambiar sus atributos) y muchos objetos sobre los que controlar el acceso, la utilización de matrices de control de acceso era inviable. Por ello, en los años 90 surgió el sistema de acceso basado en roles, entendiendo el rol como un nivel de abstracción entre los sujetos y las acciones que estos pueden hacer con los objetos [LINDEN2009]. El término RBAC fue introducido en 1992 en [FERRAIOLO1992], y la publicación de la familia del modelo RBAC fue en 1996 [SANDHU1996]. En RBAC, cada usuario tiene uno o varios roles, y cada uno de estos roles otorga una serie de privilegios (es decir, autorizaciones o permisos) sobre un determinado objeto (que puede ser un servicio, un archivo, etc.). Para ampliar este tema se recomienda la lectura de [FUCHS2011]. Control de acceso basado en atributos (ABAC, Attribute-Bassed Access Control): los permisos dependen de algunos de los atributos del usuario, servicio o entorno [YUAN2005]. 2.1.2. Confianza y reputación En este apartado se van a presentar los conceptos de confianza y reputación. Ambos conceptos son muy importantes en esta tesis, ya que posteriormente se propondrá un sistema de confianza basado en la reputación de los agentes de control que permitirá de forma autónoma y automática establecer un nivel de confianza en un agente de control que evolucionará a lo largo del tiempo, según el número de errores del operario y su frecuencia. Para abordar el estudio de estos dos conceptos se ha utilizado el enfoque propuesto por Sabater y Sierra en [SABATER2005]. Cuando se presentan estos términos, es habitual en la bibliografía tratarlos desde diferentes perspectivas. Las más comunes suelen ser desde la sicología [BROMLEY1993, KARLINS1970], la sociología [BUSKENS1998], la filosofía
26 CAPÍTULO 2: REVISIÓN BIBLIOGRÁFICA Y ESTADO DEL ARTE [HUME1739, PLATON2009] y la economía [CELENTANI1996, MARIMON2000]. Confianza: 1. Según Gambetta [GAMBETTA1988], es “la probabilidad subjetiva por la cual una persona, A, espera que otra persona, B, realice una acción determinada de la cual depende su bienestar”. De forma general, entendemos que la confianza es la expectativa que tiene A de que B haga algo que le beneficie. 2. “Medida acerca de la certeza que se tiene en que otro agente será capaz de ejecutar eficientemente una determinada acción, teniendo en cuenta su propio conocimiento” [CABALLERO2008]. Esta definición, dado su carácter generalista, será la que utilizaremos como referencia (aunque cite explícitamente a un agente, realmente puede entenderse para hacer la definición más extensa agente como entidad que posee cierta información). Respecto a reputación, aunque también existen múltiples definiciones, se ha optado por presentar dos definiciones que tienen un amplio campo de aplicación. Reputación: 1. Es una evaluación basada en la historia de interacciones u observaciones de una entidad, ya sean realizadas directamente por el evaluador o transmitidas por un testigo [JØSANG2007]. 2. Certeza que un agente tiene sobre el comportamiento de otro, compuesta a partir del conocimiento que es capaz de extraer de las relaciones con el resto de agentes, ya sea por el análisis de la red de relaciones sociales como por la información suministrada por otros” [CABALLERO2008]. Como se ha señalado, se utilizará el término de confianza como una medida acerca de la certeza que se tiene en que un agente de control ejecutará eficientemente el control e introducción en el sistema del atributo del que sea responsable, teniendo en cuenta el número de fallos en su tarea a lo largo del tiempo. Entenderemos reputación, como un nivel cuantitativo resultado de una evaluación de la historia de errores de un agente, y que se relacionará directamente con la confianza.
2.1. PLANTEAMIENTO TEÓRICO: SISTEMAS DE IDENTIDAD DIGITAL 33 o Los que no poseen dimensión cognitiva, consideran al modelo como una “caja negra” que recibe una serie de entradas y emite como salida valores de confianza y reputación. Normalmente en el aspecto computacional están muy bien definidos y pueden expresarse con fórmulas analíticas. Procedimiento: normalmente, los modelos presentan una buena forma de representar y abordar la confianza y la reputación, pero no hay explicaciones sobre cómo han llegado a ello. Es muy común en los modelos cognitivos, centrados en sus componentes internos de confianza y reputación, pero no en cómo están construidos dichos componentes. Generalidad: los autores clasifican los modelos teniendo en cuenta si son de propósito general, o si por el contrario están enfocados para escenarios muy específicos. A continuación se presentan algunos los principales modelos computacionales basados en agentes, en una tabla basada en [PINYOL2011]. Se han incluido sólo los de propósito general, excluyendo por tanto algunos como el de Abdul-Rahman et al. [ABDUL-RAHMAN2000], LIAR [MULLER2005], Regan y Cohen [REGAN2005], Ripperger [RIPPERGER1998], Sen y Sajja [SEN2002] y el de Yu y Singh [YU2002a, YU2002b, YU2003]. Modelo Confianza Dimensión Cognitiva Procedimiento Generalidad Castelfranchi et al. [CASTELFRANCHI 1998] + + - + AFRAS [CARBO2003] - - + + Esfandiari et al. [ESFANDIARI2001] - - + + FIRE [HUYNH2006] * - + + ForTrust [HERZIG2010] + + - + Marsh [MARSH1994] + - - +
34 CAPÍTULO 2: REVISIÓN BIBLIOGRÁFICA Y ESTADO DEL ARTE Modelo Confianza Dimensión Cognitiva Procedimiento Generalidad Mui et al. [MUI2002] + - - + REGRET [SABATER2001] * - + + Scichillo et al [SCHILLO1999, SCHILLO2000] - - + + Sierra y Debenham [SIERRA2005] + - + + BDI + Repage [PINYOL2012] + + + + Tabla 2-2. Algunos modelos computacionales según la clasificación de 4 parámetros de Pinyol et al [PINYOL2011]. El valor “*” en el campo confianza de la Tabla indica que el modelo no explicita el mecanismo de decisión, y por tanto no se ajusta exactamente a la definición de confianza, pero se aproxima bastante, ya que permite finalmente realizar una decisión de con quién interactuar. 2.1.3.2. Clasificación de modelos según el tipo de control Desde el punto de vista del tipo de control de los sistemas de confianza y reputación, podemos clasificar los sistemas como centralizados o descentralizados (también denominados distribuidos). Los entornos centralizados, utilizados sobre todo en comercio electrónico, tienen unos mecanismos de confianza y reputación relativamente simples, caracterizados según [CABALLERO2008] por: Existencia de un nodo central, o alguna entidad institucional, que mantiene toda la información relativa a los indicadores de confianza, y se responsabiliza de la veracidad de dicha información. La información de confianza y reputación es ofrecida por el sistema. No existe un diálogo entre las partes del sistema para obtener los valores de reputación.
2.1. PLANTEAMIENTO TEÓRICO: SISTEMAS DE IDENTIDAD DIGITAL 35 Los modelos en entornos de control descentralizado, son más complejos y presentan en general las siguientes características [CABALLERO2008] : No existe un elemento central que ofrezca métricas sobre el desempeño de los agentes. Cada elemento debe mantener actualizado su propio modelo sobre el comportamiento del resto de sus vecinos y de las relaciones con ellos. Se intercambia un gran volumen de información de reputación y confianza. Los valores de confianza y reputación se mantienen como información privada que en muchos casos se utiliza para obtener ventajas en las interacciones con otros. En el apartado anterior se han presentado clasificaciones y un buen número de modelos, pero orientados a los sistemas descentralizados, y concretamente pensando en modelos computacionales para su implementación en agentes. Para el tipo de problema abordado en esta tesis, es decir, la interacción entre empresas que se conocen y que deben negociar físicamente sus condiciones de negocio, parecen más adecuados los modelos centralizados. Por ello a continuación, se van a describir brevemente algunos de estos modelos [PINYOL2011]: Modelos de reputación on-line. Suelen utilizarse para comercio electrónico. Se basan en la posibilidad de que tras una transacción el comprador pueda opinar y calificar al vendedor. Al final el vendedor tiene una reputación (ya sea una puntuación, un color, un número de estrellas,…). Estos modelos están ideados para la interacción entre personas. Su principal problema es la falta de robustez, ya que no incorporan medidas de fiabilidad ni contramedidas para casos de información no completa o falsa. Sporas e Histos [ZACHARIA1999]. Es una evolución natural de los modelos de reputación on-line. El planteamiento es básicamente similar, pero en este caso sólo se tienen en cuenta las valoraciones más recientes. Además, su algoritmo se encarga de que para los vendedores con una buena reputación los cambios sean pequeños, mientras que para los vendedores con poca reputación los cambios de valoración sean mucho mayores. También incorpora una cuantificación de la fiabilidad de los usuarios.
36 CAPÍTULO 2: REVISIÓN BIBLIOGRÁFICA Y ESTADO DEL ARTE o Sporas, según se indica en [CABALLERO2008] es un mecanismo de reputación simple que puede ser implementado sin tener en cuenta el número de interacciones que se evalúen, ya que sólo se tiene en cuenta la más reciente. Cada nuevo agente, empieza con reputación muy baja y se va actualizando con las opiniones de otros agentes. Tiene un único valor de reputación global para cada agente e incorpora medidas de fiabilidad basada en la desviación estándar de los valores de reputación. Para evitar complicidades entre dos agentes, incluye la condición de que cada par de agentes sólo se pueden evaluar una vez, aunque no controla las complicidades entre más de dos agentes (lo que sí hace Histos). o Histos, como señala Caballero en [CABALLERO2008] es más complejo que el anterior, ya que sí toma en consideración gran cantidad de información relativa a las evaluaciones que un agente hace de otro al interactuar, aunque sólo tiene en cuenta las experiencias más recientes. Resuelve el problema de la falta de personalización de los valores de reputación, considerándola una propiedad intrínseca a la relación entre dos agentes. Para ello construye un grafo cuyos nodos representan los agentes y los arcos la evaluación más reciente que tiene un agente sobre otro. El nodo de origen del arco es el nodo que evalúa, y el de destino el evaluado. Es similar a la representación TrustNet [SCHILLO2000]. Carter et al [CARTER2002]. Basado en la idea de que la reputación de un agente es el grado de cumplimiento de los roles que le asigna la sociedad [SABATER2005]. Cada sociedad define una serie de roles que se pueden desempeñar, y la reputación de cada participante es el resultado de una agregación ponderada del cumplimiento alcanzado por el agente en cada rol. Es difícil de calcular y depende del contexto de cada sociedad, por lo que es necesaria una autoridad de control que realice el cálculo y controle las transacciones.
2.1. PLANTEAMIENTO TEÓRICO: SISTEMAS DE IDENTIDAD DIGITAL 37 Kuhlen [KUHLEN1999]. Plantea que una autoridad de control evalúe objetivamente ciertos estándares de calidad, y otorgue un sello cuando se cumplan ciertos requisitos. Dirichet reputation systems [JØSANG2007]. Este tipo de sistemas trabaja muy bien en entornos centralizados, donde los usuarios son calificados en base a un conjunto discreto y finito de valoraciones o categorías. Estos modelos tienen la capacidad de dar una distribución de probabilidad dentro de un conjunto ordenado, representando la probabilidad de que un agente actúe según lo esperado dentro de cada una de las categorías. Los modelos de esta familia, utilizan una distribución de probabilidad de Dirichet: una distribución bayesiana polinomial. La idea es aproximar el conjunto de valoraciones de los usuarios a la distribución de Dirichet apropiada y luego extrapolar el valor de cada categoría [PINYOL2011]. 2.1.4. Modelos de sistemas de gestión de la identidad La gestión de la identidad es un tema muy importante desde que los ordenadores comenzaron a almacenar y manejar datos personales y confidenciales. Está claro, que cualquier sistema que trabaje con datos personales deberá ofrecer garantías de que sólo las personas autorizadas podrán acceder o modificar la información. Un ejemplo sería un banco, donde es imprescindible que tanto el acceso a la información como su modificación (por ejemplo el saldo de una cuenta) estén restringidos y auditados. Antes de la popularización de las redes de computadores o Internet, los usuarios ya distinguían sus procesos y programas de los de otros usuarios mediante el uso de contraseñas. Desde este estado inicial, la situación ha cambiado mucho y actualmente es frecuente que un usuario tenga multitud de cuentas, cada una con su identificador de usuario y su contraseña, en multitud de servicios. Por ejemplo es habitual que un usuario tenga cuentas en su lugar de trabajo, en gmail, en Facebook, en twitter, en comercios electrónicos, en bancos,… y todas ellas distintas. Esta situación límite, en la que la cantidad de parejas usuariocontraseña llega a ser inmanejable para el usuario, es cada vez más habitual.
38 CAPÍTULO 2: REVISIÓN BIBLIOGRÁFICA Y ESTADO DEL ARTE Por todo lo anterior, la gestión de todo este complejo entramado de usuarios y claves, hace conveniente y deseable el planteamiento de sistemas que faciliten la gestión de estas identidades (y en el caso de Internet la utilización de menos duplas de identificación, es decir que con una única pareja usuario-contraseña se tenga acceso a diversos servicios). Hay tres motivaciones importantes para invertir en sistemas de gestión de identidad: seguridad de la información, eficiencia y nuevas oportunidades de negocio (sobre todo para empresas que trabajan en el comercio electrónico). Como señala [LINDEN2009], el objetivo de la gestión de identidad puede abordarse desde dos perspectivas: Desde el punto de vista técnico: asegurar que los usuarios finales sólo podrán realizar las acciones para las que han sido autorizados. Desde el punto de vista jurídico: asegurar que se pueda responsabilizar a una persona de las acciones realizadas bajo su identidad autenticada. Además, otras tareas importantes relacionadas con la gestión de identidad son la administración de identidades y los procesos de auditoría sobre dichas gestiones. Teniendo en cuenta que el sistema de confianza queremos que sea operativo entre diferentes entes y en diversos entornos, se debe tener en consideración la forma en la que se gestionarán las credenciales de los participantes en los procesos. A continuación se presenta una definición tanto de gestión de la identidad como de otros conceptos relacionados, como proveedor de servicio, proveedor de identidad y usuario. Gestión de la identidad (IdM, Identity Management): 1. Sistema y estructura utilizados en ordenadores o sistemas de comunicación para controlar la identidad [DABROWSKI2008]. Incluye relaciones de confianza, construidas sobre la identidad, verificación de autenticidad de entidades, autorización de control de acceso, transferencia segura de atributos de identidad, gestión del ciclo de vida de la identidad, administración del flujo de trabajo en el intercambio de identidades, y federación de entidades entre diferentes dominios y delegaciones dinámicas de confianza. 2. Sistema integrado de procesos de negocio, políticas y tecnologías que permiten a las organizaciones controlar el acceso de los
2.1. PLANTEAMIENTO TEÓRICO: SISTEMAS DE IDENTIDAD DIGITAL 39 usuarios a aplicaciones en línea y recursos, a la vez que se protege la información personal confidencial y la información de empresa de usuarios no autorizados [ACSQHC2010]. 3. Recurso de control de acceso y gestión de la información de identidad implementada con nuevas tecnologías, cuyo objetivo es el ahorro de costes de gestión de usuarios y sus identidades, atributos y privilegios de acceso para mejorar la productividad y la seguridad [LEE2003]. 4. Infraestructura de autenticación de identidad y gestión de autorizaciones y permisos desarrollada con nuevas tecnologías para reducir los costes de gestión de identidades y privilegios de acceso de los usuarios, con el objetivo de mejorar la seguridad y la privacidad, la compartición de información, la eficiencia en el trabajo y la seguridad [CHANG2009]. 5. Políticas, reglas, métodos y sistemas que implementan la autentificación de la identidad, gestión de permisos, control de acceso y operaciones de auditoría basadas en la identidad digital [CAO2010]. Proveedor de Servicio (SP, Service Provider): en los sistemas de gestión de identidad, se define como proveedor de servicio a la entidad que se encarga de proporcionar un servicio determinado a un usuario (comercio electrónico, banca electrónica, acceso a información, etc. [CAO2010]. Proveedor de Identidad (IdP, Identity Provider): según [CAO2010] es una entidad que constituye el núcleo de los sistemas de gestión de identidad. Provee diversos niveles de confianza a diferentes tipos de usuarios. Tiene dos funciones principales: o Implementación de servicios de identidad: registro de usuarios, verificación de la identidad real del usuario antes de confirmar el registro y almacenamiento de los datos de identidad del usuario. o Procesar las solicitudes tanto del proveedor de servicio como de los usuarios para su autenticación.
40 CAPÍTULO 2: REVISIÓN BIBLIOGRÁFICA Y ESTADO DEL ARTE Usuario: es el “cliente” de los proveedores de servicio y de identidad. Debe tener una identidad válida si quiere utilizar los servicios. Puede ser una empresa, una organización, una persona, una entidad virtual de software, etc. [CAO2010]. Una vez mostradas las definiciones sobre los diferentes agentes, a continuación se van a presentar algunas clasificaciones para estos sistemas. En [MIYATA2006] y [AHN2007] se proponen clasificaciones para los sistemas de gestión de la identidad, mientras que en [JØSANG2005] se propone una clasificación para los sistemas proveedores de identidad. Atendiendo a los servicios, los tipos de proveedores de servicio (SP), el almacenamiento de identidades, los tipos de proveedores de identidad (IdP) y el control del usuario sobre los aspectos de protección de identidad y protección de la privacidad, en [CAO2010] se propone una clasificación de sistemas de gestión de la identidad, con tres tipos de modelos: modelo aislado, modelo centralizado y modelo federado. Modelo aislado En el modelo aislado el proveedor de servicio actúa también como proveedor de identidad y como proveedor de atributos, es decir, toda la información relativa a la identidad y todas las operaciones realizadas por los usuarios son almacenadas en un único servidor. Por tanto, las operaciones relativas a identificador único de identidad, modificación, supresión, autenticación y autorización están implementadas en el propio proveedor de servicios. La principal ventaja de este modelo es su sencillez, y su principal inconveniente es que no es escalable. Conforme crece el número de servicios que utiliza el usuario, éste debe manejar un gran número de claves y credenciales. Además, esto último hace que al final el sistema sea poco utilizable, y propicie frecuentes olvidos de contraseñas y pérdidas de credenciales, lo que supone un coste añadido para el proveedor de servicios. Cada usuario tiene credenciales separadas para cada identidad, asociadas a contraseñas o parámetros biométricos, como se representa en la Fig. 2-2.
2.1. PLANTEAMIENTO TEÓRICO: SISTEMAS DE IDENTIDAD DIGITAL 41 Fig. 2-2. Modelo aislado de Gestión de Identidad Modelo centralizado El modelo centralizado se implementa como un sistema clienteservidor. La información de identidad del usuario y la autenticación se implementan en el mismo servidor, denominado “Proveedor de identidad” (IdP, Identity Provider). Al margen del proveedor de identidad, está el proveedor de servicio que únicamente solicita la autenticación del usuario al proveedor de identidad, y una vez autenticado el usuario procede a prestarle el servicio demandado. Por tanto, el proveedor de servicio no almacena ninguna información de identidad del usuario ni realiza la autenticación. Normalmente varios proveedores de servicio utilizan un proveedor de identidad común para todos. En la Fig. 2-3 se representa este esquema.
42 CAPÍTULO 2: REVISIÓN BIBLIOGRÁFICA Y ESTADO DEL ARTE Fig. 2-3. Modelo Centralizado de Gestión de Identidad Aunque este modelo puede implementarse de múltiples maneras, las tres más importantes son [JØSANG2005]: el modelo de identificador común, el modelo de metaidentificador y el modelo SSO (Single Sign On). Hay muchos sistemas implementados con el modelo centralizado, como por ejemplo los de Infraestructura de Clave Pública (PKI , Public Key Infraestructure), Kerberos 3 y CAS 4 (Central Authentication Service). Este modelo es adecuado para gestionar identidades de muchos usuarios que además accedan a múltiples proveedores de servicio, pero presenta algunos inconvenientes, sobre todo derivados del almacenamiento de todas las identidades en un único proveedor de identidad. El principal inconveniente se refiere a la protección de la privacidad. Este modelo tampoco soporta la delegación de privilegios y el acceso cruzado a dominios. 3 http://web.mit.edu/kerberos 4 http://www.jasig.org/cas
2.2. IMPLEMENTACIÓN TÉCNICA: TRAZABILIDAD 49 Taxonomía de los sistemas de trazabilidad [HOBBS2004]. Definiciones de términos de la identidad de los actores en la cadena de producción [HOBBS2004, POULIOT2008]. Sobre la identificación por unidades y lotes y la importancia de la documentación entre empresas [SCHIEFER2008]. Relacionando la preservación de la identidad con la calidad y la seguridad de los alimentos [HOBBS2005]. A la vista de todo lo anterior, en este trabajo nos referiremos a la trazabilidad en general según la definición de la ISO, es decir capacidad de rastrear la historia, aplicación o localización de todo aquello que esté bajo consideración. La trazabilidad en procesos de producción tiene múltiples ventajas que abarcan diferentes ámbitos. Como se indica en [MAI2010], las principales ventajas, descritas en [BUHR2003, CHRYSSOCHOIDIS2009, KARKKAINEN 2003, POGHOSYAN2004, POULIOT2008, SMYTH2002, SPARLING2006, WANG2009] son las siguientes: Crecimiento en cuota de mercado e ingresos. Posibilidad de poner precios más elevados al poder ofrecer productos “Premium”. Retiradas de productos menos frecuentes. Se habla de retirada cuando por algún motivo algún producto debe ser retirado del mercado y de la circulación por algún defecto o tipo de problema (por ejemplo, es común la llamada a revisión de algunos automóviles cuando se detecta algún fallo grave para la seguridad, o la retirada del mercado de lotes de alimentos que puedan ser potencialmente peligrosos). Reclamaciones y demandas judiciales menos frecuentes y de menor gravedad. En caso de litigio, permite demostrar, si es el caso, la responsabilidad de una infracción. Reducción de costes en los seguros de responsabilidad civil. Mejora en la gestión de inventarios. Reducción de costes por productos caducados o en mal estado (el sistema es capaz de avisar y por tanto se pueden evitar estos problemas con el stock). Mejora del rendimiento en general de los procesos. Ahorro de costes laborales.
50 CAPÍTULO 2: REVISIÓN BIBLIOGRÁFICA Y ESTADO DEL ARTE Cumplimiento de normas y legislación de seguridad. Mejora la confianza del cliente. Posibilidad de solucionar errores en el seguimiento de los productos. Mejora la reputación de la empresa de cara a los clientes, proveedores, consumidores y administraciones públicas. Permite ser tecnológicamente competente en nuevas tecnologías y procesos industriales. Estas ventajas son aplicables a cualquier proceso productivo, aunque son especialmente importantes cuando se manejan productos perecederos, que pierdan rápidamente valor con el paso del tiempo o que puedan afectar a la salud humana (como los alimentos o los medicamentos). Aunque el sistema propuesto en esta tesis es aplicable a cualquier entorno comercial en el que exista un proceso de producción en el que deba verificarse el cumplimiento de determinados parámetros en una serie de puntos de control, el prototipo se ha desarrollado para un tipo de industria específico: la industria alimentaria. Por ello, en el siguiente apartado se profundizará en el concepto de trazabilidad en el ámbito alimentario, así como en la normativa aplicable. 2.2.1.2. Trazabilidad en la industria alimentaria Debido a su importancia para la salud pública y sobre todo después de algunos episodios de alertas alimentarias a nivel internacional, la trazabilidad aplicada a productos alimentarios, es un tema de estudio especialmente importante dentro de la trazabilidad. También hay que tener en cuenta que estos sistemas una vez implantados en las cadenas de producción alimentaria, permiten proteger a los consumidores de alimentos contaminados, adulterados o falsificados [DEIMEL2008]. Igualmente, en los últimos tiempos tanto la propia trazabilidad como conceptos relacionados con ella, como la confianza o la transparencia, son cada vez más tenidos en cuenta por los gestores del sector alimentario [DEIMEL2008, FRITZ2007, HANF2007]. Para tener una definición acotada a este entorno, se puede recurrir a la aportada por la ISO en su estándar 8402:1994 y apoyada por una regulación del parlamento europeo 178/2002 [European Parliament2002], sin lugar a dudas la
2.2. IMPLEMENTACIÓN TÉCNICA: TRAZABILIDAD 51 norma más importante y origen de la reglamentación en Europa, en la que se define trazabilidad como: “la capacidad de rastrear y seguir un alimento, pienso, animal destinado a la producción de alimentos o ingredientes a través de todas las etapas de producción y distribución”. Esta definición, que encaja perfectamente dentro de la que se había citado en el punto anterior, recoge las particularidades del sector agroalimentario. Como objeto de trabajos de investigación, se puede señalar que la investigación en trazabilidad alimentaria ha sido muy activa en los últimos años. Se han publicado una gran cantidad de artículos científicos relacionados con esta temática. Algunos muy recientes, como [HEYDER2012b], se han centrado en las inversiones realizadas en sistemas de trazabilidad por parte del sector industrial, llegando a la conclusión de que existe una gran presión externa sobre las empresas para aplicar sistemas de trazabilidad, ya que mejora la imagen de la empresa y esto conlleva a que sean percibidos como útiles por los ejecutivos de este sector productivo. El tema de la trazabilidad en producción de alimentos ha sido abordado desde múltiples perspectivas. A continuación se recogen algunas de estas perspectivas y algunos ejemplos [HEYDER2012a]: Centrado en el consumidor: La confianza del consumidor en los agentes del sector agroalimentario y en la seguridad alimentaria [DE JONGE2008], la percepción por parte del consumidor de la trazabilidad [GELLYNCK2007], o la predisposición de los consumidores a pagar por las mejoras que aporta la trazabilidad [DICKINSON2005, HOBBS2005a][UBILAVA2009]. Centrado en los incentivos que tienen los proveedores en participar en la trazabilidad: [BANTERLE2008, BUHR2003, BULLOCK2000, GOLAN2004, MALTSBARGER2000]. Centrado en el impacto de los cambios normativos en los proveedores: [ARIENZO2008, COFF2008, FLYNN2003]. Centrados en implementaciones técnicas: en el apartado 2.2.2 (tecnología RFID) se citarán unos cuantos trabajos de trazabilidad basados en este tipo de tecnología.
52 CAPÍTULO 2: REVISIÓN BIBLIOGRÁFICA Y ESTADO DEL ARTE Centrados en la inversión y los costes de operación: [BANTERLE2008, GELLYNCK2007, RESENDE-FILHO2007, THEUVSEN2005]. Por ser un tema relacionado con la salud, existe abundante legislación que regula la trazabilidad en este sector, y que además para muchas industrias y productos es de obligado cumplimiento. Por todo ello, se ha decidido incluir parte de la normativa en el apartado 4.1.1. Además, muchas de las normas fijan la responsabilidad del agente productivo en el caso de problemas de salud relacionados con los alimentos, y por tanto puede ser muy interesante tener un sistema de responsabilidad de los controles, para poder esclarecer quién ha podido realizar mal su tarea en el puesto de control (independientemente por supuesto, de a quién corresponda la responsabilidad última desde el punto de vista jurídico, cuestión ésta que escapa totalmente al ámbito y enfoque de la presente tesis). 2.2.2. Identificación por radiofrecuencia (RFID) El sistema de identificación por radio frecuencia (RFID) tuvo su origen en la II Guerra Mundial y posteriormente Harry Stockman introdujo el concepto de RFID pasivo [STOCKMAN1948]. Desde entonces, la posibilidad de identificar unitariamente objetos incluso aunque no haya visión directa entre el lector y la etiqueta ha hecho, junto con la posibilidad de guardar información en la propia etiqueta y un coste contenido, que este sistema se esté popularizando, desplazando paulatinamente a otros sistemas de identificación más extendidos, como la identificación mediante código de barras. La base del sistema es permitir la identificación de objetos o personas mediante un único identificador, el cual se transfiere con un determinado protocolo hasta un dispositivo receptor, denominado lector, mediante ondas de radio [LANDT2005]. Normalmente, el lector se encuentra conectado a un sistema informático, y mediante una aplicación informática se procesan los datos del lector y se relacionan con el sistema de información de la empresa [MCFARLANE2003]. Durante los últimos años esta tecnología ha ido penetrando en diversas industrias, siendo múltiples sus aplicaciones. Por citar algunas, se puede destacar la utilización de etiquetas de proximidad para abrir puertas, inmovilizadores para automóviles, identificación de animales, control de
2.2. IMPLEMENTACIÓN TÉCNICA: RFID 53 stocks, pago en peajes, localización de personas (ancianos o niños), sistemas antifalsificación, etc. En [BANKS2007] y en [ILIE-ZUDOR2011] se pueden encontrar descritas multitud de aplicaciones. Una de sus aplicaciones más prometedoras para la industria es la que se relaciona con la logística, al poder realizar el seguimiento de un objeto concreto. Los sistemas más extendidos para la identificación de objetos son los códigos de barras, que principalmente estaban definidos por dos estándares: el European Number Article (EAN) en Europa y otro de propósito similar en Estados Unidos, el Universal Product Code (UPC). Estos dos estándares actualmente se han fusionado en uno único, conocido como GS1 [GS12012]. Aunque en la actualidad ya se han realizado multitud de implementaciones de sistemas de trazabilidad, principalmente mediante códigos de barras, cada vez son más las empresas que complementan este sistema de identificación mediante radiofrecuencia. La tecnología RFID aporta una serie de ventajas principales [SAHIN2002 y WYLD2006]: Reducción en los costes de mano de obra. Mayor velocidad en la cadena de producción. Reducción en las pérdidas (fraudes, robos y errores administrativos). Control de productos más eficiente. Aumento del conocimiento del comportamiento del cliente. Específicamente en el sector de la alimentación también tiene tres ventajas muy importantes: Mejor gestión de los productos perecederos. Mejora en el seguimiento, localización y solución de problemas de calidad de los productos. Mejora de la gestión de retirada de productos cuando existan riesgos con alguno de ellos. En este sector, donde los sistemas de trazabilidad son obligatorios, la falsificación no es un hecho nuevo. En una revisión histórica de este fenómeno [SHEARS2010], la falsificación en productos alimentarios, se documentan falsificaciones desde civilizaciones tan antiguas como la griega o la romana [SUMAR1995] hasta nuestros días. También señalar que paralelamente, y para contrarrestar estas amenazas, se han ido desarrollando complejos procedimientos científicos para detectar los fraudes alimentarios, como por ejemplo las huellas de
54 CAPÍTULO 2: REVISIÓN BIBLIOGRÁFICA Y ESTADO DEL ARTE ADN [HUANG2011], la identificación de determinados compuestos [TEDESCHI2011] y otros tipos de análisis [ALAÑÓN2011]. En esta línea, y a modo de ejemplo, cabe señalar que en los primeros meses de 2013, con este tipo de técnicas se detectó un fraude relativo a la composición de hamburguesas, que se anunciaban como 100 % vacuno y contenían porcentajes importantes de carne de caballo. También gracias a la trazabilidad, las empresas que distribuían estas hamburguesas pudieron saber perfectamente los proveedores que les habían suministrado la carne y las plantas de producción donde fueron elaboradas, lo que ayudó en gran medida a esclarecer responsabilidades. Aunque la trazabilidad facilita la gestión de la producción, la distribución y la logística, no garantiza que los productos no sean falsificados. Sin embargo, realizando la trazabilidad sobre tecnología RFID podemos poner más trabas a las falsificaciones. Aunque no es su objetivo principal, el sistema propuesto en esta tesis también contribuye en la tarea de dificultar la falsificación de productos, haciendo que sean fácilmente detectables las etiquetas falsas (no tienen una firma válida asociada a su identidad digital) o clonadas (no corresponden los atributos de la identidad digital con los del producto). Por tanto, se puede afirmar que una trazabilidad segura es vital para ayudar a prevenir y detectar los fraudes. En el párrafo anterior se ha hablado de trazabilidad segura, pero realmente, ¿qué es trazabilidad segura? Según [FAYOLLE2008] “la trazabilidad segura es la posibilidad de rastrear las líneas de productos que una compañía lanza al mercado, previniendo los ataques al propio sistema de rastreo”. Una forma de conseguir esto, es incorporar a los datos de la trazabilidad las características específicas e individuales de cada producto, de manera que permita ser identificado inequívocamente, lo que se denomina deflectometría [FAYOLLE2008]. Esta técnica, similar a la identificación biométrica usada con seres humanos, es difícil de aplicar en cadenas de producción y especialmente en productos que varían su estructura y fisiología con el tiempo. Otra posibilidad de trazabilidad segura, es incorporar al sistema de trazabilidad los atributos relevantes del producto, que conformarán su identidad digital, y que serán proporcionados por operarios, compañías, individuos o máquinas que lleven a cabo las verificaciones de las características de calidad esenciales, tras las diversas etapas de producción. Aunque existen métodos para garantizar los datos que acompañan al producto, como por ejemplo la creación de un círculo de confianza (CoT, Circle of
2.2. IMPLEMENTACIÓN TÉCNICA: RFID 55 Trust) [BOURSAS2008] en las diferentes partes de la cadena de suministro [HE2008], en el presente trabajo se propone otra alternativa: la identificación de los agentes involucrados en el proceso de trazabilidad y verificación de la calidad mediante el uso de una única firma electrónica por producto, que permita identificar qué agentes han realizado los controles y han introducido la información en el sistema. Esto permite dotar al producto de una identidad digital propia, grabada en la etiqueta RFID y avalada por un conjunto de entidades que a su vez poseen su propia identidad digital. Además, también es necesario introducir marcadores de confianza, para así a su vez incrementar la confianza de los consumidores [LEE2007]. 2.2.2.1. Hardware La expresión más sencilla de un sistema de identificación por RFID, como se muestra en la Fig. 2-5, consta de un dispositivo identificador (normalmente denominado transpondedor RFID, o simplemente etiqueta RFID o tag) que se une al objeto o ente a identificar, un lector RFID o transceptor capaz de leer y/o escribir las etiquetas y un protocolo que define el formato de la información y el procedimiento de lectura/escritura. Fig. 2-5. Esquema básico de un sistema RFID. Como se señala en [WYLD2006], los elementos básicos que conforman una etiqueta RFID son tres: el chip con capacidades de cálculo y memoria muy limitadas, un elemento de acoplo electromagnético (antena) y el encapsulado.
56 CAPÍTULO 2: REVISIÓN BIBLIOGRÁFICA Y ESTADO DEL ARTE Respecto al lector, que en realidad es un lector grabador, consta de un módulo de radiofrecuencia, una unidad de control, y un elemento de acoplo electromagnético con el que interrogar a las etiquetas por medio de radiofrecuencia. Dada la reducida capacidad de cálculo y de almacenamiento del lector, en muchos casos también se utiliza un sistema computacional de apoyo, como se muestra en la Fig. 2-6. Fig. 2-6. Esquema extendido de un sistema RFID. Los sistemas RFID se basan en una comunicación inalámbrica bidireccional entre los lectores/grabadores y las etiquetas por medio de ondas de radiofrecuencia (utilizando diferentes bandas de transmisión, comprendidas entre 125 KHz y 2.4 GHz). Dado que para trazabilidad las etiquetas más utilizadas son las pasivas, debido a su bajo coste, a continuación se van a describir brevemente los métodos de comunicación entre los lectores y las etiquetas pasivas. Esta comunicación se basa en la transmisión simultánea de energía y datos [GLOVER2006], utilizando las etiquetas la componente magnética, la eléctrica o ambas de la señal electromagnética que genera el lector, para obtener energía para funcionar y enviar su respuesta. Normalmente esta transferencia de energía se realiza mediante acoplamiento. El tipo de acoplamiento determina la manera en la que se produce la transmisión de energía y datos entre el lector y la etiqueta. Los principales tipos de acoplamiento utilizados en las comunicaciones con transpondedores pasivos son [PERIS-LOPEZ2008]: Backscatter Pasivo: El lector genera durante un tiempo una onda de radiofrecuencia, cuando un transpondedor entra en el área de influencia de la señal, la demodula en un patrón binario, que contiene una serie de
2.2. IMPLEMENTACIÓN TÉCNICA: RFID 57 comandos predeterminados que le indican a la etiqueta la operación a realizar. La etiqueta obtiene la energía del campo electromagnético generado por el lector al realizar la comunicación con el transpondedor. Para contestar, el transpondedor modula la señal que está enviando el lector, de modo que le llegue reflejada pero conteniendo la información que le envía la etiqueta. Para ello el transpondedor varía la impedancia de su antena (sintonizando y desintonizando), mediante la variación del valor de la resistencia de carga, lo que permite enviar una señal binaria codificada como respuesta al lector. Una representación muy básica de este concepto se representa en la Fig. 2-7. Fig. 2-7. Acoplamiento Backscatter pasivo Acoplamiento inductivo (magnético): Cuando un conductor es afectado por un campo magnético, se induce en él una corriente eléctrica. Este fenómeno físico es conocido como acoplamiento inductivo, ya que la corriente es inducida por la exposición a un campo magnético. Este tipo de acoplamiento suele utilizarse en sistemas LF (baja frecuencia) o HF (alta frecuencia), y por las propias características del campo magnético sólo puede utilizarse a poca distancia del emisor, aunque este aspecto puede ser utilizado algunas veces como medida de seguridad (un atacante deberá estar muy cerca de una etiqueta para poder interactuar con ella). La antena del lector es excitada con una corriente eléctrica para generar un campo magnético, que a su vez inducirá una corriente en la antena del transpondedor cuando penetre en dicho campo magnético, y que será la que permita alimentar a los componentes electrónicos de la etiqueta. En la Fig. 2-8 se muestra una esquematización de este sistema, incluyendo dos componentes inductivos tanto en el emisor como en el receptor. Para
58 CAPÍTULO 2: REVISIÓN BIBLIOGRÁFICA Y ESTADO DEL ARTE responder, la etiqueta variará la impedancia de carga de la antena en función de los datos binarios a transmitir, lo que provocará una modulación en el campo magnético generado por el lector. La información transportada mediante esta modulación, será obtenida por el lector mediante la demodulación de la señal. Fig. 2-8. Acoplamiento inductivo (magnético) Acoplamiento electromagnético: en el acoplamiento electromagnético se utilizan los dos tipos de energía la del campo eléctrico y la del campo magnético. Suele utilizarse en sistemas de UHF (frecuencia ultra alta) y microondas. Cuando están cerca del lector utilizan el campo magnético para obtener la energía (si han sido diseñadas con esta capacidad), y cuando se encuentran a distancias mayores utilizan el campo eléctrico para hacer resonar la antena de la etiqueta a una determinada frecuencia normalmente utilizando la técnica de acoplamiento backscatter referida anteriormente. Además del acoplamiento, otros factores claves en la comunicación entre los lectores y las etiquetas pasivas son [PERIS-LOPEZ2008]: Codificación de datos: para una codificación de datos eficiente, se utilizan técnicas de modulación y codificación. Es importante tener en cuenta que los lectores no tienen restricciones importantes de energía para transmitir, pero sí las tienen en el ancho de banda. Por el contrario las
2.2. IMPLEMENTACIÓN TÉCNICA: FIRMAS AGREGADAS 65 • Amenazas multicapa: - Ataques de denegación de servicio. - Lectura / escritura de información en el espacio libre de la tarjeta sin conocimiento del usuario. - Análisis de tráfico: con el fin de extraer información de la etiqueta estudiando las comunicaciones (cuantos más mensajes se capturen, mayor efectividad tendrá el ataque por análisis de tráfico).Ataques a los algoritmos de cifrado de la información. - Ataques basados en la monitorización de parámetros físicos de funcionamiento: consumo de energía, variación en los campos electromagnéticos, etc… - Ataques de repetición: grabar una contraseña de una transacción anterior y repetirla cuando se presente el mismo desafío. En el apartado 4.5, se profundiza más en los tipos de ataque y cómo abordar su protección. 2.2.3. Firmas agregadas. La seguridad del sistema propuesto se basa en el uso de un concepto criptográfico denominado firma agregada, estrechamente relacionado con la idea de multifirma. En este apartado se va a realizar una breve revisión de los aspectos básicos relacionados con esta herramienta. El concepto criptográfico de multifirma, se basa en que N agentes firmen un mismo mensaje, de manera que un verificador pueda comprobar que todos ellos han firmado el mensaje. Esta idea fue propuesta por primera vez por Itakura y Nakamura [ITAKURA1983], y después ha sido objeto de múltiples trabajos de investigación como por ejemplo [BOLDYREVA2002, OKAMOTO1988]. La primera propuesta de una multifirma, en la cual las firmas individuales eran convertidas directamente en una multifirma fue realizada por Boldyreva en [BOLDYREVA2002], que además conseguía notables mejoras sobre los sistemas de firma electrónica tradicionales, como un tamaño de firma mucho menor a la concatenación de todas las firmas aplicadas, y una importante reducción del tiempo de cómputo invertido en realizar la verificación. A su vez, el esquema de Boldyreva estaba basado en firmas BLS [BONEH2004]. Las firmas agregadas van un poco más lejos que las multifirmas, ya que permiten compactar todas las firmas implicadas en la multifirma, en una única firma
66 CAPÍTULO 2: REVISIÓN BIBLIOGRÁFICA Y ESTADO DEL ARTE agregada, que puede ser verificada conociendo únicamente las claves públicas de los firmantes y los diferentes mensajes. Notar que ahora en lugar de un mensaje único como en el caso de la multifirma, se debe incorporar un mensaje diferente por cada firmante. Existen diversas implementaciones de esta idea, como las firmas agregadas en paralelo [BONEH2003], también conocido como esquema BGLS, en el que la verificación es independiente del orden de firma. Otra implementación destacada la constituyen las firmas agregadas secuenciales [LYSYANSKAYA2004], que permiten verificar tanto la validez de la firma como el orden en el que se firmaron los mensajes. Posteriormente, se propusieron las firmas agregadas basadas en la identidad [HERRANZ2006], que permiten realizar el proceso de firma sin necesidad de certificados (a costa de requerir una entidad confiable maestra). Como ya se ha mencionado, el tamaño de memoria disponible para grabar las firmas es un recurso muy limitado en el entorno de trabajo en el que se centra esta tesis, por lo que una propiedad muy importante que debe poseer el método que se utilice es que la firma agregada sea de un tamaño constante e independiente del número de firmas que se compacten. Teniendo en cuenta lo anterior, se ha seleccionado la propuesta de Boneh [BONEH2003] que basada en el uso de aplicaciones bilineales cumple el requisito anteriormente descrito. Así pues, y tal como lo exponen los propios autores en [BONEH2001], se puede definir la firma agregada de la siguiente manera: “Considérese un conjunto de usuarios, donde cada usuario , posee una pareja de claves de firma, una privada y otra pública (PKu y SKu-). Se desea agregar las firmas de un subconjunto ⊆. Cada usuario u U , produce una firma σu de un mensaje Mu, generado por él. Estas firmas son combinadas en una firma agregada σ por una tercera parte no confiable, que se denominará “agregador”. Para poder verificar las firmas, es suficiente con tener acceso a las claves públicas de los usuarios, a los mensajes y a las firmas de los mensajes, pero no es necesario conocer ninguna clave privada. El resultado de esta agregación es una firma agregada σ del mismo tamaño que cualquiera de las firmas individuales. Esta firma agregada σ tiene la propiedad de que, dada al verificador junto con las identidades de las partes implicadas y con los mensajes, puede considerarse una prueba de que cada usuario ha firmado su respectivo mensaje.” Esta agregación se basa en el esquema co-Gap Diffie Hellman (co-GDH). Para presentar los conceptos relacionados con este esquema, se va a utilizar la siguiente notación:
2.2. IMPLEMENTACIÓN TÉCNICA: FIRMAS AGREGADAS 67 1. G1 y G2 son dos grupos cíclicos con el mismo orden primo p; 2. es un generador de G1 y es un generador de G2. 3. es un isomorfismo computable desde G2 hasta G1, con ()= ; 4. es una aplicación bilineal computable : G1 x G2 GT. En primer lugar vamos a introducir los problemas Diffie-Hellman Computacional (CDH) y Diffie-Hellman Decisional (DDH). Con la notación anterior, tomando G1=G2=G, siendo G un grupo cíclico multiplicativo de orden primo con generador , podemos definir los siguientes problemas: Diffie-Hellman computacional: dados ,,∈ computar ∈. Diffie-Hellman decisional: dados ,,,∈ generar el resultado “SI” en el caso de que a=b, y “NO” en cualquier otro caso. Las tuplas de esta forma – ,,,–son denominadas tuplas Diffie-Hellman. Para manejar el caso G1 ≠ G2 Boneh, Gentry, Lynn y Shacham definieron los problemas co-CDH y co-DDH [BONEH2001]. Cuando G1 = G2, estos problemas se reducen a los problemas estándar CDH y DDH, que acabamos de exponer. Con estas consideraciones, se obtienen las siguientes generalizaciones naturales de los problemas CDH y DDH: Co-Diffie-Hellman computacional: dados , ∈ y ∈ computar ∈ . Co-Diffie-Hellman decisional: dados , ∈ y , ∈ generar el resultado “SI” en el caso de que a=b, y “NO” en cualquier otro caso. Cuando el resultado es “SI” se puede afirmar que , ,,es una tupla co-Diffie-Hellman. A continuación trabajaremos con grupos co-GDH que serán parejas de grupos G1 y G2, en las cuales co-DDH es sencillo computacionalmente pero coCDH es muy complejo. Esta facilidad para el co-DDH la conseguimos mediante la utilización de emparejamientos bilineales. Los emparejamientos bilineales surgieron como métodos de criptoanálisis de sistemas criptográficos basados en curvas elípticas, reduciendo el problema de cálculo del logaritmo elíptico en curvas supersingulares al del logaritmo discreto, más fácilmente computable [MENEZES1993]. Luego el ataque fue extendido incluyendo otros tipos de curvas más generales [FREY1999,
68 CAPÍTULO 2: REVISIÓN BIBLIOGRÁFICA Y ESTADO DEL ARTE GAREFALAKIS2004]. Señalar que existe abundante bibliografía sobre los algoritmos que permiten implementar emparejamientos bilineales basados en los emparejados de Weil y Tate, normalmente apoyados en los trabajos de Miller [MILLER2005]. En nuestra implementación n=|G1|=|G2|=|GT|. Un emparejamiento bilineal es una función : G1 x G2 GT con las siguientes propiedades: 1. Bilineal: para todo ∈ ,∈, ∈, ,,. 2. No degenerativo: ,1. Estas propiedades implican dos más: Para cualquier , ∈,∈,,,⋅,. Para cualquier ,∈, ,,. En definitiva, un emparejamiento bilineal es una función que proyecta dos elementos de los grupos G1 y G2, sobre un elemento del grupo GT: :→ donde G1 y G2 son subgrupos del grupo de puntos de una curva elíptica, dependiendo del emparejamiento que tomemos (Weil o Tate) y GT es el grupo multiplicativo n. Una vez presentado el concepto de emparejamiento bilineal, a continuación se va a mostrar un esquema de firma basado en el esquema presentado en [BONEH2001]. Este comprende tres algoritmos: generación de clave (keygen), firma (sign) y verificación (verify), y usa una función hash12 de dominio completo H:{0,1}* G1. Esta función hash map-to-point asigna a una cadena de longitud arbitraria, un punto de una curva elíptica definida sobre un cuerpo finito. Generación de clave: tomar un número aleatorio ←, y computar ←. La clave pública será ∈ , la clave secreta será ∈ y ∈ será un parámetro público del sistema. 12 Aunque habitualmente en la traducción del término hash al español, suelen utilizarse términos como función picadillo o función resumen, el autor considera que el término original en inglés está suficientemente extendido para comprenderse perfectamente en su expresión original en lengua inglesa.
2.2. IMPLEMENTACIÓN TÉCNICA: FIRMAS AGREGADAS 69 Firma: dada una clave secreta x y un mensaje ∈0,1∗, computar ←, donde ∈ y ←. La firma será ∈ . Verificación: dada una clave pública , un mensaje M, y una firma , computar ← y verificar que ,,, es una tupla co-Diffie-Hellman válida, es decir ,,. Una vez introducido el concepto de firma agregada y de emparejamiento bilineal, se puede retomar el concepto de firma agregada, concretamente el esquema basado en firmas co-GDH, que es el que se ha utilizado en esta tesis, comúnmente conocido como firma agregada BGLS, en honor a sus autores: Dan Boneh, Craig Gentry, Ben Lynn y Hovav Shacham. Como ya se ha comentado, se debe alcanzar un compromiso entre el nivel de seguridad requerido y el tamaño de la firma. La solución elegida está basada en el esquema BLS propuesto en [BONEH2004] y en el esquema de firma BGLS [BONEH2003], que se va a presentar brevemente a continuación. El esquema de firma agregada permite la creación de firmas sobre mensajes distintos ∈0,1∗. El esquema incluye cinco algoritmos: generación de clave (KeyGen), generación de firma (Sign), verificación (Verify), agregación (Aggregate) y verificación de agregación (AggregateVerify). Los tres primeros son como los esquemas de firma ordinarios, los dos últimos son los que proporcionan la capacidad de agregación: Generación de clave: para un usuario concreto, tomar un número aleatorio ←, y computar ←. La clave pública del usuario será ∈ , la clave secreta ∈ y ∈ será un parámetro público del sistema. Firma: para un usuario concreto, dada la clave secreta x y un mensaje ∈0,1∗, computar ←, donde ∈ , y ←. La firma es ∈ .
70 CAPÍTULO 2: REVISIÓN BIBLIOGRÁFICA Y ESTADO DEL ARTE Verificación: dada la clave pública de un usuario, un mensaje M, y una firma , computar ←; aceptar si ( , P )= (R, ) . Agregación: para agregar un conjunto de usuarios ⊆, asignar a cada usuario un número de indexación i, numerándolos de 1 hasta k=|U|. Cada usuario ∈ aportará una firma ∈ de un mensaje ∈0,1∗ de su elección. Los mensajes Mi deben ser todos distintos. Computar ←∑ . La firma agregada será ∈ . Verificación de la agregación: Dada una firma agregada ∈ para un subconjunto de usuarios de agregación U, indexados de la forma indicada en el punto anterior, y dados los mensajes originales ∈0,1∗ y las claves públicas ∈ para todos los usuarios ∈. Para verificar la firma agregada , 1. asegurar que los mensajes Mi son todos distintos, y rechazar en caso contrario; y 2. computar Ri H(Mi) para 1 ≤ i ≤ k =|U|, y aceptar si ,∏ ,. La comprobación de que la firma agregada es correcta se realiza mediante la siguiente verificación. Cada usuario tiene una clave secreta ∊ny una clave pública . La firma de cada usuario , si está correctamente construida (es decir , donde Ri es el hash del mensaje Mi que ha elegido el usuario), nos lleva a que la firma agregada es por tanto ∑∑. Haciendo uso de las propiedades de las aplicaciones bilineales, desarrollando el lado izquierdo de la ecuación de verificación: ,∑,∏ ,∏ ,∏ ,. La característica más destacable de estos sistemas es que con claves más reducidas ofrecen niveles de seguridad equivalentes a los criptosistemas de clave pública más extendidos basados en el problema de factorización de números grandes, como RSA, o en el problema del logaritmo discreto, como DSA. En la Tabla 2-4, se muestran los tamaños de claves recomendados por el National
2.2. IMPLEMENTACIÓN TÉCNICA: FIRMAS AGREGADAS 71 Institute of Standards and Technology (NIST) usados en algoritmos convencionales de cifrado como DES y AES junto con los tamaños de claves para RSA, DiffieHellman y curvas elípticas que son necesarios para proveer un nivel equivalente de seguridad [NSA2009]. T amaño clave simétrica (bits) T amaño clave RSA y Diffie-Hellman (bits) T amaño clave Curvas Elípticas (bits) 80 1024 160 112 2048 224 128 3072 256 192 7680 384 256 15360 512 Tabla 2-4. Tamaños de claves recomendadas por el NIST para niveles de seguridad equivalentes [NSA2009]. Un parámetro importante de las curvas elípticas es su grado de seguridad (embedding degree). En un grupo G=<P> de una curva E( q), se dice que tiene un grado de seguridad k con respecto a l, si k es el entero más pequeño tal que l | qk-1 donde l es de orden de G. Cuando se selecciona una curva para ser utilizada en un criptosistema de curvas elípticas, se busca que tenga un grado de seguridad k tan grande como sea posible (siempre que no dificulte en exceso el cálculo con puntos de la curva), para evitar el ataque MOV [MENEZES1993]. Finalmente señalar que la criptografía basada en curvas elípticas está encontrando múltiples aplicaciones, y la podemos encontrar en dispositivos cotidianos que nos rodean: como el Windows Media Player para proteger las claves de las licencias que permiten la reproducción de contenidos protegidos con DRM2; los reproductores de Blu-Ray y la consola Play Station 3 llevan incorporada esta tecnología para para evitar la copia ilegal del software, la consola de Nintendo Wii basa en las curvas elípticas la seguridad de salvar las partidas “en la nube”. Otros dispositivos de menos potencia de cálculo que los anteriormente citados también hacen uso de esta tecnología, como ejemplos se pueden citar: los
72 CAPÍTULO 2: REVISIÓN BIBLIOGRÁFICA Y ESTADO DEL ARTE teléfonos BlackBerry, que cifran con esta tecnología la información que transmiten.
3. Sistema propuesto. 3.1. Planteamiento Teórico ........................................................................................ 74 3.2. Prueba de concepto ............................................................................................. 78 3.2.1.Sistema y relaciones de confianza ............................................................... 79 3.2.1.1.Confianza empresa – regulador centralizado ........................... 80 3.2.1.2.Confianza agentes de control – empresa productora ............. 81 3.2.1.3.Confianza entre el cliente y un producto finalizado comercializado .............................................................................. 91 3.2.2.Sistema de gestión de la identidad de los agentes de control. ................ 92 3.2.3.Autenticidad del producto ............................................................................ 93 3.2.4.Flujos de comunicaciones ............................................................................. 94
74 CAPÍTULO 3: SISTEMA PROPUESTO 3.1. Planteamiento teórico inicial El problema al que da solución el sistema propuesto, podría plantearse en los siguientes términos: supongamos que en la fabricación de un determinado producto intervienen tres empresas A, B y C, cada una con su propio sistema de fabricación. Al finalizar cada una de las fases de producción, se realiza una verificación de los parámetros de calidad que deben cumplirse en esa parte del proceso. Un agente de control autorizado realiza la verificación y si es correcta, introduce los datos en el sistema. Cuando el producto acaba su proceso de fabricación en A, entre en la cadena de producción de B y se repite el proceso. Lo mismo para C. Lo que se quiere conseguir es que al acabar el proceso, seamos capaces de verificar con una sola operación criptográfica que el producto ha superado todos los controles de calidad, que dichos controles han sido realizados por personal autorizado y que los datos de fabricación del producto no han sido alterados. En el caso de que un producto informado favorablemente no cumpla los requisitos de calidad, debe poderse identificar el operario que cometió un error cuando verificó el producto. Teniendo en cuenta lo anterior, el sistema propuesto debe dar solución a los siguientes retos: 1. Debe permitir de una forma sencilla integrar piezas o productos con calidad verificada de diversas procedencias en una cadena de producción final de la que saldrá el producto terminado. Por tanto debe contemplarse la relación entre empresas. 2. Debe permitir identificar el agente de control que ha verificado un determinado parámetro del producto y ha introducido el atributo correspondiente en el sistema, así como garantizar que sólo los agentes autorizados pueden introducir datos en el sistema. 3. Se deben contemplar, analizar y gestionar las relaciones de confianza presentes en el proceso completo de fabricación: entre empresas, entre una empresa y sus agentes de control, y entre el cliente y el producto finalizado. 4. El sistema será capaz de revisar periódicamente y de forma automática la confianza en los agentes de control, en función del correcto desempeño de su tarea.
3.2. PRUEBA DE CONCEPTO 81 Fig. 3-3. Esquema de confianza empresa - regulador Si el resultado es “0” el solicitante podrá repetir el proceso una vez subsane las carencias o problemas detectados. Si el resultado es “1” el solicitante ingresará en el sistema. Se establecerán mecanismos de control y revocación de confianza, para garantizar el cumplimiento de los requisitos a lo largo del tiempo. Las entidades en las que se confía, podrán integrar la identificación y claves públicas de sus agentes de control en un repositorio centralizado, gestionado por el organismo regulador y accesible por el resto de integrantes que producen bajo el amparo del regulador. Notar que este regulador puede crearse ad-hoc entre las empresas implicadas en un proceso de fabricación, lo que permite una aplicación sencilla del sistema en múltiples entornos. 3.2.1.2. Confianza agentes de control – empresa productora Una vez que una empresa productora ha sido admitida en el sistema, debe garantizarse que se mantenga la calidad mínima requerida por la marca bajo la que se ampara la producción, por ello se tiene la necesidad y la obligación de establecer mecanismos de control para verificar el cumplimiento de los requisitos acordados. El sistema de verificación que se propone se basa en agentes de control. Desde el regulador centralizado, se realiza una delegación de atribuciones a una serie de agentes que se encargarán de realizar las comprobaciones y verificaciones correspondientes y emitir un informe sobre el cumplimiento de los requisitos. Aunque tradicionalmente estos agentes de control eran personal del organismo regulador, actualmente la tendencia parece ser que los agentes
82 CAPÍTULO 3: SISTEMA PROPUESTO responsables del control puedan ser trabajadores de las propias entidades controladas. El sistema que se propone en esta tesis para establecer la confianza en los agentes, puede ser utilizado en ambos casos, tanto si los controladores pertenecen a la empresa como si no. Una tercera opción es una solución mixta, donde se den ambos tipos de controladores, caso que también puede ser abordado sin ninguna modificación por el sistema propuesto. Como ya se ha comentado anteriormente, ver Fig. 3-1, durante el proceso de fabricación se establecen unos puntos de control o checkpoints, donde se verifica el cumplimiento de unos requisitos mínimos, mediante la realización de las comprobaciones oportunas. Una vez realizadas dichas comprobaciones, el agente que las ha realizado emite un informe que firma, o lo que es lo mismo, añade atributos a la identidad digital de producto. Con el sistema propuesto, se garantizan dos cosas: La primera: que el agente encargado de realizar la validación está autorizado para ello. Esto se puede garantizar mediante la utilización de un proceso de autenticación, que tras su superación le permitirá acceder a un repositorio donde se encuentra depositada su clave secreta con la que podrá firmar electrónicamente el atributo. Por tanto, sólo los agentes autorizados podrán firmar las validaciones de los productos. La segunda: que los datos introducidos en el sistema sobre las características del producto están respaldados por un agente que ha firmado los datos. Esto permite tener un mayor nivel de confianza en los atributos, ya que han sido comprobados por una entidad que se responsabiliza de ellos, identificable y que previamente ha sido objeto de una delegación de confianza y de un proceso de autenticación. Como se desprende del párrafo anterior, se delega en los agentes de control la tarea de verificar una serie de atributos de los productos, pero a su vez, estos agentes verificadores también son controlados y disponen de un nivel de reputación. A continuación, se va a definir el nivel de confianza y su relación dinámica con el nivel de reputación, que se irá actualizando a lo largo del tiempo en función del comportamiento de los agentes. El valor de confianza, C, es booleano y representa la decisión final de si se confía en el agente o no, de acuerdo a la siguiente codificación de valores:
3.2. PRUEBA DE CONCEPTO 83 el valor “1” representa un agente en el que se confía y por tanto los datos por él verificados son tomados como verdaderos. Inicialmente un agente que ha sido introducido en el sistema tiene un valor de confianza “1”. el valor “0” representa un agente en el que se ha dejado de confiar, y por tanto se le revoca el acceso a la clave de firma para que no pueda introducir más datos en el sistema. Lo que hace que un agente cambie su nivel de confianza de “1” a “0” es que su reputación actual, RACT, sea igual o menor que cero. 1óí 0óí (3-1) Como ya se anticipó en el apartado 2.1.2, se utiliza la confianza como una medida acerca de la certeza que se tiene en que un agente de control ejecutará eficientemente el control e introducción en el sistema del atributo del que sea responsable, teniendo en cuenta el número de fallos en su tarea a lo largo del tiempo. En la ecuación (3-1), se puede apreciar que la confianza está relacionada con el nivel de reputación15, es más, en este caso sólo depende de ese parámetro. Por tanto es extremadamente importante llevar un adecuado seguimiento de la reputación a lo largo del tiempo, que permita tener su valor actualizado. Para este apartado, se han estudiado algunos sistemas de gestión de confianza e incentivos, con aplicaciones en diversos ámbitos: seleccionar los nodos con los que interactuar en una red Ad Hoc móvil [CHO2011], elegir rutas seguras [GONZALEZ2011], establecer niveles de confianza en redes P2P [KAUR2012,EL-HALEEM2010], confianza en vendedores en sistemas comercio electrónico [ZHANG2009], políticas de incentivos para mejorar la productividad de operarios o sistemas de economía de fichas utilizados en sicología para cambiar comportamientos. 15 1. Es una evaluación basada en la historia de interacciones con (u observaciones de) una entidad, ya sean realizadas directamente por el evaluador o transmitidas por un testigo [JØSANG2007]. 2. Certeza que un agente tiene sobre el comportamiento de otro, compuesta a partir del conocimiento que es capaz de extraer de las relaciones con el resto de agentes, ya sea por el análisis de la red de relaciones sociales como por la información suministrada por otros” [CABALLERO2008].
84 CAPÍTULO 3: SISTEMA PROPUESTO Dado que cada tipo de modelo se ajusta a una tarea muy concreta, ninguno acababa de encajar con nuestras necesidades. Por ejemplo, en muchos de los modelos de gestión de confianza estudiados (redes ad-hoc, enrutamiento seguro, comercio electrónico), una de las tareas más complicadas a las que se deben enfrentar los agentes es obtener el nivel de confianza de sus vecinos, para ver cuanta credibilidad le dan a la información que éstos les aportan, cosa que no es excesivamente útil en nuestro caso. Por ello, se planteó para gestionar la confianza en los agentes de control, la utilización de un sistema inspirado en una cubeta con goteo o Leaky Bucket, utilizada en redes de computadores para conformar el tráfico de red. Este algoritmo fue propuesto por primera vez por Turner [TURNER1986]. La variante de este algoritmo en la que se inspira nuestro sistema, es la de cubeta con tokens (descrita en [TANENBAUM2010]), en la cual una cubeta se va llenando con fichas o tokens. Su funcionamiento es muy intuitivo, podemos imaginar una cubeta de capacidad finita, C, que en un momento dado está llena. A partir de ese momento, la cubeta se va llenando de fichas, a una velocidad de fichas por segundo (tasa de reposición). Simultáneamente, se “abre” la salida de la cubeta y las fichas se irán consumiendo a la velocidad máxima de salida, M fichas por segundo, hasta que la cubeta se vacíe completamente. Una situación concreta en este proceso, queda expresada en la siguiente fórmula: (3-2) En la expresión (3-2), S representa el tiempo transcurrido desde que se ha “abierto” el grifo de la cubeta, y permite calcular los parámetros (C y adecuados para poder transmitir a una tasa máxima constante durante un número determinado de segundos. Con este algoritmo lo que se consigue es una conformación del tráfico de una red de manera más eficiente que la cubeta con goteo, que consigue transformar un tráfico a ráfagas en uno periódico, y por tanto más constante y predecible. Con Token Bucket lo que se persigue es que si durante cierto tiempo no ha habido tráfico (no ha habido salida de fichas) la cubeta se habrá ido llenando a la velocidad de la tasa de reposición , y por tanto cuando llegue una ráfaga se permitirá su salida a máxima velocidad, M, durante un tiempo S, hasta que se vacíe la cubeta: 33
3.2. PRUEBA DE CONCEPTO 85 de esta manera se consigue que un enlace funcione de manera más eficiente. Al llevar un control del tráfico que se ha enviado por ese enlace en el periodo de tiempo inmediatamente anterior, es posible durante algunos segundos la transferencia de una ráfaga a máxima velocidad. A partir de este algoritmo, se va a establecer una analogía con la reputación de un agente que está verificando productos. En este caso las fichas que hay en la cubeta van a representar su reputación actual, RACT. El nivel de reputación irá subiendo conforme se verifican productos de forma correcta. Este proceso se va repitiendo hasta llegar a la capacidad máxima de la cubeta, que en este caso se denominará RMAX. La introducción de este valor límite, RMAX, responde a la necesidad de limitar el valor de reputación de un agente, para que aunque durante un tiempo su comportamiento sea intachable, no pueda alcanzar un nivel de reputación tan elevado, que no le afecten prácticamente las penalizaciones. Un ejemplo cotidiano de sistema de reputación con valor máximo, es el permiso de conducir por puntos16 actualmente vigente es España. Paralelamente, en cualquier momento se puede producir un descenso del número de fichas de la cubeta. En nuestro caso, las fichas se consumirán cuando se detecte un error (sería el equivalente a una ráfaga de datos de una duración determinada a una tasa de datos concreta), lo que hará que el agente pierda reputación. En el caso que nos ocupa, deberemos disociar el valor de tiempo que aparece a ambos lados de la ecuación, ya que en la fórmula original mientras se producía la transmisión de datos a máxima velocidad, es decir mientras se vaciaba la cubeta, se iban reponiendo las fichas, estando su generación asociada al tiempo común a ambos lados de la igualdad. La primera conversión que realizaremos será: (3-4) donde C representa la capacidad máxima de la cubeta, es el número de fichas que se generan por cada pieza verificada correctamente, S1 es el número de piezas verificadas correctamente, S2 el número de piezas verificadas erróneamente y M el número de fichas que se pierden por cada verificación errónea. Observar que la fórmula anterior, (3-4) no es útil todavía, ya que al disociar el parámetro común S, en dos parámetros independientes, deja de cumplirse la condición original que era que siempre que se generaban fichas también se consumían. Por ello, vamos a 16 http://www.dgt.es/portal/ca/oficina_virtual/permiso_por_puntos/
86 CAPÍTULO 3: SISTEMA PROPUESTO buscar una fórmula que exprese mejor la realidad del proceso que se producirá en nuestro sistema. Vamos a renombrar las variables, para que sea más intuitiva la comprensión del proceso: Pasamos a denominar Reputación máxima, RMAX, a C. Pasamos a denominar Piezas verificadas correctamente, PVC, a S1. Pasamos a denominar Piezas verificadas erróneamente, PVE, a S2. El factor de penalización, FP, sustituirá a M. La tasa de reposición , sigue manteniendo su nombre, pero ahora son fichas generadas por pieza verificada correctamente (en lugar de por unidad de tiempo). Si introducimos una nueva variable, RACT, que es el contador que nos da en cada instante el nivel de reputación, es decir el nivel de la cubeta, tenemos que: ∙ ∙ (3-5) A la vista de esta expresión, todavía debemos incorporar dos condiciones importantes: La posibilidad de otorgar un nivel de confianza inicial, RINI, a un agente nuevo en el sistema, y asegurar que RACT sea siempre menor o igual que RMAX. Con todos estos factores, construimos el siguiente algoritmo en pseudocódigo, para establecer el valor de RACT:
3.2. PRUEBA DE CONCEPTO 87 RACT=RINI Mientras RACT>0 Hacer { RACT= RACT +∙ PVC– FP ∙ PVE RACT= min {RACT, RMAX} Fin Mientras} Fin Es decir, en un instante dado el valor de reputación actual será la suma del valor de reputación inicial más las fichas conseguidas por verificaciones correctas menos las fichas perdidas por verificaciones incorrectas. Recordando (3-1), tenemos que si RACT>0 la confianza, C =1, y por tanto confiamos en ese agente. En caso contrario, es decir si RACT ≤ 0, C=0 y se deja de confiar en ese agente. Podemos introducir C en el algoritmo anterior: RACT=RINI Mientras RACT>0 Hacer { C=1 RACT= RACT +∙ PVC – FP ∙ PVE RACT= min {RACT, RMAX} Fin Mientras} C=0 Fin A la vista de todo lo anterior, en la siguiente tabla se presentan los parámetros más importantes del sistema, su abreviatura y una breve explicación de su función.
88 CAPÍTULO 3: SISTEMA PROPUESTO Abrev. Parámetro Función RINI Reputación Inicial Permite elegir la reputación otorgada a los agentes de control cuando entran en el sistema. RMAX Reputación Máxima Limitar el valor máximo de reputación de un agente. RACT Reputación Actual Refleja la reputación actual del agente. PVC Número de productos verificados correctamente Contiene el número de productos verificados correctamente Constante Indica en cuanto crece la reputación por cada producto verificado correctamente NPV Productos verificados por día Contiene el número medio de productos verificados en una jornada de trabajo PVE Número de productos verificados erróneamente Contiene el número de productos verificados erróneamente FP Factor de penalización Indica en cuanto decrece la reputación por cada producto verificado erróneamente Tabla 3-1. Parámetros del sistema de confianza Las acciones que van realizando los agentes de control son registradas por el sistema, influyendo en la reputación actual, representada como RACT de la siguiente manera: Productos validados correctamente: se aumenta el valor de reputación actual un valor ∙, donde PVC corresponde al número de productos verificados correctamente y es una constante que se introducirá como parámetro en el sistema. Es decir, ∙ (3-6) El valor de permite ajustar cuantos días de trabajo sin errores necesita un agente para llegar al máximo valor de reputación: ∙ (3-7)
3.2. PRUEBA DE CONCEPTO 89 donde NPV es el número medio de productos validados en un día, y d el número de días que se desea que transcurran para que un operario, que no cometa ningún error de validación, pase del nivel de reputación inicial (RINI) al máximo (RMAX). La actualización del valor RACT, aunque podría realizarse tras la validación de cada producto, por motivos de eficiencia operativa se realizará tras cada jornada de trabajo. Como se muestra a continuación, el valor RACT se verá fuertemente afectado cuando se detecten errores. Productos validados incorrectamente: se disminuye el valor de reputación actual en la cantidad resultante de la operación ∙, donde PVE corresponde al número de productos verificados de manera incorrecta y FP es el factor de penalización que se introducirá como parámetro en el sistema. A priori, el número de errores17 debería ser extremadamente bajo. Además, considerando el impacto tan importante que tiene en la imagen de marca que un producto de menor calidad que la programada llegue al consumidor, el descenso en el nivel de confianza sobre el agente debe ser importante. El valor de FP puede ser constante o variable, por ejemplo se puede tener en cuenta la confianza actual en el agente de control a la hora de penalizar. El valor RACT se verá afectado por las validaciones incorrectas de la siguiente manera: ∙ (3-8) Productos validados de manera fraudulenta: bajo la denominación “productos validados incorrectamente” se englobaban los errores involuntarios, que pueden aparecer en cualquier actividad humana. En el presente epígrafe, y a diferencia del anterior, se engloban las validaciones realizadas de mala fe. Si se detecta que un agente de control introduce datos incorrectos de forma intencionada, cosa no sencilla de demostrar, será expulsado del sistema. 17 Se recuerda, que se considera un error cuando una pieza que no debería haber pasado los controles en un punto de control, sigue el proceso como si cumpliera los requisitos. No tiene nada que ver con el número de productos descartados por no cumplir los requisitos fijados.
90 CAPÍTULO 3: SISTEMA PROPUESTO A partir del instante en el que el valor de confianza sobre un agente es cero, se le retirarán las atribuciones delegadas, en la práctica le será revocada la clave privada de firma y no podrá realizar más verificaciones (sin descartar cualquier otro tipo de medidas de otra índole que se puedan ejercer sobre él). La evaluación de confianza se hará tras cada jornada de trabajo, una vez se haya procedido a la actualización de RACT. Cuando un agente se autentique en el sistema, se comprobará el nivel de confianza del agente y si es cero no se le permitirá el acceso al sistema. Además, el sistema avisará al responsable del agente con C=0, para que sea sustituido y este hecho no afecte al normal funcionamiento de la cadena de producción en la siguiente jornada. Al igual que con la reputación actual, podría realizarse la evaluación de la confianza de manera instantánea tras cada introducción de productos validados incorrectamente, aunque por motivos de eficiencia operativa no se ha optado por esta posibilidad. Inicialmente el sistema se plantea como parte de un sistema de control de calidad a posteriori, es decir, inicialmente se presuponen todos los productos verificados de manera correcta, y cuando se detecten los errores se introducirá la información relativa en el sistema tan pronto sea posible. En la Fig. 3-4 se muestra un esquema de funcionamiento del sistema. Los productos terminados se someterán a procesos estándar de control de calidad, ya sea del total de productos o por métodos de muestreo, y si se detectan fallos, una vez localizado el responsable, se introducirán los datos en el sistema para actualizar los valores de reputación y confianza de los agentes implicados. El sistema también es válido para el caso de que los agentes que introducen los datos no sean humanos (por ejemplo básculas y sistemas de clasificación automática). No obstante, este tipo de errores en los sistemas automáticos de medida y clasificación van a ser prácticamente inexistentes y normalmente relacionados con averías en los equipos.
4. Diseño, prototipo y resultados 4.1. Requisitos generales y consideraciones del sistema ........................................ 98 4.1.1.Salud pública y legislación ............................................................................ 99 4.1.2.Tratamiento de la información y puntos de control .............................. 105 4.1.3.Escenario físico ............................................................................................ 108 4.2. Requisitos específicos de seguridad ................................................................ 111 4.3. Elección del tipo de curva elíptica y tamaño de clave. ................................. 112 4.3.1.Tiempo de procesado .................................................................................. 113 4.3.1.1.Primera batería de pruebas. ...................................................... 113 4.3.1.2.Segunda batería de pruebas. ...................................................... 118 4.3.1.3.Compatibilidad de los tiempos de procesado con sistema .......................................................................................... 119 4.4. Implementación de la aplicación ..................................................................... 120 4.4.1.Esquema del sistema ................................................................................... 120 4.4.2.Desarrollo de la aplicación ......................................................................... 123 4.4.2.1.Gestión de usuarios y claves: FA_Administrador ................. 123 4.4.2.2.Control de canales: FA_Servidor. ............................................ 123 4.4.2.3.Control de perniles: SRV_Despiece. ....................................... 124 4.5. Seguridad: aportaciones del sistema frente a amenazas conocidas ............ 124 4.5.1.La capa física ................................................................................................. 125 4.5.2.La capa de red y transporte ........................................................................ 127 4.5.3.La capa de aplicación ................................................................................... 127 4.5.4.La capa estratégica. ...................................................................................... 129 4.5.5.Ataques multicapa. ....................................................................................... 129 4.6. Análisis económico ............................................................................................ 130
98 CAPÍTULO 4: DISEÑO, PROTOTIPO Y RESULTADOS En este capítulo se van a mostrar las decisiones de diseño aplicadas al sistema, y su implementación en un prototipo que ha servido como base de pruebas y sobre el cual se han obtenido los resultados de viabilidad del sistema. En primer lugar se presenta una revisión de los requisitos del sistema, para luego pasar a la elección del tipo de curva elíptica a utilizar y sus parámetros. Posteriormente se muestra la implementación de la aplicación y la seguridad aportada frente a algunos tipos de amenazas. Finalmente, se presenta un análisis económico que revela el ahorro que puede suponer la adopción de la solución propuesta frente a otras alternativas. 4.1. Requisitos generales y consideraciones del sistema Para probar la usabilidad real del modelo propuesto y su integración en un sistema de trazabilidad con control de calidad, se ha integrado el sistema descrito en el punto anterior en un prototipo de sistema de trazabilidad basado en RFID. Esto ha permitido verificar su fiabilidad, eficiencia y comprobar que los tiempos de procesado de firmas son compatibles con los tiempos de producción real, ya que, al tratarse de una cadena manufacturera, en cada uno de los puntos de control hay un tiempo limitado para realizar las verificaciones, incorporar los atributos a la identidad y almacenarla en el sistema (tanto en el soporte físico de almacenamiento como en el sistema de información). Se ha desarrollado un prototipo en uno de los elementos intermedios de una cadena de suministro de un producto cárnico elaborado, concretamente para un matadero del Consejo Regulador de la Denominación de Origen (CRDO) del Jamón de Teruel. Al tratarse de un producto alimenticio, se debe valorar y analizar una serie de parámetros regulados por leyes, tanto nacionales como europeas, sobre el control de alimentos (ver apartado 4.1.1). Además, al ser un producto amparado por una Denominación de Origen Protegida, se deberán cumplir una serie de requisitos que se detallan en el pliego de condiciones el Consejo Regulador correspondiente (ver apartado 4.1.1) para poder marcar los productos finales como pertenecientes a dicha Denominación de Origen. La elección de este producto para realizar las pruebas del sistema de trazabilidad responde a la posibilidad de obtener una serie de datos que con otro tipo de productos no sería posible. La característica principal que aporta esta elección, es la de trabajar con un producto con un volumen de negocio
4.1. REQUISITOS GENERALES Y CONSIDERACIONES DEL SISTEMA 99 importante. Según los datos publicados por la Subdirección General de Calidad Diferenciada y Agricultura Ecológica del Ministerio de Medio Ambiente y Medio Rural y Marino, en el informe “Datos de las Denominaciones de Origen Protegidas (D.O.P.) e Indicaciones Geográficas Protegidas (I.G.P.) de Productos Agroalimentarios18” de 2010, en el citado año se produjeron 525.328 jamones bajo esta denominación, lo que supuso un volumen de unos 37’82 millones de euros. 4.1.1. Salud pública y legislación Antes de comenzar con los aspectos más técnicos, se va a exponer un breve resumen del conjunto de normas que se deben contemplar al realizar la trazabilidad de un alimento. La legislación vigente regula tanto el apartado de trazabilidad como el de salud pública. El Reglamento Europeo Nº 178/2002 (Regulation (EC) 178/2002) establece los principios y requisitos generales de la legislación alimentaria y fija los procedimientos relativos a la seguridad alimentaria. Esta norma podría considerarse la fundamental, a partir de la cual fueron surgiendo todas las demás. En sus consideraciones iniciales, apartados 28 y 29, y más desarrollada en el artículo 18, indica que es necesario establecer un sistema de trazabilidad en las empresas alimentarias. Otro punto importante se encuentra en las consideraciones iniciales, apartado 30, y también en el artículo 19. Éste indica que el responsable legal de la seguridad alimentaria es el explotador de la empresa alimentaria. También se tendrán que cumplir los requisitos que impone el Consejo Regulador, que se han ido adaptando a la realidad desde su primera versión19 de 1993, ligeramente modificada20 en 2005, adaptada21 en 2009, y finalmente nuevamente revisada22 y 23 en el año 2012. Estos requisitos siempre serán un añadido a los ya establecidos por la normativa española y europea. Las principales 18 Últimos datos disponibles, a la fecha de cierre de esta memoria de tesis. 19 ORDEN, de 3 de Noviembre de 1993, por la que se ratifica el l Reglamento de la Denominación de Origen «Jamón de Teruel» y su Consejo Regulador. 20 ORDEN de 18 de febrero de 2005, por la que se modifica el Reglamento de la denominación de Origen «Jamón de Teruel» y de su Consejo Regulador, aprobado por la Orden de 29 de julio de 1993. Y ORDEN APA/1235/2005, de 22 de abril, por la que se ratifica la modificación del Reglamento de la Denominación de Origen «Jamón de Teruel». 21 ORDEN de 6 de febrero de 2009, del Consejero de Agricultura y Alimentación, por la que se aprueba la normativa específica de la denominación de origen protegida “Jamón de Teruel”, incluye, como anexos, el pliego de condiciones, el reglamento de funcionamiento y los estatutos. 22 ORDEN de 28 de junio de 2011, del Consejero de Agricultura y Alimentación, por la que se adopta la decisión favorable en relación con la solicitud de modificación del pliego de condiciones de la Denominación de Origen Protegida Jamón de Teruel 23 ORDEN de 2 de marzo de 2012, del Consejero de Agricultura, Ganadería y Medio Ambiente, se han resuelto los recursos de reposición interpuestos contra la Orden de 28 de junio de 2011, del Consejero de Agricultura y Alimentación, por la que se adopta la decisión favorable en relación con la solicitud de modificación del pliego de condiciones de la denominación de origen protegida “Jamón de Teruel”.
100 CAPÍTULO 4: DISEÑO, PROTOTIPO Y RESULTADOS restricciones impuestas por la DO son de tipo geográfico (tanto las granjas, como los cebaderos y secaderos deberán ubicarse en municipios de la provincia de Teruel y en el caso de los secaderos con una altitud media no inferior a 800 metros), así como otras referentes a la procedencia, producción y calidad del jamón (como es el tipo de raza del animal, peso mínimo y máximo o el tiempo de maduración y curación de los jamones, controles de calidad, etc.). Al final de este apartado se reflejan las principales características que debe cumplir el producto según el pliego de condiciones del Consejo Regulador. Respecto a la trazabilidad y la seguridad alimentaria, a continuación se presenta un resumen de normativa24 recogida en [AESAN2009], y que afecta a estos ámbitos: - Reglamento (CE) Nº 178/2002 del Parlamento Europeo y del Consejo de 28 de enero de 2002 por el que se establecen los principios y los requisitos generales de la legislación alimentaria, se crea la Autoridad Europea de Seguridad Alimentaria y se fijan procedimientos relativos a la seguridad alimentaria (D.O.C.E: nº L31 de 1.2.2002). El artículo 18 de la citada disposición establece por primera vez, con carácter horizontal, para todas las empresas alimentarias y de piensos que forman parte de la cadena alimentaría la obligación de poner en marcha, aplicar y mantener un sistema de trazabilidad. Dicho artículo es aplicable desde el 1 de enero de 2005. El artículo 19 establece las responsabilidades respecto a los alimentos de los operadores económicos cuando se detecte que algún alimento no cumple los requisitos de seguridad. También se establece la obligación por parte del operador de la retirada del producto. El artículo 20 dispone las mismas responsabilidades para el operador económico de empresa de piensos. - Libro Blanco sobre la Seguridad alimentaria. La Comisión Europea perfiló una revisión radical de las normas de higiene y seguridad alimentaria de la Comunidad, conforme a las cuales, los operadores de empresa alimentaria son los principales responsables de la seguridad alimentaria. La innovación principal, es la realización de una política de higiene única, transparente y aplicable a todos los alimentos y todos los operadores de alimentos que intervienen de la granja a la mesa, junto con la introducción de instrumentos eficaces 24 En el Anexo IV se amplía esta información.
4.1. REQUISITOS GENERALES Y CONSIDERACIONES DEL SISTEMA 101 para gestionar la seguridad alimentaria y cualquier crisis alimentaria en todas las etapas de la cadena de alimentos. - Reglamento (CE) Nº 852/2004 del Parlamento europeo y del Consejo de 29 de abril de 2004 relativo a la higiene de los productos alimenticios (H1) (D.O.C.E: nº L 226 de 25.6.2004). En el artículo 5 se establece la obligación para los operadores de empresa alimentaria que intervengan en cualquier etapa de la producción, transformación y distribución de alimentos posteriores a la producción primaria de crear, aplicar y mantener un procedimiento o procedimientos permanentes basados en los principios del APPCC (Análisis de Peligros y Puntos Críticos de Control). Dicho sistema implica la elaboración de documentos y registros en función de la naturaleza y el tamaño de la empresa alimentaria para demostrar su aplicación efectiva, que pueden contribuir a la información necesaria del sistema de trazabilidad. - Reglamento (CE) Nº 853/2004 del Parlamento europeo y del Consejo de 29 de abril de 2004 por el que se establecen normas específicas de higiene de los alimentos de origen animal (H2) (D.O.C.E. nº L 226 de 25.6.2004). Los operadores de empresa alimentaria responsables de los establecimientos sujetos a autorización con arreglo al presente Reglamento deben asegurarse de que todos los productos de origen animal que pongan en el mercado llevan una marca sanitaria o una marca de identificación. - Reglamento (CE) Nº 183/2005 del Parlamento europeo y del Consejo de 12 de enero de 2005 por el que se fijan requisitos en materia de higiene de los piensos (D.O.C.E. L 35 de 8.2.2005). El artículo 6 fija los requisitos en materia de higiene de los piensos. - Real Decreto 1808/1991, de 13 de diciembre, que regula las menciones o marcas que permiten identificar el lote al que pertenece un producto alimenticio (BOE 25.12.1991). Resultado de la transposición de la Directiva del Consejo 89/396/CEE, de 14 de junio de 1989, esta legislación requiere una indicación o marca de identificación del lote al que pertenece el alimento. Además de las normas citadas, basadas en la información contenida en [AESAN2009], para el caso que nos ocupa, existe legislación propia de la comunidad autónoma donde se lleva a cabo la actividad de producción, en este caso Aragón, y que se cita a continuación:
102 CAPÍTULO 4: DISEÑO, PROTOTIPO Y RESULTADOS Ley 9/2006, de 30 de noviembre, de Calidad Alimentaria en Aragón (“Boletín Oficial de Aragón” Nº 142, de 13 de diciembre de 2006). Decreto 5/2009, de 13 de enero, del Gobierno de Aragón, por el que se aprueba el Reglamento del contenido mínimo de la normativa específica de determinadas denominaciones geográficas de calidad de los alimentos y el procedimiento para su reconocimiento (“Boletín Oficial de Aragón” Nº 18, de 28 de enero de 2009). Como se ha comentado anteriormente, además de esta legislación de carácter general, en el caso del Jamón de Teruel debe contemplarse también el pliego de condiciones de la propio Consejo Regulador de la Denominación de Origen Jamón de Teruel (Orden de 28 de junio de 2011, del Boletín Oficial de Aragón), y en el que se recogen las características que debe tener el producto en cada una de sus etapas de producción. Para el presente trabajo son importantes, ya que todas ellas deben ser verificadas y por tanto son susceptibles de ser incorporadas a la identidad del producto avaladas por una firma digital. A continuación, se presentan estos requisitos: Requisitos relativos a los lechones, piensos y cerdos (“Granja y cebadero”): Los jamones y paletas curadas procederán exclusivamente de las razas Landrace (tipo estándar), Large White o cruce de ambas (línea madre), y Duroc (línea padre). Tanto las granjas de producción de lechones como las granjas de cebo de cerdos estarán inscritas y situadas dentro de la zona de producción. Los machos estarán castrados antes de la entrada en el cebadero. Los animales estarán identificados, a su entrada en cebaderos, por una marca indeleble en la oreja, en la que figurará el código de explotación de la que proceden. Los elaboradores de piensos compuestos para la alimentación de los cerdos amparados por la Denominación de Origen Protegida, deberán estar ubicados dentro del área geográfica de la provincia de Teruel. La alimentación del ganado se basa fundamentalmente en cereales, definiendo los porcentajes de materias primas que entran a formar parte de la composición del pienso, que se formulará con un mínimo de 50 % de cereales. Las fábricas de pienso deberán justificar que al menos el 20 % de los cereales utilizados en la fabricación del pienso en un año proceden de los cultivos de la propia provincia de Teruel.
4.1. REQUISITOS GENERALES Y CONSIDERACIONES DEL SISTEMA 103 Requisitos relativos al sacrificio (“Matadero”): El transporte, sacrificio, curación (secado y maduración) y envejecimiento de los perniles y paletas estarán controlados por el Consejo Regulador. El ganado será transportado en camiones con montacargas, o vehículos adecuados, de forma que los cerdos no sufran ninguna alteración o molestia que pueda afectar a su estado o integridad física. El sacrificio de los cerdos destinados a la obtención de perniles y paletas que optan a la Denominación de Origen se realizará en mataderos inscritos dentro de la zona de producción. Las hembras no estarán en celo en el momento del sacrificio. Los cerdos guardarán ayuno un mínimo de 12 horas antes de sacrificio. Los mataderos deberán reunir las condiciones técnico-sanitarias exigidas en la legislación vigente y en ellos permanecerá el cerdo, antes de su sacrificio, un tiempo de espera con el fin de eliminar la fatiga del transporte y asegurar un nivel mínimo de las reservas del glucógeno muscular. Durante este tiempo se les proporcionará a los animales agua "ad libitum". El sacrificio del animal se realizará con aturdimiento previo, mediante todos aquellos métodos oficialmente reconocidos, además del electro-shock. Se exigirá posteriormente, el más completo desangrado y no se podrá taladrar las extremidades posteriores y anteriores del cerdo. Únicamente podrán suministrar piezas con destino a la elaboración de jamones y paletas curadas protegidas por la Denominación de Origen, las canales de cerdos cuyos pesos en caliente sean superiores o iguales a 86 kg. y cuyo espesor de tocino dorsal, medido en la zona lumbar a la altura de la punta del pernil, sea superior a 16 milímetros e inferior a 45 milímetros. Una vez despiezada la canal y perfilados los perniles y paletas, se mantendrán a una temperatura entre –2ºC y +2ºC, el tiempo necesario para conseguir una temperatura máxima de +2ºC en el interior de la pieza. El transporte de los perniles y de las paletas desde el matadero a los locales de curación se hará en vehículos frigoríficos, entrando en la nave de salado con una temperatura en el centro del pernil y de la paleta entre 0 y 2ºC. Requisitos relativos a la elaboración y maduración (“Secadero”): Los secaderos en los que se efectúen las fases de curación y envejecimiento del jamón y de la paleta se realizarán en locales inscritos, ubicados en la zona de elaboración y controlados por el Consejo Regulador. Los envasadores
104 CAPÍTULO 4: DISEÑO, PROTOTIPO Y RESULTADOS igualmente estarán inscritos y ubicados dentro de la zona de elaboración, en locales inscritos y controlados por el Consejo Regulador. Proceso de elaboración: a partir de este momento se procede al proceso de elaboración, que consta de cinco operaciones: Salazón, lavado, post-salado, curado (secado-maduración) y envejecimiento: o Salazón: es la incorporación de sales a la masa muscular, que favorecen la deshidratación de las extremidades del cerdo y su perfecta conservación. La sal permanece en contacto con las piezas entre 0.65 y 1 día por Kilogramo de peso fresco de pernil o de paleta. o Lavado: se lavan con agua para eliminar la sal adherida. o Asentamiento o postsalado: en esta fase se produce la difusión de la sal hacia el interior de todas las piezas cárnicas, eliminándose lenta y paulatinamente el agua. El proceso se realiza en cámaras con temperaturas máximas de 6 ºC y una humedad relativa igual o mayor del 70%. El tiempo de permanencia en las cámaras depende del peso de las piezas, teniendo que ser este un mínimo de 60 días para los jamones y de 30 días para las paletas. o Curado (secado y maduración): esta operación se lleva a cabo en secaderos cuyas condiciones ambientales son las propias de la zona, controlando la ventilación para conseguir las condiciones óptimas de humedad relativa y temperatura. o Envejecimiento: En esta fase se producen las reacciones bioquímicas responsables del aroma y sabor característico. La duración mínima de todo el proceso de elaboración es de 60 semanas para los jamones y de 36 semanas para las paletas. Finalizado todo el proceso citado anteriormente, los jamones y paletas en piezas enteras salen al mercado con la garantía de su origen, materializada en la palabra “TERUEL” con la estrella de 8 puntas marcada a fuego y la contraetiqueta (vitola) numerada por el Consejo Regulador. Como se puede apreciar, todo el proceso con sus diferentes características y condiciones está perfectamente definido, por tanto es susceptible de verificarse y añadirse a la etiqueta que almacena la identidad digital del producto.
4.1. REQUISITOS GENERALES Y CONSIDERACIONES DEL SISTEMA 105 4.1.2. Tratamiento de la información y puntos de control La cadena de suministro del Jamón de Teruel involucra la totalidad de la vida del producto: granja de nacimiento de los lechones, alimentación, obtención de los perniles y las fases de curación y maduración. Como se representa en la Fig. 4-1. Fig. 4-1. Esquema del proceso productivo. El escenario en el que se va a implantar el prototipo del sistema de trazabilidad es un matadero del CRDO del Jamón de Teruel, encargado de la obtención de los perniles (la parte rodeada por una línea de puntos en la Fig. 4-1). El sistema de trazabilidad se basa en unos puntos de control o checkpoints que se ajustan a los requisitos descritos en el apartado anterior. En el matadero, que es la parte del proceso para la que se ha desarrollado el prototipo, se han establecido cuatro puntos de control o checkpoints, que son los siguientes: Entrada/Recepción de los animales (lotes): el terminal de introducción de datos suele ubicarse en las oficinas, aunque
106 CAPÍTULO 4: DISEÑO, PROTOTIPO Y RESULTADOS también se puede ubicar en los corrales o en el puesto del veedor 25 . Antes de iniciar la jornada de sacrificio, para poder realizar la trazabilidad en tiempo real, se introducen los datos de los lotes que se sacrificarán en esa jornada. Control de canales (veedor): a este punto llegan los animales sacrificados, eviscerados y colgados de unas perchas para el pesado de las canales. Desde la base de datos se cargan los datos de los lotes del día actual (número de lote activo, número de guía sanitaria y corrales) y de la explotación ganadera de origen (nombre y códigos REGA 26 y CRDO). De forma similar a la mostrada en la Fig. 4-2, se comprueba el peso de la canal, el espesor de tocino, que no haya algún defecto, el sexo y se genera el rol de sacrificio. Este rol, definido por el CRDO, es un número de 10 dígitos que deberá ser visible sobre los perniles. Este número incluye un dígito que identifica al matadero, dos que informan sobre la semana de sacrificio, tres para identificar la explotación de origen y un número creciente (4 dígitos) que cuenta los animales de la misma granja sacrificados esa misma semana. Es decir, hay una cuenta por granja y semana. Además de esta información, en la identidad también se integran otros atributos como la identificación del agente de control, el número de identificación único (UID) de la etiqueta RFID, la fecha y la hora. Toda esta información es avalada por la firma digital electrónica del agente de control. Fig. 4-2. Control de canales por parte del veedor. 25 Agente de control encargado de realizar las verificaciones de las características de las canales. 26 Registro general de explotaciones ganaderas.
4.3. ELECCIÓN DEL TIPO DE CURVA ELÍPTICA Y TAMAÑO DE CLAVE 113 además garantizará que cada uno de los mensajes firmados sea distinto de los demás, que es un requisito impuesto por el tipo de firma utilizado. También como paso previo a la introducción de nuevos datos y a su correspondiente nueva agregación de firma, se verificará que hasta ese punto la firma es correcta. En caso de que la comprobación la detecte como errónea, no se producirá la firma de ese punto. En el apartado siguiente, se resume el estudio que se hizo de las diferentes alternativas respecto al tiempo de procesado, para seleccionar el tipo de curva y el tamaño de la clave. 4.3.1. Tiempo de procesado Una de las ventajas del uso de este modelo en un sistema de trazabilidad radica en que el tiempo de procesado y verificación de firma es muy rápido, y por tanto es difícil que supere el tiempo utilizado por la cadena de procesado en ninguno de los puntos de control. Antes de seleccionar el tipo de curva y el tamaño de la clave, se realizaron pruebas para ver el rendimiento, concretamente el tiempo de procesado para distintas curvas, distintas longitudes de firma y distinto número de firmantes. 4.3.1.1. Primera batería de pruebas. El banco de pruebas utilizado para la realización de los cálculos criptográficos fue un PC estándar sin ninguna característica especial (procesador AMD Athlon64 3500+ con 2Gb de RAM). Para las primeras pruebas de integración con el sistema de RFID se utilizó un lector-grabador, ubicado en un laboratorio, que funcionaba en la banda de 13.56 MHz, capaz de interactuar con transpondedores basados en los estándares ISO 14.443 (partes 2, 3 y 4) e ISO 15.693. El dispositivo también soportaba algoritmos estándar de cifrado (DES, 3DES y AES), funciones de hash (SHA y MD5), y poseía un generador interno de números pseudo-aleatorios (PRNG). Se realizaron pruebas con curvas y tamaños de firma diferentes, evaluando también el tiempo de procesado de cada una, obteniendo los siguientes resultados (Tabla 4-2):
114 CAPÍTULO 4: DISEÑO, PROTOTIPO Y RESULTADOS Nº Firmas 160 bits No-SS 256 bits NoSS 307 bits No-SS 127 bits SS 255 bits SS 511 bits SS 767 bits SS 1023 bits SS 2 0,5 0,96 1,33 0,05 0,15 0,36 0,75 1,23 3 0,66 1,29 1,8 0,07 0,19 0,49 0,99 1,65 4 0,82 1,61 2,24 0,09 0,24 0,62 1,26 2,05 5 0,99 1,98 2,7 0,11 0,29 0,74 1,5 2,47 6 1,15 2,32 3,19 0,13 0,34 0,86 1,75 2,88 7 1,35 2,6 3,59 0,15 0,39 0,99 1,99 3,33 8 1,49 2,95 4,07 0,17 0,44 1,11 2,25 3,77 Tabla 4-2. Tiempo en seg. de procesado de firma agregada. SS: Curva Supersingular. No-SS: Curva no súper singular Es importante señalar, que dado que el tiempo de generación de la firma es muy pequeño en comparación con el tiempo de verificación, se puede tomar como tiempo de procesado de la firma (tiempo de verificación + tiempo de generación de la firma) el tiempo de verificación. A continuación, en la Fig. 4-6, se puede apreciar el tiempo de procesado para la verificación de la firma agregada dependiendo de la cantidad de firmantes implicados. Se puede concluir que son prácticamente lineales ya que la verificación implica la ejecución de un emparejado bilineal por cada firmante. Las curvas empleadas pertenecen a 2 familias: las supersingulares (SS) y las no supersingulares (no-SS). Fig. 4-6. Comparación de tiempo de verificación de firma de distintos tipos de curva y tamaños de firma
4.3. ELECCIÓN DEL TIPO DE CURVA ELÍPTICA Y TAMAÑO DE CLAVE 115 A la vista de los resultados, para cada situación, se elegirá la tipología de curva conforme a las variables de potencia de procesado disponible y de nivel de seguridad que se deba proporcionar, según determine el equipamiento disponible y el entorno de aplicación. Por su parte en las figuras Fig. 4-7 y Fig. 4-8, se pueden comparar también los tiempos de procesado para las dos tipologías de curvas (supersingulares y no supersingulares). Fig. 4-7 T iempo de procesado de firmas No supersingulares – comparativa por longitud de clave
116 CAPÍTULO 4: DISEÑO, PROTOTIPO Y RESULTADOS En las figuras anteriores se aprecia claramente que el tiempo de procesado de las curvas no-supersingulares es en niveles cuantitativos mucho mayor. No obstante, debido a que el nivel de seguridad que ofrece cada una de las curvas viene determinado por la longitud de sus claves multiplicada por el factor MOV de la curva, que es de 2 en las curvas supersingulares y de 6 en las no supersingulares, vamos a comparar ahora las curvas fijando un nivel similar de seguridad. Tomemos un tamaño de firma de 160 bits en la curva no-SS, que multiplicado por el factor MOV=6, obtenemos un nivel de seguridad equivalente de 960. Para un nivel similar de seguridad equivalente, tomaremos las firma de 512 bits en la curva supersingular (MOV=2), lo que nos dará un nivel de seguridad equivalente de 1024, del orden del anterior. También hay que añadir que la elección del grado MOV igual a 6 viene determinada porque es el nivel máximo en el que este tipo de curvas es operativo. Con valores más altos de 6, las operaciones implicadas en el cálculo de emparejados bilineales alcanzan una complejidad excesiva. La comparación se muestra gráficamente en la Fig. 4-9. Fig. 4-8 Tiempo de procesado de firmas Supersingulares – comparativa por longitud de clave
4.3. ELECCIÓN DEL TIPO DE CURVA ELÍPTICA Y TAMAÑO DE CLAVE 117 Fig. 4-9. Comparación de tiempos de verificación entre curvas y tamaños de firma con nivel de seguridad equivalente similar Como se puede apreciar en la Fig. 4-9, el tiempo es prácticamente similar (en torno a un 35 % más corto en la SS), pero en los valores de tiempo que nos movemos no es un factor determinante, ya que ambos cumplen con los requisitos de tiempo impuestos por la cadena de producción. Para realizar la elección, nos centraremos en las fuertes restricciones de memoria que impone el uso de las tarjetas RFID de ultra-bajo coste utilizadas, y por tanto se elegirá la curva no supersingular por ofrecer un importante ahorro en el espacio de memoria ocupado por la firma (casi un 70 % de ahorro). A la vista de todo lo anterior, se concluye elegir un tamaño de firma de 160 bits y la curva no-supersingular. 0 0,2 0,4 0,6 0,8 1 1,2 1,4 1,6 2345678 160bitsNo‐SS 512bitsSS Tiempodeverificacióndelafirma Númerodefirmantes Tiempo(s)
118 CAPÍTULO 4: DISEÑO, PROTOTIPO Y RESULTADOS 4.3.1.2. Segunda batería de pruebas. La siguiente batería de pruebas fue realizada sobre un equipo con procesador Intel core2 duo a 2,2 GHz, y 2 GB de memoria RAM. Curvas no Supersingulares Curvas Supersingulares Nº firmas 160 bits 256 bits 307 bits 128 bits 160 bits 256 bits 384 bits 512 bits 768 bits 1024 bits 2 0,39890 0,74738 1,00800 0,04459 0,06055 0,11482 0,20433 0,29922 0,5858 0,96008 3 0,51534 0,97887 1,33088 0,05800 0,07642 0,14607 0,27888 0,38235 0,78150 1,29799 4 0,64385 1,22416 1,66541 0,07356 0,09494 0,18202 0,33810 0,47754 0,98135 1,63519 5 0,77129 1,47421 1,99559 0,08433 0,11292 0,21950 0,38474 0,57261 1,17398 1,94974 6 0,89927 1,71999 2,32868 0,09905 0,13200 0,25744 0,44681 0,68585 1,36303 2,30744 7 1,03254 1,96137 2,66144 0,11395 0,15058 0,29448 0,52141 0,76260 1,55099 2,61969 8 1,16332 2,21477 3,00264 0,12703 0,16822 0,33726 0,57768 0,85720 1,73316 2,94449 9 1,29696 2,45331 3,32454 0,14022 0,18672 0,36713 0,63957 0,97010 1,93072 3,25326 10 1,42114 2,69902 3,65905 0,15539 0,20545 0,40293 0,70184 1,05385 2,11347 3,59172 11 1,54459 2,94639 3,99077 0,16808 0,22486 0,44731 0,76985 1,15011 2,31103 3,90204 12 1,67157 3,19075 4,32335 0,18183 0,24198 0,47806 0,83810 1,24213 2,53878 4,21898 Tabla 4-3 Tiempo en segundos de procesado de las firmas Como se puede apreciar en la Tabla 4-3, el tiempo necesario para realizar la verificación de diez firmas no llega a un segundo y medio para las curvas seleccionadas de 160 bits en el caso de las no supersingulares, por tan sólo 1,05 segundos en el caso de la curva supersingular (con el tamaño de clave de 512 bits para comparar niveles de seguridad equivalentes). Como vemos, se sigue manteniendo una proporción de diferencia de tiempo de procesado entre ambos tipos de curva, similar a la de la batería de pruebas anterior, en torno a un 35%, si bien se han reducido sensiblemente los tiempos de procesado, como se observa en la Fig. 4-10.
4.3. ELECCIÓN DEL TIPO DE CURVA ELÍPTICA Y TAMAÑO DE CLAVE 119 En la Fig. 4-10, las series correspondientes a la segunda batería de pruebas, se han señalado con la palabra “Nueva”. Esta reducción de tiempo de procesado entre la primera y la segunda batería de pruebas, de media un 22%, es achacable al avance tecnológico, principalmente del hardware sobre el que se realizan las pruebas. Para los casos seleccionados, la reducción media del tiempo de procesado ha sido de un 22% en el caso de la firma de 160 bits sobre una curva no-supersingular, y de un 21% en el caso de la firma de 512 bits sobre curva supersingular. En el prototipo en el que se implementa el sistema, el número máximo de firmas a compactar será tres, por lo tanto, el tiempo medio de verificación será de 0,4 segundos en el caso de las no supersingulares y 0,3 segundos en el caso de las supersingulares. 4.3.1.3. Compatibilidad de los tiempos de procesado con sistema El tiempo medio que requiere cada uno de los puntos de control varía de manera considerable, no se requiere el mismo tiempo para introducir los datos de cada uno de los animales a su recepción que en verificar el peso de cada una de las piezas de jamón. Fig. 4-10. Comparación de tiempo entre la primera y la segunda baterías de pruebas
120 CAPÍTULO 4: DISEÑO, PROTOTIPO Y RESULTADOS Después de analizar los distintos checkpoints, se ha comprobado que los tiempos de verificación de la firma, introducción de atributos y generación de la nueva firma agregada son compatibles con la velocidad de la cadena de producción. Si se exportara el sistema a otra cadena de producción, en la que los tiempos de control fueran menores, como ocurrirá en cadenas automáticas de montaje, se podría variar el tipo de curva y longitud de clave, para ajustar los tiempos y nivel de seguridad a los nuevos requerimientos. Otra posibilidad, en el caso de que un punto de control requiriese un tiempo menor para la verificación de la firma, sería omitir la verificación de la firma en ese punto concreto delegando la responsabilidad de la verificación al siguiente punto de control. 4.4. Implementación de la aplicación En este apartado se van a describir los diferentes elementos que constituyen el sistema de firmas agregadas. 4.4.1. Esquema del sistema El sistema consta de tres partes principales: el módulo de administración de usuarios y claves. el módulo de verificación y gestión de firmas. los clientes que envían datos para verificar las firmas y agregar nuevos mensajes a las etiqueta. En la figura de la página siguiente, se puede ver una representación esquemática de este sistema.
4.4. IMPLEMENTACIÓN DE LA APLICACIÓN 121 En la Fig. 4-11 se representa la arquitectura descrita, representándose con color rojo y un candado cerrado las operaciones de sólo lectura (no permitida la escritura). La comunicación entre los usuarios de los diferentes puntos del proceso (control de canales y control de perniles) y el servidor de firmas se realiza mediante una arquitectura cliente-servidor, basada en la utilización de sockets sobre una red local TCP/IP. Fig. 4-11. Arquitectura del sistema
122 CAPÍTULO 4: DISEÑO, PROTOTIPO Y RESULTADOS Cada usuario, que previamente ha debido ser dado de alta en el sistema mediante el módulo Administrador, se debe autenticar frente al sistema mediante un login (nombre de usuario) y un password (contraseña). Las claves privadas de firma no se le proporcionan al usuario sino que se quedan en el propio servidor de firmas, de manera que las claves privadas nunca viajan por el sistema. En el servidor de firmas se ejecutan dos aplicaciones (FA_Servidor y SRV_despiece), que son las encargadas de comprobar y generar las firmas requeridas en los puestos control de canales y control de perniles. Cada aplicación está escuchando un puerto distinto, por lo que la aplicación cliente de cada puesto de control se comunicará solamente con la aplicación encargada de ese punto. Para la gestión de usuarios se ha desarrollado la aplicación FA_Administrador, que se encarga de la gestión de usuarios y claves y que se detallará a continuación. Esta aplicación es la única que tiene permisos para modificar el repositorio de información de usuarios, donde se almacenan los datos de los usuarios y sus claves públicas y privadas. El resto de aplicaciones sólo pueden consultar las tablas para las que tienen autorización, y en ningún caso pueden modificar los datos. Como optimizaciones implementadas podemos destacar: • Poner la firma al principio de la tarjeta, debido a que para hacer las firmas y las verificaciones siempre es necesario enviar el mensaje y la firma. Además a la hora de grabar la firma con la impresora RFID, al ser ésta de acceso secuencial y no aleatorio, y estar la firma al principio del espacio de memoria, no es necesario recorrer ningún bit para llegar hasta ella, lo que redunda en un ahorro de los tiempos. • Codificar los firmantes para ahorrar espacio en las tarjetas RFID (se identifica cada firmante con un número de 1 a 255, es decir con un byte de memoria). Se puede por tanto tener un número máximo de firmantes activos de 255, pero puede haber cualquier número de firmantes (en el siguiente apartado se detallará la gestión de los firmantes). Esta mejora requerirá necesariamente que todos los mensajes que se vayan añadiendo en cada punto de control, contengan un bloque de 4 bytes con la fecha en la que se realiza la firma.
4.5. SEGURIDAD: APORTACIONES FRENTE A AMENAZAS CONOCIDAS 129 Incluso tratándose de virus sofisticados, con las normas generales básicas habituales que se han aplicado, como limitar los permisos de la base de datos y de los usuarios, aislar el servidor middleware del resto de la red y revisar el código del middleware para evitar agujeros de seguridad [CLARKE2009a, CLARKE2009b], se obtiene un nivel de seguridad elevado. 4.5.4. La capa estratégica. De los riesgos comentados (espionaje industrial, técnicas de ingeniería social, amenazas a la privacidad, selección de objetivos) sólo afecta al sistema, en alguna medida, la posibilidad de que mediante técnicas de ingeniería social, se consiga que algún agente de control realice alguna acción que pudiera comprometer el funcionamiento del sistema. Las contramedidas implementadas son: la formación adecuada del personal y la definición de una política general de seguridad. Además aquí no existe la posibilidad de acceso directo a las claves privadas de firma por parte de los usuarios, es decir, cuando un usuario legítimo inicia la sesión se debe autenticar, y será el servidor de firmas el que realice los cálculos, no teniendo acceso directo el agente de control a su clave privada de firma en ningún momento. 4.5.5. Ataques multicapa. Aunque la estructura de estos ataques es similar a sus homónimos en capas individuales, en este caso pueden implicar a varias capas. Los ataques que se estima pueden afectar al sistema presentado son: denegación de servicio, la lectura / escritura de información en el espacio libre de la tarjeta sin autorización y ataques de repetición. El resto, dado que en nuestro sistema no es necesaria privacidad no afectan. Los ataques de denegación de servicio (DoS) podrían afectar a la cadena de producción, no obstante para su ejecución haría falta acceso físico a los recintos, por lo que las medidas físicas propuestas en el subapartado 4.5.1 deberían ser suficientes. No hay que olvidar que dada la existencia de redes de comunicaciones en el sistema, estas sí son vulnerables a ataques externos de DoS, por lo que se han tomado las medidas de seguridad habituales para evitar este tipo de ataques. La protección frente al resto de ataques citados ya ha sido comentada en los puntos anteriores.
130 CAPÍTULO 4: DISEÑO, PROTOTIPO Y RESULTADOS 4.6. Análisis económico Para finalizar este capítulo, se ha considerado incluir un análisis de los beneficios económicos que puede producir la aplicación del sistema propuesto en un entorno productivo que genere cantidades elevadas de productos (del orden de algunos cientos de miles al año). Según se señala en [SARAC2010], un ROI (Return-on-investment) positivo, depende de los costes de la tecnología (el precio de las etiquetas, coste del servicio de mantenimiento, etc…). En el árbol de costes planteado en [BANKS2007], los costes se dividen en: costes de proceso de reingeniería (costes de personal), costes de instalación del servicio, costes de integración del sistema, costes de software y costes de hardware. Dentro de estos últimos, se computan los costes de: lectores RFID, etiquetas, antenas, cableado y conectores, ordenadores y dispositivos de red. El uso del sistema propuesto, ofrece una importante disminución en la inversión en etiquetas RFID, debido tanto a los menores requerimientos de espacio de memoria como a no necesitar etiquetas securizadas, lo que posibilita adquirir etiquetas muy económicas. En el estudio de riesgos en la implantación de un sistema RFID realizado por [XIAO2010], se apunta directamente al coste de las etiquetas como el riesgo más importante de implantación del sistema (junto con el coste global de la solución y la privacidad personal), coincidiendo en este aspecto otros trabajos como ([ANGELES2005, BOTTANI2008, JONES 2004, WU2005]. Además, este ahorro se produce durante toda la vida útil del sistema, ya que la adquisición de etiquetas es constante mientras se esté utilizando. En la Fig. 4-13, se muestra una estimación de la inversión en etiquetas RFID dependiendo de: el número de firmantes, el tipo de protocolo utilizado para la firma, el número de piezas y el coste por unidad de cada etiqueta. Como se puede apreciar en la gráfica, en el caso de la utilización del sistema propuesto, el tamaño de la firma se mantiene constante independientemente del número de firmantes. Esta característica, reduce el coste del sistema de manera importante frente a los esquemas basados en firmas individuales (una firma por cada mensaje), y que requieren una cantidad mucho mayor de memoria. También hay ocasiones en que las características específicas de la propia tarjeta (resistencia a determinadas condiciones de humedad, temperatura, corrosión, etc…), hace que no existan en el mercado etiquetas con la cantidad de memoria requerida, y que por ejemplo el tamaño máximo disponible sea de 2K, lo que condicionará fuertemente el planteamiento del sistema. Es importante
4.6. ANÁLISIS ECONÓMICO 131 señalar, que habitualmente no todo el espacio de memoria que ofrece la etiqueta puede ser utilizado libremente, sino que hay una serie de bloques reservados. Por ejemplo, en la etiqueta que se utilizó en el prototipo, de los 1024 bits que tiene de memoria, sólo pueden ser utilizados libremente 640 bits (20 bloques). En un caso como este, con el uso del sistema propuesto, podría paliarse el problema, ya que el requerimiento de espacio de memoria para la firma es mucho menor. Esta circunstancia se presentó durante el desarrollo del prototipo. Con la tarjeta seleccionada ni siquiera cabría una firma utilizando RSA, porque el tamaño de firma para el nivel de seguridad requerido es de 1024 bits, y las etiquetas que soportan las características del proceso productivo tienen una memoria utilizable de 640 y deben guardarse el resto de atributos de la identidad, además de la firma. Para realizar un pequeño análisis, se va a tomar el número anual de piezas etiquetadas por el Consejo Regulador de la Denominación de Origen Jamón de Teruel, por ejemplo los que corresponden al año 2009, que ascendieron a 675.276 (la mayor producción nacional con marchamo de calidad). Además, se puede suponer que se van a añadir tres firmas. También hay que considerar, que en las etiquetas de 1K sólo quedan libres 8 bloques, es decir 256 bits. Para el mismo nivel de seguridad requerido, las alternativas analizadas han sido: firmas individuales para cada mensaje RSA de 1024 bits, firmas individuales para cada mensaje ECDSA de 160 bits y el uso de firmas agregadas de 163 bits propuesto. Obteniendo los siguientes resultados: Esquema de firma Espacio ocupado (bits) T ipo de tarjeta Necesaria Coste por tarjeta (€) Coste anual (€) RSA 1024 1024 x 3 4 K 0.91 614.501,16 € ECDSA 160 160 x 3 2 K 0.68 459.187,68 € Firma Agr. 163 1 K 0.29 195.830,04 € Tabla 4-4. Coste anual para tres firmantes en función del tipo de etiqueta Como se puede ver en la Tabla 4-4, el ahorro anual que se produce para las condiciones citadas es de un 57 % (263.357,64 € ) respecto a ECDSA 160 y de un 68 % (418.671,12 €) respecto a RSA 1024.
132 CAPÍTULO 4: DISEÑO, PROTOTIPO Y RESULTADOS Extendiendo este mismo análisis, con el mismo número de piezas anuales, a una cadena de producción con hasta 7 firmantes, se obtienen los siguientes resultados, mostrados en las Fig. 4-13 y Fig. 4-14 : Fig. 4-13. Inversión en etiquetas en miles de € Como se observa en la Fig. 4-13, la inversión necesaria en etiquetas es mayor en RSA para cualquier número de firmantes. Respecto a ECDSA, se observa que hasta dos firmantes el coste es el mismo que en el caso de las firmas agregadas, entre tres y seis firmantes el coste vuelve a ser claramente superior (más del doble) y finalmente en el caso de siete firmantes aunque sigue siendo más ventajoso el uso de firmas agregadas, la diferencia se reduce considerablemente respecto al caso anterior. 0€ 200€ 400€ 600€ 800€ 1.000€ 1.200€ 1234567 Costedelasetiquetas (enmilesdeeuros) Númerodefirmantes Inversiónenetiquetas(enmilesde€) RSA1024 ECDSA160 FirmaAgr.
4.6. ANÁLISIS ECONÓMICO 133 En la Fig. 4-14, se presenta el ahorro en miles de euros al año que supone el uso de la firma agregada frente a RSA o ECDSA. Fig. 4-14. Ahorro en etiquetas en miles de € anuales. 263€ 419€ 419€ 783€ 783€ 783€ 520€ €0 €0 €263 €263 €263 €263 €155 0€ 100€ 200€ 300€ 400€ 500€ 600€ 700€ 800€ 900€ 1234567 Ahorroenmilesde€ Númerodefirmantes Ahorroenetiquetas(enmilesde€) AhorroRSA AhorroECDSA
134 CAPÍTULO 4: DISEÑO, PROTOTIPO Y RESULTADOS
5. Conclusiones y Líneas Futuras de Investigación 5.1. Conclusiones ....................................................................................................... 136 5.2. Líneas futuras de investigación ........................................................................ 137
136 CAPÍTULO 5: CONCLUSIONES Y LÍNEAS FUTURAS DE INVESTIGACIÓN 5.1. Conclusiones Como conclusiones cabe destacar en primer lugar que se ha cumplido el objetivo principal de la tesis: el estudio y diseño de un sistema de identidad digital basada en atributos avalados por entidades confiables; siendo la autenticidad de la identidad fácilmente verificable a partir de las claves públicas de los emisores de opinión. Se ha realizado una prueba de concepto, dotando de garantía a un sistema de trazabilidad alimentaria basado en RFID. En este sistema cada pieza es identificada a través de una serie de medidas objetivas, introducidas como atributos en el sistema por un agente de control autorizado, y que se graban en una etiqueta RFID que acompaña al producto. Se ha desarrollado una alternativa a los sistemas de criptografía ligera embebidos en las etiquetas RFID, que puede ser utilizada con etiquetas de ultrabajo coste. Para trabajar con este tipo de etiquetas se ha recurrido al reducido tamaño de firma que proporciona el uso de criptografía de curvas elípticas y firmas agregadas, lo que ha permitido reducir considerablemente la cantidad de bits que se deben almacenar en la etiqueta RFID, respecto a otras soluciones criptográficas, para un mismo nivel de seguridad. Económicamente, dado que el sistema utiliza etiquetas RFID no securizadas y tamaños de firma relativamente pequeños, el ahorro en etiquetas es importante. Otra característica interesante es que una tercera parte no relacionada con el sistema, que posea un lector RFID y las claves públicas de los firmantes puede comprobar y verificar de forma sumamente sencilla la autenticidad de los datos. Esto, por supuesto, también incluye a todas las personas involucradas en la cadena de producción y distribución de los productos, lo que facilita la confianza entre diferentes empresas involucradas en un proceso de fabricación. El sistema es totalmente escalable, lo que permite su uso en un proceso de producción largo, en el que incluso intervengan diversas compañías, siempre que haya un ente, que puede ser creado ad-hoc para un proceso concreto, que se encargue de la gestión de las claves. También se ha desarrollado, un sistema de gestión automática de la confianza en los agentes de control, basado en la variación de su reputación a lo largo del tiempo, como consecuencia de la correcta o incorrecta realización de sus tareas.
5.2. LINEAS FUTURAS 137 Respecto a las limitaciones del sistema, son básicamente dos: La primera es que por el tema de costes se ha propuesto el uso de etiquetas estándar sin securizar, por lo tanto no se ha implementado ningún mecanismo adicional para evitar su clonación. La segunda limitación del prototipo es que aunque es escalable, se ha probado en un proceso real pero corto. De haber podido probarse en un proceso más largo se hubieran obtenido datos de mayor interés sobre el rendimiento del sistema. En definitiva, se ha conseguido un sistema de confianza exportable basado en una identidad de calidad, ya que se adapta a cualquier entorno de producción, y permite las relaciones de confianza entre empresas con un mínimo intercambio de datos, habiéndose comprobado su viabilidad en un prototipo. 5.2. Líneas futuras de investigación Como líneas futuras de investigación, se propone probar el sistema en otro tipo de cadenas de producción, para ver su rendimiento e intentar mejorarlo, ya que se cree que el sistema es aplicable a cualquier tipo de proceso de producción en el que haya puntos de control intermedio durante su fabricación. Además, y aunque el coste de la implantación del sistema no es muy elevado, se podría trabajar en el estudio de medidas para reducir los costes de implantación y explotación del sistema, para facilitar su uso en cadenas de producción de productos de menor valor añadido. Para facilitar la verificación de las piezas por parte del cliente final (el consumidor), y dado que en la actualidad los consumidores domésticos no suelen disponer de lectores RFID, en el último paso del proceso se podría incluir la identidad en un código QR, de manera que con ayuda de un portal web, se pudiera comprobar la autenticidad de la identidad. Esto supondría además un importante feedback, especialmente útil en la relación de confianza agente de control - empresa. En esta misma línea y con el mismo propósito de facilitar al cliente el acceso a la información, también podría incluirse en la última fase del proceso la información en una etiqueta NFC. La constante investigación en criptografía ligera y ultra-ligera lleva a pensar que quizás a corto o medio plazo se pudiera implementar una versión ligera de
138 CAPÍTULO 5: CONCLUSIONES Y LÍNEAS FUTURAS DE INVESTIGACIÓN este sistema en las propias etiquetas RFID, sin necesidad de realizar los cálculos en un sistema externo y asumiendo que éstas tendrían un coste que si bien no sería posible su utilización en productos de coste moderado, sí podrían utilizarse en productos de lujo como garantía de su proceso de producción especialmente cuidado y distintivo de su calidad.