¿Cómo puede obligar a una parte a ser honesta (obedecer las reglas del protocolo)?
He visto algunos mecanismos como compromisos, pruebas, etc., pero simplemente no parecen resolver todo el problema. Me parece que la estructura del diseño del protocolo y tales mecanismos deben hacer el trabajo. ¿Alguien tiene una buena clasificación de eso?
Editar
Al diseñar protocolos seguros, si obliga a una parte a ser honesta, el diseño sería mucho más fácil, aunque esta aplicación tiene su propia recompensa. Al diseñar protocolos seguros, he visto que los diseñadores asumen algo que no me parece realista, por ejemplo, asumir que todas las partes son honestas en el peor de los casos o que asumen la honestidad del servidor que mantiene los datos del usuario. Pero cuando se observa el diseño de protocolos en modelos más estrictos, rara vez se ven tales suposiciones (al menos no lo he visto, principalmente estudio protocolos sobreMarco UC de Canetti, que creo que aún no está totalmente formalizado). Me preguntaba, ¿hay alguna buena clasificación de las formas en que puede obligar a una parte a ser honesta o hay algún compilador que pueda convertir el protocolo de entrada en uno con partes honestas?
Ahora voy a explicar por qué creo que esto simplemente no hace el trabajo aunque parezca irrelevante. Al diseñar protocolos en el marco de UC, que se beneficia del paradigma ideal / real, cada enlace de comunicación en el modelo ideal se autentica, lo que no es cierto en el modelo real. Por lo tanto, los diseñadores de protocolos buscan métodos alternativos para implementar este canal a través de la suposición de PKI o un CRS (Common Reference String). Pero al diseñar protocolos de autenticación, asumir que los canales autenticados es incorrecto. Supongamos que estamos diseñando un protocolo de autenticación en el marco de UC, hay un ataque en el que el adversario falsifica la identidad de una parte, pero debido a la suposición de enlaces autenticados en el modelo ideal, ¡este ataque no se supone en este marco! Puede referirse aModelado de ataques internos en protocolos de intercambio de claves grupales . Puede notar que Canetti en su trabajo seminal Las nociones universalmente componibles de intercambio de claves y canales seguros mencionan una noción previa de seguridad llamada SK-Security, que es simplemente suficiente para garantizar la seguridad de los protocolos de autenticación. De alguna manera confiesa (al afirmar que esto es cuestión de tecnicismo) que la definición de UC en este contexto es demasiado restrictiva y proporciona una variante relajada llamada oráculo de no información (que me confundió, porque no he visto este modelo de seguridad en ningún lado , No puedo hacer coincidir este patrón de seguridad con ningún otro patrón de seguridad, probablemente mi falta de conocimiento: D).
[Como nota al margen, casi puede hacer que cualquier protocolo Sk-secure se convierta en un protocolo UC seguro independientemente del tiempo del simulador. Por ejemplo, puede eliminar las firmas de los mensajes y hacer que el simulador simule todas las interacciones de manera ficticia. ¡Vea Intercambio de claves de grupo contributivo universalmente compostable para la prueba! Ahora supongamos que este es un protocolo de intercambio de claves grupales con muchas partes polinomiales, ¿cuál sería la eficiencia del simulador? Este es el origen de mi otra pregunta en este foro .]
De todos modos, debido a la falta de compromiso en el modelo simple (sobre UC), busqué otros medios para asegurar el protocolo simplemente evitando la necesidad de esa relajación. Esta idea es muy básica en mi mente y me viene a la mente al haber estudiado el último esquema de compromiso de canetti en el modelo simple: dureza adaptativa y seguridad composable en el modelo simple a partir de suposiciones estándar .
Por cierto, no busco pruebas de conocimiento cero porque debido a una razón que no sé, cada vez que alguien ha utilizado uno de ellos en un protocolo concurrente (sobre el marco de UC), los otros han mencionado el protocolo como ineficiente (puede ser debido al rebobinado del simulador).