- Viernes, 05 Febrero 2010
En el presente artículo se identifican y describen diversos esquemas de compartición de secretos. Su campo de aplicación está en aumento y cubre numerosas parcelas tecnológicas, desde la seguridad de la información en general al ámbito de negocios, control industrial estilo SCADA, al área de los sistemas de transporte inteligente, entornos de inteligencia ambiental, comunicaciones ad-hoc e inalámbricas, redes de sensores, redes vehiculares, sistemas de electrónica embebida, IoT, etc.
Actualmente se percibe un crecimiento significativo en torno a la utilización e investigación sobre mecanismos de compartición de secretos. Se trata de poder recuperar (siempre que se reúna al menos un número mínimo o umbral de entidades) un cierto secreto (clave, fichero, datos, código, etc.) dentro de un colectivo de entes (personas, máquinas, computadores, animales, vehículos, etc.) tras haber distribuido a cada ente autorizado un fragmento de dicho secreto. Por ejemplo, para poder acceder a un cierto recurso o para encender algún dispositivo o para poder disparar un artefacto nuclear, por ejemplo un misil balístico intercontinental es necesario la presencia de un número mínimo de entidades autorizadas pre-establecido.
Tipificación de esquemas de compartición umbral de secretos. Identificación de fases
Un esquema de compartición de secretos umbral (t, N) puede definirse como un método de compartir un secreto S entre un conjunto de N participantes de modo que cualquier grupo de t de ellos puede determinar el secreto S, pero ningún colectivo de (t – 1) o menos lo puede hacer. Así mismo ningún conjunto de (t – 1) participantes pueda aprender nada información acerca del secreto S. Un esquema de compartición de secretos consta de dos fases: (1) Fase de compartición. En un mecanismo de compartición umbral de secretos (4, 4) una entidad de distribución D posee inicialmente un secreto S y desea establecer un colectivo de cuatro participantes autorizados P1, P2, P3, P4 para que compartan S, de modo que ninguno sepa dicho secreto. El objetivo de la fase de compartición es fragmentar S y dar suficiente información a cada Pi (un fragmento de S) para que juntándose los cuatro participantes puedan determinar S, pero ninguno tenga suficiente información para determinar el secreto S. (2) Fase de reconstrucción. Se trata de que juntando cuatro participantes puedan determinar el secreto S. No lo podrán hacer si son tres, dos o uno.
Un código de lanzamiento de un arma nuclear puede ser un esquema de compartición umbral de secretos (2,3), de modo que cualquiera de las dos entidades del colectivo de tres entidades son suficientes para disparar el artefacto nuclear, las tres posibles entidades pueden ser el presidente de la nación, el ministro de defensa y el ministro de asuntos exteriores. ¿Es prudente aumentar el número de posibles personas que pueden juntarse para poder disparar un arma nuclear? ¿O quizás es más juicioso aumentar el número de personas que se deben reunir para poder disparar dicha arma?
Clipper-chip y custodia de claves. Mecanismos de compartición umbral
de secretos (2, 2) y (n, n)
Todo partió del hecho de que el gobierno USA estaba convencido de que las herramientas criptográficas eran vitales para el de-sarrollo de negocios en la era electrónica pero al mismo tiempo deseaba no querer dar a las empresas o individuos la capacidad de eludir sus mecanismos de vigilancia de las comunicaciones cifradas, por esta razón creó el clipper-Chip. La primera propuesta sostenía que el gobierno suministraría a los fabricantes de dispositivos electrónicos con capacidad de cifrado (teléfonos, computadores, máquinas de comunicación, etc.) los clipper-chips que permitirían cifrar los mensajes de los dispositivos. El gobierno guardaría una copia de cada clave secreta del clipper-chip de modo que cuando lo aconsejase pudiese descifrar sin problemas los mensajes por razones de seguridad nacional y/o cumplimiento con las leyes. Esta primera propuesta no gustó y desató muchas protestas en contra, para hacer frente las críticas de quienes creían que esto haría demasiado fácil para el gobierno que espiara fuera de la ley a los individuos y empresas, el gobierno propuso dividir cada clave en dos partes y establecía dos Agencias Nacionales para custodiar cada fragmento. De este modo si el FBI, CIA, DoD, DEA, NSA, etc. por alguna razón necesitase obtener una clave de clipper- chip debería presentar una orden judicial a ambas Agencias de custodia.
La propuesta de clipper del gobierno USA para key escrow (custodia de claves) fue un esquema de compartición de secreto (2, 2). La forma de implantar esto fue la siguiente, la clave K del clipper- chip era una cadena de 64 bits se dividía en dos cadenas de 32 bits K1 y K2 de forma que K = (K1 xor K2). K1 y K2 se almacenaban en agencias de custodia separadas. Suponga-mos que K = 0110, se elige de forma aleatoria K1 = 1010 y se calcula K2 = K xor K1 = 1100, entonces K = (K1 xor K2) = 0110. Este esquema satisface los requisitos de un esquema de compartición de secretos um-bral de modo que cualquiera de las agencias sin la otra no podría reconstruir K, pero combinando K1 y K2 puede obtener K.
Examinemos otro esquema de compartición de secretos (2, 2), en este caso defectuoso. Supongamos que contamos con una clave secreta de diez bits: K = 0010101011 y dividimos en dos cadenas de cinco bits que son cada una de las dos mitades K1 = 00101 y K2 = 01011 y las distribuimos a cada participante P1 y P2. Cada participante conoce la mitad de la cadena secreta K. Esto viola la definición de un esquema de compartición de secretos umbral (t, N) que afirma que (t – 1) participante no deben aprender información alguna sobre el secreto a compartir K. Aquí cada participante dispone de dos elevado a la K partido por dos posibilidades menos a la hora de hacer intentos para encontrar la clave secreta por fuerza bruta. Otro ejemplo de dicho mecanismo defectuoso puede ser el siguiente: para compartir K = 0110 en dos partes, supongamos que tomamos dos cadenas que corresponden a los dos primeros bits y a los dos últimos de K, es decir K1 = 01 y K2 = 10, este esquema es defectuoso ya que fuga información de K y hace que sea mucho más fácil un ataque por fuerza bruta.
Consideremos otro mecanismo de compartición de secretos (n, n), en este caso no defectuoso. Dado un secreto S a compartir, se eligen de forma aleatoria (n – 1) fragmentos del secreto S y los representamos como: S1, . . . , Sn-1, el fragmento n-ésimo se calcula como la resta entre el secreto S y la suma de todos los n – 1 fragmentos:
Mecanismo de compartición de Shamir (3, 8)
Sea un secreto S = 190503180520 y sea el módulo de la aritmética modular finita p = 1234567890113. Se construye un polinomio de grado t – 1 = 3 – 1 = 2 con coeficientes de x aleatorios y término independiente sea el secreto S, el resultado es: f (x) = (S + a1.x + a2.x2) mod p = (190503180520 + 482943028839.x + 1206749628665. x2) mod p. Ocho posibles puntos a utilizar como fragmentos del secreto S son: {(1, 645627947891), (2,1045116192326), (3, 154400023692), (4, 442615222255), (5, 675193897882), (6, 852136050573), (7, 973441680328), (8, 1039110787147)}.
Esquemas de compartición umbral de secretos (t, N) verificables
Los esquemas de compartición umbral de secretos verificables cumplen las dos propiedades: (1) La reconstrucción del secreto S no depende de que t partes realicen la reconstrucción, esto previene que los participantes hagan trampas. Un comportamiento fraudulento de los participantes o portadores de los fragmentos del secreto debería proporcionar su propio S diferente del S que fue distribuido, de modo que para el caso del esquema (2, 3) puede que dos partes sean honestas que distribuyan fragmentos reales y puede que un portador deshonesto contribuya con un fragmento incorrecto. Existen tres posibles reconstrucciones de S dependiendo de que par de participantes colaboró (violando la definición). (2) Si el distribuidor D de fragmentos del secreto S es honesto, entonces el secreto recuperado debe ser exactamente idéntico al secreto compartido.
Seleccionemos p un número primo elevado y q un número primo grande, de modo que q dividido entre p menos uno (q / (p – 1)) es un factor primo grande. Elegimos g tal que el orden de g sea q (ord(g) = q), esto significa que las potencias primera, segunda, tercera, hasta q-ésima de g módulo p son siempre distintas (g, g2mod p, . . . , gqmod p). En un esquema de compartición de secreto verificable (2, 3) elegimos S entre 0 y (p – 1), seleccionamos de forma aleatoria A entre 0 y (p – 1), entonces f(x) = (A.x + S) mod q, obteniendo S1= f(1) = (A + S) mod q , S2= f(2) = (2.A + S) mod q , S3= f(3) = (3.A + S) mod q , además el distribuidor D distribuye a algún tablón de anuncios público tres valores: (Z1= gS1 mod p , Z2= gS2 mod p , Z3= gS3 mod p). Este mecanismo guarda similitud con un cierto tipo de esquema de compromiso por parte de la entidad D de que los fragmentos dados a los participantes pertenecen al mismo secreto S. Los participantes desean asegurarse que el distribuidor D no haga trampas y que Z1, Z2 y Z3 ayudarán a que todos los fragmentos de secreto pertenezcan al mismo secreto S. Estos valores Z1, Z2 y Z3 también ayudarán a que los participantes no hagan trampas revelando fragmentos que no fueron entregados por D. El procedimiento para que cada parte acepte o rechace sus fragmentos de claves es: (1) Para todo i perteneciente al conjunto {1, 2, 3} P verifica si Zi= gS1 mod p además Z1 . Z3 = (Z2)2 mod p y acepta o rechaza. Si existen más de dos quejas de los tres participantes, entonces el distribuidos D hizo trampas. Si sólo existe una queja significa que el distribuidor D hizo un poco de trampa pero no suficiente para hacer irreconocible el secreto o bien que uno de los participantes se queja falsamente. Para la fase de reconstrucción se rechaza cualquier Si que no cumpla con Zi (gS1 mod p = Zi). Luego se interpola cualquier par de fragmentos que no fueron rechazados utilizando la reconstrucción simple. Si ocurrió sólo una queja existen suficientes puntos para poder reconstruir S. (2) La segunda comprobación es verificar la linealidad. Si tres puntos están en la misma línea la reconstrucción tuvo éxito. Cuando D es honesto, es preciso asegurarse que estos tres valores publicados sean consistentes con tres puntos co-lineales. Por ejemplo si: Z1 . Z3 = (Zi)2 mod p, significa que: (gS1 mod p). (gS3 mod p) = (gS2 mod p)2 es decir gS1+S3mod p = g2.S2es decir S1 + S3 = 2.S2 mod q es decir: (1, S1), (2, S2) y (3, S3) son co-lineales módulo q, que es la condición de linealidad.
Consideraciones finales
Nuestro grupo de investigación lleva trabajado bastantes años en el campo de los mecanismos-esquemas de compartición de secretos y su combinación con otros mecanismos como los esquemas de compromiso. Su campo de aplicaciones es inconcebiblemente muy grande y actualmente en fuerte expansión.
Este artículo se enmarca en las actividades desarrolladas dentro del proyecto LEFIS-APTICE (financiado por Socrates. European Commission).
Bibliografía
- Areitio, J. “Seguridad de la Información: Redes, Informática y Sistemas de Información”. Cengage Learning-Paraninfo. 2009.
- Areitio, J. “Análisis en torno al spam”. Revista Conectrónica. Nº 104. Febrero 2007.
- Areitio, J. “Análisis en torno a las tecnologías para el encubrimiento de información”. Revista Conectrónica. Nº 109. Julio-Agosto 2007.
- Areitio, J. “Análisis en torno a la seguridad forense, técnicas antiforenses, respuesta a incidentes y gestión de evidencias digitales”. Revista Conectrónica. Nº 125. Marzo 2009.
- Senior, A. “Protecting Privacy in Video Surveillance”. Springer. 2009.
- Gutwirth, S., Poullet, Y., De Hert, P., Terwangne, C. and Nouwt, S. “Reinventing Data Protection”. Springer. 2009.
- Ferguson, N. et al. “Cryptography Engineering: Design Principles and Practical Applications”. Wiley. 2010.
- Flegel, U. “Privacy Respecting Intrusion Detection”. Springer. 2007.
Autor:
Prof. Dr. Javier Areitio Bertolín – E.Mail: Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.
Catedrático de la Facultad de Ingeniería. ESIDE.
Director del Grupo de Investigación Redes y Sistemas. Universidad de Deusto .
Cursos Técnicos y Seminarios
Fibra GPON asimétrica. Solución Plug&Play para edificios
Keynet Systems organiza esta charla técnica en la que se tratará de cómo se diseña e instala una ...
Proyecto europeo “Ingenieros del Futuro” con formaciones online gratuitas para jóvenes y docentes ...
El Clúster GAIA ha participado en el proyecto europeo "Engineers of the Future”, cofinanciado por ...
Curso básico de Radiocomunicaciones gratuito
Este curso realizado por el Dr. Francisco Ramos Pascual abordará todos aquellos aspectos ...
Libro electrónico sobre conectividad inalámbrica
Mouser Electronics, Inc presenta un nuevo libro electrónico en colaboración con STMicroelectronics ...
Centro de recursos técnicos sobre retos de la ciberseguridad
En el mundo interconectado de hoy en día, la necesidad de integrar la seguridad en el nivel ...
Suscríbase a la revista CONECtrónica
Precio suscripción anual:
PDF: 60,00.- € (IVA incluido.)
PAPEL: 180,00.- € (IVA incluido.)
Recibirá las 7 ediciones que se publican al año.