BABYLON60EN
Menú

Blog / BABYLON-60

Una firma válida puede ser una autorización repetida

El nonce, el contenido firmado y el estado de consumo cumplen funciones diferentes al impedir la repetición de una operación.

Autenticidad y novedad son preguntas distintas

Una firma que verifica puede pertenecer a una solicitud ya atendida. El verificador necesita distinguir esa repetición de una autorización nueva. Un nonce identifica una instancia del protocolo; incluirlo entre los datos firmados permite detectar su reutilización cuando se conserva el estado necesario. RFC 9421 describe este principio para firmas HTTP. Es una referencia de diseño, no una afirmación de que BABYLON implemente ese protocolo ni de que cualquier valor aleatorio resuelva el problema.

Vincular y consumir antes del efecto

El nonce debe quedar ligado a la operación, el recurso y las condiciones relevantes. Firmar solo un identificador permite conservar la firma mientras cambia la acción que pretende autorizar. También hay que coordinar las solicitudes simultáneas: dos comprobaciones separadas de existencia pueden aceptar el mismo valor antes de que ninguna lo marque como consumido. Una reserva o transición atómica necesita una regla de unicidad comprobable, y la política debe definir qué ocurre ante expiración y recuperación.

Un corte deja una pregunta sobre el resultado

Si el proceso cae después de producir un efecto y antes de guardar su resultado, reintentar puede duplicarlo. El protocolo necesita representar ese resultado desconocido y reconciliarlo con el recurso observado. Persistir una reserva exige además definir las garantías de almacenamiento y sincronización. SQLite documenta diferencias según su configuración y el entorno. Una prueba con muerte de proceso no demuestra por sí sola resistencia a un corte de alimentación; esa conclusión requiere otro ensayo y sus hipótesis.

Fuentes