El uso compartido proactivo de secretos es una técnica subyacente en los protocolos de seguridad proactiva. Es un método para actualizar las claves distribuidas ( recursos compartidos ) en un esquema de uso compartido secreto de forma periódica, de modo que un atacante tenga menos tiempo para comprometer los recursos compartidos y, siempre que el atacante visite menos de un umbral o un grupo de quórum, el sistema permanece seguro. Esto contrasta con un esquema no proactivo en el que si el número umbral de acciones se ve comprometido durante la vida útil del secreto, el secreto se ve comprometido. El modelo que tiene en cuenta las limitaciones de tiempo se sugirió originalmente como una extensión de la noción de tolerancia a fallas bizantina.donde la redundancia de compartir permite robustez en el dominio del tiempo (períodos) y fue propuesto por Rafail Ostrovsky y Moti Yung en 1991 en. [1] El método se ha utilizado en las áreas de protocolos criptográficos en computación segura multipartita y en criptosistemas de umbral .
Motivación
Si los jugadores (poseedores del secreto compartido) almacenan sus acciones en servidores informáticos inseguros, un atacante podría entrar y robar / aprender las acciones. Dado que a menudo no es práctico cambiar el secreto, las acciones no comprometidas (honestas) ( estilo Shamir ) deben actualizarse de manera que generen el mismo secreto, pero las acciones antiguas se invalidan. También existe la necesidad de recuperar recursos compartidos de servidores previamente dañados, y la comunidad de servidores honestos es necesaria para realizar la recuperación. Esto asegura la longevidad del uso compartido seguro y recuperable, o de los protocolos de computación seguros y correctos. Si uno necesita seguir compartiendo mientras se cambia la cantidad de servidores o el umbral, entonces el método proactivo con recuperación de recursos compartidos lo habilita, como lo demostraron originalmente Frankel y otros. [2] La capacidad de distribuir el secreto (palabra clave) y luego recuperar los recursos compartidos distribuidos como lo hace el método proactivo de compartir secretos, se reconoció como muy necesaria en los sistemas de almacenamiento alrededor de 2010 y, en reacción, los teóricos de la codificación cambiaron el nombre del método y lo refinaron aún más. , y formalizado es como "códigos de regeneración" y "códigos recuperables localmente".
Matemáticas
Esto sigue un poco el trabajo en. [3] Para actualizar las acciones, los distribuidores (es decir, las personas que reparten las acciones; y en un sistema distribuido son todos los participantes uno a la vez) generan un nuevo polinomio aleatorio con término constante cero y calcula para cada jugador restante un nuevo par ordenado, donde las coordenadas x de los pares antiguo y nuevo son iguales. Luego, cada jugador agrega las coordenadas y antiguas y nuevas entre sí y mantiene el resultado como la nueva coordenada y del secreto.
- El comerciante construye un polinomio aleatorio sobre un campo de grado dónde es el umbral
- Cada jugador recibe la parte dónde , es el número de jugadores, y es la parte del jugador en el intervalo de tiempo
- El secreto se puede reconstruir mediante la interpolación de Comparte
- Para actualizar las acciones, todas las partes deben construir un polinomio aleatorio de la forma
- Cada jugador envía a todos los demás jugadores
- Cada jugador actualiza su parte por dónde es el intervalo de tiempo en el que las acciones son válidas
Todos los recursos compartidos no actualizados que acumuló el atacante se vuelven inútiles. Un atacante solo puede recuperar el secreto si puede encontrar suficientes recursos compartidos no actualizados para alcanzar el umbral. Esta situación no debería suceder porque los jugadores eliminaron sus acciones anteriores. Además, un atacante no puede recuperar ninguna información sobre el secreto original del proceso de actualización porque solo contiene información aleatoria.
El crupier puede cambiar el número de umbral mientras distribuye actualizaciones, pero siempre debe estar atento a que los jugadores mantengan acciones vencidas como en. [4] Sin embargo, esta es una vista algo limitada ya que los métodos originales le dan a la comunidad del servidor la capacidad de ser la re repartidor de reparto y regenerador de acciones perdidas.
Ejemplo
El siguiente ejemplo tiene 2 acciones y un umbral de 2 con 2 jugadores y 1 crupier. Dado que las acciones y los polinomios solo son válidos durante un período de tiempo determinado, el período de tiempo en el que son válidos se indica con un superíndice.
- Todas las partes acuerdan un campo finito:
- El comerciante establece un secreto:
- El comerciante construye un polinomio aleatorio sobre de grado 2 - 1 (umbral de 2)
- Nota
- El jugador 1 se comparte y el jugador 2 se comparte
- Para reconstruir el secreto, use y
- Desde es una línea, podemos usar la forma de pendiente puntual para interpolar
- Para actualizar las participaciones, todas las partes deben construir polinomios aleatorios de grado 1 de manera que el coeficiente libre sea cero.
- Construcciones del jugador 1
- Construcciones del jugador 2
- Cada jugador evalúa su polinomio y comparte información con otros jugadores.
- El jugador 1 calcula y en
- El jugador 1 envía al jugador 2
- El jugador 2 calcula y en
- El jugador 2 envía al jugador 1
- Cada jugador actualiza su parte por
- El jugador 1 calcula
- El jugador 2 calcula
- Confirmar que los recursos compartidos actualizados generan el mismo secreto original
- Usar y para reconstruir el polinomio
- Desde es una línea, podemos usar la pendiente del punto
Ver también
Referencias
- ^ Rafail Ostrovsky, Moti Yung: Cómo resistir los ataques de virus móviles (Resumen extendido). PODC 1991: 51-59 [1]
- ^ Yair Frankel, Peter Gemmell, Philip D. MacKenzie, Moti Yung: Criptosistemas de clave pública proactivos de resiliencia óptima. FOCS 1997: 384-393 [2]
- ^ Herzberg, Amir; Jarecki, Stanislaw; Hugo, Krawczyk; Yung, Moti (1995). Intercambio de secretos proactivo o: Cómo hacer frente a la fuga perpetua . CRYPTO '95: Actas de la 15ª Conferencia Anual Internacional de Criptología sobre Avances en Criptología . Londres, Reino Unido: Springer-Verlag. págs. 339–352. ISBN 978-3-540-60221-7. Consultado el 14 de junio de 2010 .
- ^ Yevdokimov, Aleksey (2009). "Sistema dinámico de seguridad proactiva". 2009 Congreso Internacional de Aplicación de las Tecnologías de la Información y las Comunicaciones . Aplicación de las tecnologías de la información y la comunicación, 2009. AICT 2009 . Bakú, Azerbaiyán: IEEE. págs. 1–4. doi : 10.1109 / ICAICT.2009.5372541 . ISBN 978-1-4244-4739-8.