. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Promoviendo la Aleatoriedad Pública Como un Bien Público (Promoting public randomness as a public good) ∗ Luís Brandão y René Peralta Cryptographic Technology Group National Institute of Standards and Technology (Gaithersburg, Maryland, USA) Presentación en Instituto Milenio — Fundamentos de los Datos 4 de Octubre, 2019 @ Santiago, Chile ∗ Presented in Spanish (Castellano) per preference of the host. English version is available upon request. Some slides are based on previous presentations (ACS’19, ICMC’19). Minor corrections on October 14, 2019. 1/30
86
Embed
Promoviendo la Aleatoriedad Pública Como un Bien Público · Promoviendo la Aleatoriedad Pública Como un Bien Público (Promoting public randomness as a public good)∗ LuísBrandãoyRenéPeralta
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)lowast
Luiacutes Brandatildeo y Reneacute Peralta
Cryptographic Technology GroupNational Institute of Standards and Technology
(Gaithersburg Maryland USA)
Presentacioacuten enInstituto Milenio mdash Fundamentos de los Datos
4 de Octubre 2019 Santiago Chile
lowast Presented in Spanish (Castellano) per preference of the host English version is available upon requestSome slides are based on previous presentations (ACSrsquo19 ICMCrsquo19) Minor corrections on October 14 2019
130
Anuncio de charla
Pauta
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
230
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
330
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Algunos datos de NISTInstituto Nacional de Normalizacioacuten y Tecnologiacutea (NIST)(National Bureau of Standards 1901ndash1988 rarr NIST 1988ndashpresent)
I Misioacuten (palabras clave) innovacioacuten competitividad industrial ciencianormas y tecnologiacutea de medicioacuten seguridad econoacutemica calidad de vida
Amplia gama de competenciasndash Personal de sim 6ndash7 times 103
ndash Cinco laboratorios y dos centrosndash Laboratorios rarr Divisiones rarr Grupos rarr Proyectosndash Normas investigacioacuten y aplicaciones
Foto aeacuterea del campus en Gaithersburg (fuente Google Maps Agosto 2019)
430
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Algunos datos de NISTInstituto Nacional de Normalizacioacuten y Tecnologiacutea (NIST)(National Bureau of Standards 1901ndash1988 rarr NIST 1988ndashpresent)
I Misioacuten (palabras clave) innovacioacuten competitividad industrial ciencianormas y tecnologiacutea de medicioacuten seguridad econoacutemica calidad de vida
Amplia gama de competenciasndash Personal de sim 6ndash7 times 103
ndash Cinco laboratorios y dos centrosndash Laboratorios rarr Divisiones rarr Grupos rarr Proyectosndash Normas investigacioacuten y aplicaciones
Foto aeacuterea del campus en Gaithersburg (fuente Google Maps Agosto 2019)
430
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Laboratorios divisiones grupos
Laboratorio de Tecnologiacuteas de la Informacioacuten (ITL)Investigacioacuten y desarrollo en metrologiacutea estaacutendares y tecnologiacuteaen las aacutereas de informaacutetica matemaacuteticas y estadiacutestica
rarr Divisioacuten de Seguridad Computacional (CSD) Tecnologiacuteas Cripto-graacuteficas Sistemas Seguros y Aplicaciones Componentes Seguros y Meca-nismos Ingenieriacutea de Seguridad y Gestioacuten de Riesgos Pruebas Validacioacuteny Metrologiacutea de Seguridad
rarr Grupo de Tecnologiacuteas Criptograacuteficas (CTG) investigacioacuten ydesarrollo pautas recomendaciones buenas praacutecticas en algoritmosmeacutetodos y protocolos criptograacuteficos
I Documentos FIPS SP 800 NISTIRI Cooperacioacuten internacional gobierno industria mundo acadeacutemico
organismos de normalizacioacuten
FIPS = Federal Information Processing Standards SP 800 = Special Publications in Computer Security NISTIR = NIST Internal or Interagency Report
530
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Laboratorios divisiones grupos
Laboratorio de Tecnologiacuteas de la Informacioacuten (ITL)Investigacioacuten y desarrollo en metrologiacutea estaacutendares y tecnologiacuteaen las aacutereas de informaacutetica matemaacuteticas y estadiacutestica
rarr Divisioacuten de Seguridad Computacional (CSD) Tecnologiacuteas Cripto-graacuteficas Sistemas Seguros y Aplicaciones Componentes Seguros y Meca-nismos Ingenieriacutea de Seguridad y Gestioacuten de Riesgos Pruebas Validacioacuteny Metrologiacutea de Seguridad
rarr Grupo de Tecnologiacuteas Criptograacuteficas (CTG) investigacioacuten ydesarrollo pautas recomendaciones buenas praacutecticas en algoritmosmeacutetodos y protocolos criptograacuteficos
I Documentos FIPS SP 800 NISTIRI Cooperacioacuten internacional gobierno industria mundo acadeacutemico
organismos de normalizacioacuten
FIPS = Federal Information Processing Standards SP 800 = Special Publications in Computer Security NISTIR = NIST Internal or Interagency Report
530
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Laboratorios divisiones grupos
Laboratorio de Tecnologiacuteas de la Informacioacuten (ITL)Investigacioacuten y desarrollo en metrologiacutea estaacutendares y tecnologiacuteaen las aacutereas de informaacutetica matemaacuteticas y estadiacutestica
rarr Divisioacuten de Seguridad Computacional (CSD) Tecnologiacuteas Cripto-graacuteficas Sistemas Seguros y Aplicaciones Componentes Seguros y Meca-nismos Ingenieriacutea de Seguridad y Gestioacuten de Riesgos Pruebas Validacioacuteny Metrologiacutea de Seguridad
rarr Grupo de Tecnologiacuteas Criptograacuteficas (CTG) investigacioacuten ydesarrollo pautas recomendaciones buenas praacutecticas en algoritmosmeacutetodos y protocolos criptograacuteficos
I Documentos FIPS SP 800 NISTIRI Cooperacioacuten internacional gobierno industria mundo acadeacutemico
organismos de normalizacioacuten
FIPS = Federal Information Processing Standards SP 800 = Special Publications in Computer Security NISTIR = NIST Internal or Interagency Report
530
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Laboratorios divisiones grupos
Laboratorio de Tecnologiacuteas de la Informacioacuten (ITL)Investigacioacuten y desarrollo en metrologiacutea estaacutendares y tecnologiacuteaen las aacutereas de informaacutetica matemaacuteticas y estadiacutestica
rarr Divisioacuten de Seguridad Computacional (CSD) Tecnologiacuteas Cripto-graacuteficas Sistemas Seguros y Aplicaciones Componentes Seguros y Meca-nismos Ingenieriacutea de Seguridad y Gestioacuten de Riesgos Pruebas Validacioacuteny Metrologiacutea de Seguridad
rarr Grupo de Tecnologiacuteas Criptograacuteficas (CTG) investigacioacuten ydesarrollo pautas recomendaciones buenas praacutecticas en algoritmosmeacutetodos y protocolos criptograacuteficos
I Documentos FIPS SP 800 NISTIRI Cooperacioacuten internacional gobierno industria mundo acadeacutemico
organismos de normalizacioacutenFIPS = Federal Information Processing Standards SP 800 = Special Publications in Computer Security NISTIR = NIST Internal or Interagency Report
530
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
El Grupo de Criptografiacutea en NISTNational Institute of
Standards and Technology
AdvancedNetwork
Technologies
CommunicationsTechnology
EngineeringInformationTechnology
MaterialMeasurement
PhysicalMeasurement
Applied andComputationalMathematics
ComputerSecurity
AppliedCybersecurity
InformationAccess
Software andSystems
StatisticalEngineering
CryptographicTechnology
Secure Systemsand Applications
Security TestingValidation andMeasurement
Security Componentsand Mechanisms
Security Engineeringand
Risk Management
Post-Quantum
Cryptography
InteroperableRandomnessBeacons
Lightweight
Cryptography
Privacy-Enhancing
CryptographyDigital
SignaturesCircuit
Complexity
Random
BitGeneration
ThresholdCryptography
Labo
ratorio
sDivis
iones
Grup
osProyectosamp
prog
ramas
lowast
(sim6ndash7times103)
(sim7ndash8times102)
(sim1ndash2times102)
(sim3times10)
Neutron Research
Nanoscale Science and Technology Centros
lowast (Algunos proyectosprogramas involucran a varios grupos divisiones o labs) (entre pareacutentesis aproximado de empleados federales y associados)630
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Bien Puacuteblico
I [Wikipedia] rdquoUn bien que estaacute disponible a todos y del cual el uso poruna persona no substrae del uso por otrordquo
Aleatoriedad
I [Wikipedia] rdquoLa aleatoriedad se asocia a todo proceso cuyo resultado noes previsible maacutes que en razoacuten de la intervencioacuten del azarrdquo
I La cualidad de ser impredecible
730
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Bien PuacuteblicoI [Wikipedia] rdquoUn bien que estaacute disponible a todos y del cual el uso por
una persona no substrae del uso por otrordquo
Aleatoriedad
I [Wikipedia] rdquoLa aleatoriedad se asocia a todo proceso cuyo resultado noes previsible maacutes que en razoacuten de la intervencioacuten del azarrdquo
I La cualidad de ser impredecible
730
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Bien PuacuteblicoI [Wikipedia] rdquoUn bien que estaacute disponible a todos y del cual el uso por
una persona no substrae del uso por otrordquo
AleatoriedadI [Wikipedia] rdquoLa aleatoriedad se asocia a todo proceso cuyo resultado no
es previsible maacutes que en razoacuten de la intervencioacuten del azarrdquoI La cualidad de ser impredecible
730
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedad
I Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generados
I Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digital
I Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblico
I La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Una aplicacioacuten en Chile
I La Contraloriacutea General de la Repuacuteblica selecciona al azar a funcionariospuacuteblicos para auditoriacuteas financieras
I Es natural que una persona seleccionada cuestione como fueacute la seleccioacuten
I Junto con la Univ de Chile se ha desarrollado una aplicacioacuten quepermitiraacute hacer la seleccioacuten utilizando aleatoriedad puacuteblica
I En etapa de prueba en Contraloriacuteahttpsrandomuchileclprojectscontraloria
930
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
2 Faros de aleatoriedad mdash Formato
Pauta 2
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1130
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Arquitectura del servicio Beacon
HSM
Reloj
RNGFaroApp
RNG3
Motor del Faro
Servidorde
tiempo
BD(interfazweb)
Web(usuarios)
Cf
Leyenda- App aplicacioacuten (software)- BD base de datos- Cf cortafuegos- HSM moacutedulo de seguridad de hardware- RNG generador de nuacutemeros aleatorios
consultas
Firma
Pulso
Entropiacuteaexterna
RNG
respuestas
Pero iquestqueacute es exactamente un pulso iquestde donde proviene su aleatoriedad
1330
2 Faros de aleatoriedad mdash Formato
Arquitectura del servicio Beacon
HSM
Reloj
RNGFaroApp
RNG3
Motor del Faro
Servidorde
tiempo
BD(interfazweb)
Web(usuarios)
Cf
Leyenda- App aplicacioacuten (software)- BD base de datos- Cf cortafuegos- HSM moacutedulo de seguridad de hardware- RNG generador de nuacutemeros aleatorios
consultas
Firma
Pulso
Entropiacuteaexterna
RNG
respuestas
Pero iquestqueacute es exactamente un pulso iquestde donde proviene su aleatoriedad
1330
2 Faros de aleatoriedad mdash Formato
Algunos conceptos uacutetiles para esta charla
I Hash
mdash como una huella dactilar de datos (secuencia rdquouacutenicardquo de 512 bits)mdash parece aleatorio si se desconocen sus datos de origen
I Compromiso (Commitment)
mdash como una boacuteveda que oculta datos hasta que se abremdash una vez cerrado no se puede cambiar lo que hay dentro
I Firma [digital] (Signature)
mdash como una firma fiacutesica pero no se puede falsificarmdash la firma copiada no es vaacutelida para otro documento
1430
2 Faros de aleatoriedad mdash Formato
Algunos conceptos uacutetiles para esta charla
I Hashmdash como una huella dactilar de datos (secuencia rdquouacutenicardquo de 512 bits)mdash parece aleatorio si se desconocen sus datos de origen
I Compromiso (Commitment)mdash como una boacuteveda que oculta datos hasta que se abremdash una vez cerrado no se puede cambiar lo que hay dentro
I Firma [digital] (Signature)mdash como una firma fiacutesica pero no se puede falsificarmdash la firma copiada no es vaacutelida para otro documento
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido randOut encadenado
1530
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
3 Faros de aleatoriedad mdash Operaciones
Pauta 3
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1730
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten
1 Sin liberacioacuten avanzada de pulso (δ ge 0)
2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)4 Sin liberacioacuten retrasada (δ pequentildeo) rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo1930
3 Faros de aleatoriedad mdash Operaciones
Un posible diagrama de generacioacuten de pulso
HSM
Leyenda ndash BD base de datos ndash ∥ concatenacioacutenndash liberado no antes de la marca de tiempondash HSM moacutedulo de seguridad de hardwarendash NTP protocolo de red de tiempondash RNG generador de nuacutemeros aleatoriosndash UTC Tiempo Universal Coordinado
DB
NTP
MDi algunos metadatos (uri version cipher period certId chainId)
Pasti = (Riminus1 RH[iminus1] RD[iminus1] RM [iminus1] RY [iminus1]) previous (i minus 1)and 1st of hour (H) day (D) month (M) and year (Y ) of previous
Mi = MDi∥i∥Ti∥ri∥Ei∥Pasti∥Ci∥zi
Servidorde tiempo(remoto)
Reloj(on chip)
Hashdel valorexterno
Ri
Ri
i iacutendice de pulso (entero incrementado en 1 por cada pulso liberado)
Ti marca de tiempo (UTC precisioacuten ms eg ldquo2018-07-23T192600000Zrdquo)
ri randLocal (512 bits)Ei external (srcId status value) (todos ceros cuando no estaacuten disponibles)
Ci preCom (512 bits)zi status (32 bits)
Pi (pulso)pulsify
Pi =Mi∥Ri∥Si
RNG 2
(randLocaldel pulsosiguiente)
ρi2 (512 bits)
ρi1∥ρi2
[∥ρi3]
RNG 3(quantum)
Cachelocal
ri+1
ρi1
(512bits)
HashHashRNG 1(on chip)
ρi3
(512bits)
HashHashri+1
HashHash
HashHash
Ri randOut
Hi
Mi
Si firma
Moacutedulode firmalowast
Mi
Si
Si
Mi∥Si
Para simplificar el diagrama omite los detalles de serializacioacuten (por ejemplo longitudes de campo y relleno) y algunos campos de metadatos
2030
4 Faros de aleatoriedad mdash Uso
Pauta 4
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2130
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]
I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado
publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
Anuncio de charla
Pauta
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
230
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
330
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Algunos datos de NISTInstituto Nacional de Normalizacioacuten y Tecnologiacutea (NIST)(National Bureau of Standards 1901ndash1988 rarr NIST 1988ndashpresent)
I Misioacuten (palabras clave) innovacioacuten competitividad industrial ciencianormas y tecnologiacutea de medicioacuten seguridad econoacutemica calidad de vida
Amplia gama de competenciasndash Personal de sim 6ndash7 times 103
ndash Cinco laboratorios y dos centrosndash Laboratorios rarr Divisiones rarr Grupos rarr Proyectosndash Normas investigacioacuten y aplicaciones
Foto aeacuterea del campus en Gaithersburg (fuente Google Maps Agosto 2019)
430
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Algunos datos de NISTInstituto Nacional de Normalizacioacuten y Tecnologiacutea (NIST)(National Bureau of Standards 1901ndash1988 rarr NIST 1988ndashpresent)
I Misioacuten (palabras clave) innovacioacuten competitividad industrial ciencianormas y tecnologiacutea de medicioacuten seguridad econoacutemica calidad de vida
Amplia gama de competenciasndash Personal de sim 6ndash7 times 103
ndash Cinco laboratorios y dos centrosndash Laboratorios rarr Divisiones rarr Grupos rarr Proyectosndash Normas investigacioacuten y aplicaciones
Foto aeacuterea del campus en Gaithersburg (fuente Google Maps Agosto 2019)
430
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Laboratorios divisiones grupos
Laboratorio de Tecnologiacuteas de la Informacioacuten (ITL)Investigacioacuten y desarrollo en metrologiacutea estaacutendares y tecnologiacuteaen las aacutereas de informaacutetica matemaacuteticas y estadiacutestica
rarr Divisioacuten de Seguridad Computacional (CSD) Tecnologiacuteas Cripto-graacuteficas Sistemas Seguros y Aplicaciones Componentes Seguros y Meca-nismos Ingenieriacutea de Seguridad y Gestioacuten de Riesgos Pruebas Validacioacuteny Metrologiacutea de Seguridad
rarr Grupo de Tecnologiacuteas Criptograacuteficas (CTG) investigacioacuten ydesarrollo pautas recomendaciones buenas praacutecticas en algoritmosmeacutetodos y protocolos criptograacuteficos
I Documentos FIPS SP 800 NISTIRI Cooperacioacuten internacional gobierno industria mundo acadeacutemico
organismos de normalizacioacuten
FIPS = Federal Information Processing Standards SP 800 = Special Publications in Computer Security NISTIR = NIST Internal or Interagency Report
530
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Laboratorios divisiones grupos
Laboratorio de Tecnologiacuteas de la Informacioacuten (ITL)Investigacioacuten y desarrollo en metrologiacutea estaacutendares y tecnologiacuteaen las aacutereas de informaacutetica matemaacuteticas y estadiacutestica
rarr Divisioacuten de Seguridad Computacional (CSD) Tecnologiacuteas Cripto-graacuteficas Sistemas Seguros y Aplicaciones Componentes Seguros y Meca-nismos Ingenieriacutea de Seguridad y Gestioacuten de Riesgos Pruebas Validacioacuteny Metrologiacutea de Seguridad
rarr Grupo de Tecnologiacuteas Criptograacuteficas (CTG) investigacioacuten ydesarrollo pautas recomendaciones buenas praacutecticas en algoritmosmeacutetodos y protocolos criptograacuteficos
I Documentos FIPS SP 800 NISTIRI Cooperacioacuten internacional gobierno industria mundo acadeacutemico
organismos de normalizacioacuten
FIPS = Federal Information Processing Standards SP 800 = Special Publications in Computer Security NISTIR = NIST Internal or Interagency Report
530
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Laboratorios divisiones grupos
Laboratorio de Tecnologiacuteas de la Informacioacuten (ITL)Investigacioacuten y desarrollo en metrologiacutea estaacutendares y tecnologiacuteaen las aacutereas de informaacutetica matemaacuteticas y estadiacutestica
rarr Divisioacuten de Seguridad Computacional (CSD) Tecnologiacuteas Cripto-graacuteficas Sistemas Seguros y Aplicaciones Componentes Seguros y Meca-nismos Ingenieriacutea de Seguridad y Gestioacuten de Riesgos Pruebas Validacioacuteny Metrologiacutea de Seguridad
rarr Grupo de Tecnologiacuteas Criptograacuteficas (CTG) investigacioacuten ydesarrollo pautas recomendaciones buenas praacutecticas en algoritmosmeacutetodos y protocolos criptograacuteficos
I Documentos FIPS SP 800 NISTIRI Cooperacioacuten internacional gobierno industria mundo acadeacutemico
organismos de normalizacioacuten
FIPS = Federal Information Processing Standards SP 800 = Special Publications in Computer Security NISTIR = NIST Internal or Interagency Report
530
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Laboratorios divisiones grupos
Laboratorio de Tecnologiacuteas de la Informacioacuten (ITL)Investigacioacuten y desarrollo en metrologiacutea estaacutendares y tecnologiacuteaen las aacutereas de informaacutetica matemaacuteticas y estadiacutestica
rarr Divisioacuten de Seguridad Computacional (CSD) Tecnologiacuteas Cripto-graacuteficas Sistemas Seguros y Aplicaciones Componentes Seguros y Meca-nismos Ingenieriacutea de Seguridad y Gestioacuten de Riesgos Pruebas Validacioacuteny Metrologiacutea de Seguridad
rarr Grupo de Tecnologiacuteas Criptograacuteficas (CTG) investigacioacuten ydesarrollo pautas recomendaciones buenas praacutecticas en algoritmosmeacutetodos y protocolos criptograacuteficos
I Documentos FIPS SP 800 NISTIRI Cooperacioacuten internacional gobierno industria mundo acadeacutemico
organismos de normalizacioacutenFIPS = Federal Information Processing Standards SP 800 = Special Publications in Computer Security NISTIR = NIST Internal or Interagency Report
530
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
El Grupo de Criptografiacutea en NISTNational Institute of
Standards and Technology
AdvancedNetwork
Technologies
CommunicationsTechnology
EngineeringInformationTechnology
MaterialMeasurement
PhysicalMeasurement
Applied andComputationalMathematics
ComputerSecurity
AppliedCybersecurity
InformationAccess
Software andSystems
StatisticalEngineering
CryptographicTechnology
Secure Systemsand Applications
Security TestingValidation andMeasurement
Security Componentsand Mechanisms
Security Engineeringand
Risk Management
Post-Quantum
Cryptography
InteroperableRandomnessBeacons
Lightweight
Cryptography
Privacy-Enhancing
CryptographyDigital
SignaturesCircuit
Complexity
Random
BitGeneration
ThresholdCryptography
Labo
ratorio
sDivis
iones
Grup
osProyectosamp
prog
ramas
lowast
(sim6ndash7times103)
(sim7ndash8times102)
(sim1ndash2times102)
(sim3times10)
Neutron Research
Nanoscale Science and Technology Centros
lowast (Algunos proyectosprogramas involucran a varios grupos divisiones o labs) (entre pareacutentesis aproximado de empleados federales y associados)630
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Bien Puacuteblico
I [Wikipedia] rdquoUn bien que estaacute disponible a todos y del cual el uso poruna persona no substrae del uso por otrordquo
Aleatoriedad
I [Wikipedia] rdquoLa aleatoriedad se asocia a todo proceso cuyo resultado noes previsible maacutes que en razoacuten de la intervencioacuten del azarrdquo
I La cualidad de ser impredecible
730
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Bien PuacuteblicoI [Wikipedia] rdquoUn bien que estaacute disponible a todos y del cual el uso por
una persona no substrae del uso por otrordquo
Aleatoriedad
I [Wikipedia] rdquoLa aleatoriedad se asocia a todo proceso cuyo resultado noes previsible maacutes que en razoacuten de la intervencioacuten del azarrdquo
I La cualidad de ser impredecible
730
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Bien PuacuteblicoI [Wikipedia] rdquoUn bien que estaacute disponible a todos y del cual el uso por
una persona no substrae del uso por otrordquo
AleatoriedadI [Wikipedia] rdquoLa aleatoriedad se asocia a todo proceso cuyo resultado no
es previsible maacutes que en razoacuten de la intervencioacuten del azarrdquoI La cualidad de ser impredecible
730
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedad
I Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generados
I Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digital
I Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblico
I La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Una aplicacioacuten en Chile
I La Contraloriacutea General de la Repuacuteblica selecciona al azar a funcionariospuacuteblicos para auditoriacuteas financieras
I Es natural que una persona seleccionada cuestione como fueacute la seleccioacuten
I Junto con la Univ de Chile se ha desarrollado una aplicacioacuten quepermitiraacute hacer la seleccioacuten utilizando aleatoriedad puacuteblica
I En etapa de prueba en Contraloriacuteahttpsrandomuchileclprojectscontraloria
930
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
2 Faros de aleatoriedad mdash Formato
Pauta 2
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1130
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Arquitectura del servicio Beacon
HSM
Reloj
RNGFaroApp
RNG3
Motor del Faro
Servidorde
tiempo
BD(interfazweb)
Web(usuarios)
Cf
Leyenda- App aplicacioacuten (software)- BD base de datos- Cf cortafuegos- HSM moacutedulo de seguridad de hardware- RNG generador de nuacutemeros aleatorios
consultas
Firma
Pulso
Entropiacuteaexterna
RNG
respuestas
Pero iquestqueacute es exactamente un pulso iquestde donde proviene su aleatoriedad
1330
2 Faros de aleatoriedad mdash Formato
Arquitectura del servicio Beacon
HSM
Reloj
RNGFaroApp
RNG3
Motor del Faro
Servidorde
tiempo
BD(interfazweb)
Web(usuarios)
Cf
Leyenda- App aplicacioacuten (software)- BD base de datos- Cf cortafuegos- HSM moacutedulo de seguridad de hardware- RNG generador de nuacutemeros aleatorios
consultas
Firma
Pulso
Entropiacuteaexterna
RNG
respuestas
Pero iquestqueacute es exactamente un pulso iquestde donde proviene su aleatoriedad
1330
2 Faros de aleatoriedad mdash Formato
Algunos conceptos uacutetiles para esta charla
I Hash
mdash como una huella dactilar de datos (secuencia rdquouacutenicardquo de 512 bits)mdash parece aleatorio si se desconocen sus datos de origen
I Compromiso (Commitment)
mdash como una boacuteveda que oculta datos hasta que se abremdash una vez cerrado no se puede cambiar lo que hay dentro
I Firma [digital] (Signature)
mdash como una firma fiacutesica pero no se puede falsificarmdash la firma copiada no es vaacutelida para otro documento
1430
2 Faros de aleatoriedad mdash Formato
Algunos conceptos uacutetiles para esta charla
I Hashmdash como una huella dactilar de datos (secuencia rdquouacutenicardquo de 512 bits)mdash parece aleatorio si se desconocen sus datos de origen
I Compromiso (Commitment)mdash como una boacuteveda que oculta datos hasta que se abremdash una vez cerrado no se puede cambiar lo que hay dentro
I Firma [digital] (Signature)mdash como una firma fiacutesica pero no se puede falsificarmdash la firma copiada no es vaacutelida para otro documento
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido randOut encadenado
1530
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
3 Faros de aleatoriedad mdash Operaciones
Pauta 3
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1730
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten
1 Sin liberacioacuten avanzada de pulso (δ ge 0)
2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)4 Sin liberacioacuten retrasada (δ pequentildeo) rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo1930
3 Faros de aleatoriedad mdash Operaciones
Un posible diagrama de generacioacuten de pulso
HSM
Leyenda ndash BD base de datos ndash ∥ concatenacioacutenndash liberado no antes de la marca de tiempondash HSM moacutedulo de seguridad de hardwarendash NTP protocolo de red de tiempondash RNG generador de nuacutemeros aleatoriosndash UTC Tiempo Universal Coordinado
DB
NTP
MDi algunos metadatos (uri version cipher period certId chainId)
Pasti = (Riminus1 RH[iminus1] RD[iminus1] RM [iminus1] RY [iminus1]) previous (i minus 1)and 1st of hour (H) day (D) month (M) and year (Y ) of previous
Mi = MDi∥i∥Ti∥ri∥Ei∥Pasti∥Ci∥zi
Servidorde tiempo(remoto)
Reloj(on chip)
Hashdel valorexterno
Ri
Ri
i iacutendice de pulso (entero incrementado en 1 por cada pulso liberado)
Ti marca de tiempo (UTC precisioacuten ms eg ldquo2018-07-23T192600000Zrdquo)
ri randLocal (512 bits)Ei external (srcId status value) (todos ceros cuando no estaacuten disponibles)
Ci preCom (512 bits)zi status (32 bits)
Pi (pulso)pulsify
Pi =Mi∥Ri∥Si
RNG 2
(randLocaldel pulsosiguiente)
ρi2 (512 bits)
ρi1∥ρi2
[∥ρi3]
RNG 3(quantum)
Cachelocal
ri+1
ρi1
(512bits)
HashHashRNG 1(on chip)
ρi3
(512bits)
HashHashri+1
HashHash
HashHash
Ri randOut
Hi
Mi
Si firma
Moacutedulode firmalowast
Mi
Si
Si
Mi∥Si
Para simplificar el diagrama omite los detalles de serializacioacuten (por ejemplo longitudes de campo y relleno) y algunos campos de metadatos
2030
4 Faros de aleatoriedad mdash Uso
Pauta 4
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2130
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]
I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado
publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
Pauta
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
230
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
330
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Algunos datos de NISTInstituto Nacional de Normalizacioacuten y Tecnologiacutea (NIST)(National Bureau of Standards 1901ndash1988 rarr NIST 1988ndashpresent)
I Misioacuten (palabras clave) innovacioacuten competitividad industrial ciencianormas y tecnologiacutea de medicioacuten seguridad econoacutemica calidad de vida
Amplia gama de competenciasndash Personal de sim 6ndash7 times 103
ndash Cinco laboratorios y dos centrosndash Laboratorios rarr Divisiones rarr Grupos rarr Proyectosndash Normas investigacioacuten y aplicaciones
Foto aeacuterea del campus en Gaithersburg (fuente Google Maps Agosto 2019)
430
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Algunos datos de NISTInstituto Nacional de Normalizacioacuten y Tecnologiacutea (NIST)(National Bureau of Standards 1901ndash1988 rarr NIST 1988ndashpresent)
I Misioacuten (palabras clave) innovacioacuten competitividad industrial ciencianormas y tecnologiacutea de medicioacuten seguridad econoacutemica calidad de vida
Amplia gama de competenciasndash Personal de sim 6ndash7 times 103
ndash Cinco laboratorios y dos centrosndash Laboratorios rarr Divisiones rarr Grupos rarr Proyectosndash Normas investigacioacuten y aplicaciones
Foto aeacuterea del campus en Gaithersburg (fuente Google Maps Agosto 2019)
430
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Laboratorios divisiones grupos
Laboratorio de Tecnologiacuteas de la Informacioacuten (ITL)Investigacioacuten y desarrollo en metrologiacutea estaacutendares y tecnologiacuteaen las aacutereas de informaacutetica matemaacuteticas y estadiacutestica
rarr Divisioacuten de Seguridad Computacional (CSD) Tecnologiacuteas Cripto-graacuteficas Sistemas Seguros y Aplicaciones Componentes Seguros y Meca-nismos Ingenieriacutea de Seguridad y Gestioacuten de Riesgos Pruebas Validacioacuteny Metrologiacutea de Seguridad
rarr Grupo de Tecnologiacuteas Criptograacuteficas (CTG) investigacioacuten ydesarrollo pautas recomendaciones buenas praacutecticas en algoritmosmeacutetodos y protocolos criptograacuteficos
I Documentos FIPS SP 800 NISTIRI Cooperacioacuten internacional gobierno industria mundo acadeacutemico
organismos de normalizacioacuten
FIPS = Federal Information Processing Standards SP 800 = Special Publications in Computer Security NISTIR = NIST Internal or Interagency Report
530
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Laboratorios divisiones grupos
Laboratorio de Tecnologiacuteas de la Informacioacuten (ITL)Investigacioacuten y desarrollo en metrologiacutea estaacutendares y tecnologiacuteaen las aacutereas de informaacutetica matemaacuteticas y estadiacutestica
rarr Divisioacuten de Seguridad Computacional (CSD) Tecnologiacuteas Cripto-graacuteficas Sistemas Seguros y Aplicaciones Componentes Seguros y Meca-nismos Ingenieriacutea de Seguridad y Gestioacuten de Riesgos Pruebas Validacioacuteny Metrologiacutea de Seguridad
rarr Grupo de Tecnologiacuteas Criptograacuteficas (CTG) investigacioacuten ydesarrollo pautas recomendaciones buenas praacutecticas en algoritmosmeacutetodos y protocolos criptograacuteficos
I Documentos FIPS SP 800 NISTIRI Cooperacioacuten internacional gobierno industria mundo acadeacutemico
organismos de normalizacioacuten
FIPS = Federal Information Processing Standards SP 800 = Special Publications in Computer Security NISTIR = NIST Internal or Interagency Report
530
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Laboratorios divisiones grupos
Laboratorio de Tecnologiacuteas de la Informacioacuten (ITL)Investigacioacuten y desarrollo en metrologiacutea estaacutendares y tecnologiacuteaen las aacutereas de informaacutetica matemaacuteticas y estadiacutestica
rarr Divisioacuten de Seguridad Computacional (CSD) Tecnologiacuteas Cripto-graacuteficas Sistemas Seguros y Aplicaciones Componentes Seguros y Meca-nismos Ingenieriacutea de Seguridad y Gestioacuten de Riesgos Pruebas Validacioacuteny Metrologiacutea de Seguridad
rarr Grupo de Tecnologiacuteas Criptograacuteficas (CTG) investigacioacuten ydesarrollo pautas recomendaciones buenas praacutecticas en algoritmosmeacutetodos y protocolos criptograacuteficos
I Documentos FIPS SP 800 NISTIRI Cooperacioacuten internacional gobierno industria mundo acadeacutemico
organismos de normalizacioacuten
FIPS = Federal Information Processing Standards SP 800 = Special Publications in Computer Security NISTIR = NIST Internal or Interagency Report
530
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Laboratorios divisiones grupos
Laboratorio de Tecnologiacuteas de la Informacioacuten (ITL)Investigacioacuten y desarrollo en metrologiacutea estaacutendares y tecnologiacuteaen las aacutereas de informaacutetica matemaacuteticas y estadiacutestica
rarr Divisioacuten de Seguridad Computacional (CSD) Tecnologiacuteas Cripto-graacuteficas Sistemas Seguros y Aplicaciones Componentes Seguros y Meca-nismos Ingenieriacutea de Seguridad y Gestioacuten de Riesgos Pruebas Validacioacuteny Metrologiacutea de Seguridad
rarr Grupo de Tecnologiacuteas Criptograacuteficas (CTG) investigacioacuten ydesarrollo pautas recomendaciones buenas praacutecticas en algoritmosmeacutetodos y protocolos criptograacuteficos
I Documentos FIPS SP 800 NISTIRI Cooperacioacuten internacional gobierno industria mundo acadeacutemico
organismos de normalizacioacutenFIPS = Federal Information Processing Standards SP 800 = Special Publications in Computer Security NISTIR = NIST Internal or Interagency Report
530
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
El Grupo de Criptografiacutea en NISTNational Institute of
Standards and Technology
AdvancedNetwork
Technologies
CommunicationsTechnology
EngineeringInformationTechnology
MaterialMeasurement
PhysicalMeasurement
Applied andComputationalMathematics
ComputerSecurity
AppliedCybersecurity
InformationAccess
Software andSystems
StatisticalEngineering
CryptographicTechnology
Secure Systemsand Applications
Security TestingValidation andMeasurement
Security Componentsand Mechanisms
Security Engineeringand
Risk Management
Post-Quantum
Cryptography
InteroperableRandomnessBeacons
Lightweight
Cryptography
Privacy-Enhancing
CryptographyDigital
SignaturesCircuit
Complexity
Random
BitGeneration
ThresholdCryptography
Labo
ratorio
sDivis
iones
Grup
osProyectosamp
prog
ramas
lowast
(sim6ndash7times103)
(sim7ndash8times102)
(sim1ndash2times102)
(sim3times10)
Neutron Research
Nanoscale Science and Technology Centros
lowast (Algunos proyectosprogramas involucran a varios grupos divisiones o labs) (entre pareacutentesis aproximado de empleados federales y associados)630
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Bien Puacuteblico
I [Wikipedia] rdquoUn bien que estaacute disponible a todos y del cual el uso poruna persona no substrae del uso por otrordquo
Aleatoriedad
I [Wikipedia] rdquoLa aleatoriedad se asocia a todo proceso cuyo resultado noes previsible maacutes que en razoacuten de la intervencioacuten del azarrdquo
I La cualidad de ser impredecible
730
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Bien PuacuteblicoI [Wikipedia] rdquoUn bien que estaacute disponible a todos y del cual el uso por
una persona no substrae del uso por otrordquo
Aleatoriedad
I [Wikipedia] rdquoLa aleatoriedad se asocia a todo proceso cuyo resultado noes previsible maacutes que en razoacuten de la intervencioacuten del azarrdquo
I La cualidad de ser impredecible
730
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Bien PuacuteblicoI [Wikipedia] rdquoUn bien que estaacute disponible a todos y del cual el uso por
una persona no substrae del uso por otrordquo
AleatoriedadI [Wikipedia] rdquoLa aleatoriedad se asocia a todo proceso cuyo resultado no
es previsible maacutes que en razoacuten de la intervencioacuten del azarrdquoI La cualidad de ser impredecible
730
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedad
I Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generados
I Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digital
I Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblico
I La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Una aplicacioacuten en Chile
I La Contraloriacutea General de la Repuacuteblica selecciona al azar a funcionariospuacuteblicos para auditoriacuteas financieras
I Es natural que una persona seleccionada cuestione como fueacute la seleccioacuten
I Junto con la Univ de Chile se ha desarrollado una aplicacioacuten quepermitiraacute hacer la seleccioacuten utilizando aleatoriedad puacuteblica
I En etapa de prueba en Contraloriacuteahttpsrandomuchileclprojectscontraloria
930
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
2 Faros de aleatoriedad mdash Formato
Pauta 2
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1130
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Arquitectura del servicio Beacon
HSM
Reloj
RNGFaroApp
RNG3
Motor del Faro
Servidorde
tiempo
BD(interfazweb)
Web(usuarios)
Cf
Leyenda- App aplicacioacuten (software)- BD base de datos- Cf cortafuegos- HSM moacutedulo de seguridad de hardware- RNG generador de nuacutemeros aleatorios
consultas
Firma
Pulso
Entropiacuteaexterna
RNG
respuestas
Pero iquestqueacute es exactamente un pulso iquestde donde proviene su aleatoriedad
1330
2 Faros de aleatoriedad mdash Formato
Arquitectura del servicio Beacon
HSM
Reloj
RNGFaroApp
RNG3
Motor del Faro
Servidorde
tiempo
BD(interfazweb)
Web(usuarios)
Cf
Leyenda- App aplicacioacuten (software)- BD base de datos- Cf cortafuegos- HSM moacutedulo de seguridad de hardware- RNG generador de nuacutemeros aleatorios
consultas
Firma
Pulso
Entropiacuteaexterna
RNG
respuestas
Pero iquestqueacute es exactamente un pulso iquestde donde proviene su aleatoriedad
1330
2 Faros de aleatoriedad mdash Formato
Algunos conceptos uacutetiles para esta charla
I Hash
mdash como una huella dactilar de datos (secuencia rdquouacutenicardquo de 512 bits)mdash parece aleatorio si se desconocen sus datos de origen
I Compromiso (Commitment)
mdash como una boacuteveda que oculta datos hasta que se abremdash una vez cerrado no se puede cambiar lo que hay dentro
I Firma [digital] (Signature)
mdash como una firma fiacutesica pero no se puede falsificarmdash la firma copiada no es vaacutelida para otro documento
1430
2 Faros de aleatoriedad mdash Formato
Algunos conceptos uacutetiles para esta charla
I Hashmdash como una huella dactilar de datos (secuencia rdquouacutenicardquo de 512 bits)mdash parece aleatorio si se desconocen sus datos de origen
I Compromiso (Commitment)mdash como una boacuteveda que oculta datos hasta que se abremdash una vez cerrado no se puede cambiar lo que hay dentro
I Firma [digital] (Signature)mdash como una firma fiacutesica pero no se puede falsificarmdash la firma copiada no es vaacutelida para otro documento
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido randOut encadenado
1530
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
3 Faros de aleatoriedad mdash Operaciones
Pauta 3
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1730
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten
1 Sin liberacioacuten avanzada de pulso (δ ge 0)
2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)4 Sin liberacioacuten retrasada (δ pequentildeo) rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo1930
3 Faros de aleatoriedad mdash Operaciones
Un posible diagrama de generacioacuten de pulso
HSM
Leyenda ndash BD base de datos ndash ∥ concatenacioacutenndash liberado no antes de la marca de tiempondash HSM moacutedulo de seguridad de hardwarendash NTP protocolo de red de tiempondash RNG generador de nuacutemeros aleatoriosndash UTC Tiempo Universal Coordinado
DB
NTP
MDi algunos metadatos (uri version cipher period certId chainId)
Pasti = (Riminus1 RH[iminus1] RD[iminus1] RM [iminus1] RY [iminus1]) previous (i minus 1)and 1st of hour (H) day (D) month (M) and year (Y ) of previous
Mi = MDi∥i∥Ti∥ri∥Ei∥Pasti∥Ci∥zi
Servidorde tiempo(remoto)
Reloj(on chip)
Hashdel valorexterno
Ri
Ri
i iacutendice de pulso (entero incrementado en 1 por cada pulso liberado)
Ti marca de tiempo (UTC precisioacuten ms eg ldquo2018-07-23T192600000Zrdquo)
ri randLocal (512 bits)Ei external (srcId status value) (todos ceros cuando no estaacuten disponibles)
Ci preCom (512 bits)zi status (32 bits)
Pi (pulso)pulsify
Pi =Mi∥Ri∥Si
RNG 2
(randLocaldel pulsosiguiente)
ρi2 (512 bits)
ρi1∥ρi2
[∥ρi3]
RNG 3(quantum)
Cachelocal
ri+1
ρi1
(512bits)
HashHashRNG 1(on chip)
ρi3
(512bits)
HashHashri+1
HashHash
HashHash
Ri randOut
Hi
Mi
Si firma
Moacutedulode firmalowast
Mi
Si
Si
Mi∥Si
Para simplificar el diagrama omite los detalles de serializacioacuten (por ejemplo longitudes de campo y relleno) y algunos campos de metadatos
2030
4 Faros de aleatoriedad mdash Uso
Pauta 4
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2130
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]
I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado
publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
330
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Algunos datos de NISTInstituto Nacional de Normalizacioacuten y Tecnologiacutea (NIST)(National Bureau of Standards 1901ndash1988 rarr NIST 1988ndashpresent)
I Misioacuten (palabras clave) innovacioacuten competitividad industrial ciencianormas y tecnologiacutea de medicioacuten seguridad econoacutemica calidad de vida
Amplia gama de competenciasndash Personal de sim 6ndash7 times 103
ndash Cinco laboratorios y dos centrosndash Laboratorios rarr Divisiones rarr Grupos rarr Proyectosndash Normas investigacioacuten y aplicaciones
Foto aeacuterea del campus en Gaithersburg (fuente Google Maps Agosto 2019)
430
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Algunos datos de NISTInstituto Nacional de Normalizacioacuten y Tecnologiacutea (NIST)(National Bureau of Standards 1901ndash1988 rarr NIST 1988ndashpresent)
I Misioacuten (palabras clave) innovacioacuten competitividad industrial ciencianormas y tecnologiacutea de medicioacuten seguridad econoacutemica calidad de vida
Amplia gama de competenciasndash Personal de sim 6ndash7 times 103
ndash Cinco laboratorios y dos centrosndash Laboratorios rarr Divisiones rarr Grupos rarr Proyectosndash Normas investigacioacuten y aplicaciones
Foto aeacuterea del campus en Gaithersburg (fuente Google Maps Agosto 2019)
430
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Laboratorios divisiones grupos
Laboratorio de Tecnologiacuteas de la Informacioacuten (ITL)Investigacioacuten y desarrollo en metrologiacutea estaacutendares y tecnologiacuteaen las aacutereas de informaacutetica matemaacuteticas y estadiacutestica
rarr Divisioacuten de Seguridad Computacional (CSD) Tecnologiacuteas Cripto-graacuteficas Sistemas Seguros y Aplicaciones Componentes Seguros y Meca-nismos Ingenieriacutea de Seguridad y Gestioacuten de Riesgos Pruebas Validacioacuteny Metrologiacutea de Seguridad
rarr Grupo de Tecnologiacuteas Criptograacuteficas (CTG) investigacioacuten ydesarrollo pautas recomendaciones buenas praacutecticas en algoritmosmeacutetodos y protocolos criptograacuteficos
I Documentos FIPS SP 800 NISTIRI Cooperacioacuten internacional gobierno industria mundo acadeacutemico
organismos de normalizacioacuten
FIPS = Federal Information Processing Standards SP 800 = Special Publications in Computer Security NISTIR = NIST Internal or Interagency Report
530
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Laboratorios divisiones grupos
Laboratorio de Tecnologiacuteas de la Informacioacuten (ITL)Investigacioacuten y desarrollo en metrologiacutea estaacutendares y tecnologiacuteaen las aacutereas de informaacutetica matemaacuteticas y estadiacutestica
rarr Divisioacuten de Seguridad Computacional (CSD) Tecnologiacuteas Cripto-graacuteficas Sistemas Seguros y Aplicaciones Componentes Seguros y Meca-nismos Ingenieriacutea de Seguridad y Gestioacuten de Riesgos Pruebas Validacioacuteny Metrologiacutea de Seguridad
rarr Grupo de Tecnologiacuteas Criptograacuteficas (CTG) investigacioacuten ydesarrollo pautas recomendaciones buenas praacutecticas en algoritmosmeacutetodos y protocolos criptograacuteficos
I Documentos FIPS SP 800 NISTIRI Cooperacioacuten internacional gobierno industria mundo acadeacutemico
organismos de normalizacioacuten
FIPS = Federal Information Processing Standards SP 800 = Special Publications in Computer Security NISTIR = NIST Internal or Interagency Report
530
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Laboratorios divisiones grupos
Laboratorio de Tecnologiacuteas de la Informacioacuten (ITL)Investigacioacuten y desarrollo en metrologiacutea estaacutendares y tecnologiacuteaen las aacutereas de informaacutetica matemaacuteticas y estadiacutestica
rarr Divisioacuten de Seguridad Computacional (CSD) Tecnologiacuteas Cripto-graacuteficas Sistemas Seguros y Aplicaciones Componentes Seguros y Meca-nismos Ingenieriacutea de Seguridad y Gestioacuten de Riesgos Pruebas Validacioacuteny Metrologiacutea de Seguridad
rarr Grupo de Tecnologiacuteas Criptograacuteficas (CTG) investigacioacuten ydesarrollo pautas recomendaciones buenas praacutecticas en algoritmosmeacutetodos y protocolos criptograacuteficos
I Documentos FIPS SP 800 NISTIRI Cooperacioacuten internacional gobierno industria mundo acadeacutemico
organismos de normalizacioacuten
FIPS = Federal Information Processing Standards SP 800 = Special Publications in Computer Security NISTIR = NIST Internal or Interagency Report
530
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Laboratorios divisiones grupos
Laboratorio de Tecnologiacuteas de la Informacioacuten (ITL)Investigacioacuten y desarrollo en metrologiacutea estaacutendares y tecnologiacuteaen las aacutereas de informaacutetica matemaacuteticas y estadiacutestica
rarr Divisioacuten de Seguridad Computacional (CSD) Tecnologiacuteas Cripto-graacuteficas Sistemas Seguros y Aplicaciones Componentes Seguros y Meca-nismos Ingenieriacutea de Seguridad y Gestioacuten de Riesgos Pruebas Validacioacuteny Metrologiacutea de Seguridad
rarr Grupo de Tecnologiacuteas Criptograacuteficas (CTG) investigacioacuten ydesarrollo pautas recomendaciones buenas praacutecticas en algoritmosmeacutetodos y protocolos criptograacuteficos
I Documentos FIPS SP 800 NISTIRI Cooperacioacuten internacional gobierno industria mundo acadeacutemico
organismos de normalizacioacutenFIPS = Federal Information Processing Standards SP 800 = Special Publications in Computer Security NISTIR = NIST Internal or Interagency Report
530
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
El Grupo de Criptografiacutea en NISTNational Institute of
Standards and Technology
AdvancedNetwork
Technologies
CommunicationsTechnology
EngineeringInformationTechnology
MaterialMeasurement
PhysicalMeasurement
Applied andComputationalMathematics
ComputerSecurity
AppliedCybersecurity
InformationAccess
Software andSystems
StatisticalEngineering
CryptographicTechnology
Secure Systemsand Applications
Security TestingValidation andMeasurement
Security Componentsand Mechanisms
Security Engineeringand
Risk Management
Post-Quantum
Cryptography
InteroperableRandomnessBeacons
Lightweight
Cryptography
Privacy-Enhancing
CryptographyDigital
SignaturesCircuit
Complexity
Random
BitGeneration
ThresholdCryptography
Labo
ratorio
sDivis
iones
Grup
osProyectosamp
prog
ramas
lowast
(sim6ndash7times103)
(sim7ndash8times102)
(sim1ndash2times102)
(sim3times10)
Neutron Research
Nanoscale Science and Technology Centros
lowast (Algunos proyectosprogramas involucran a varios grupos divisiones o labs) (entre pareacutentesis aproximado de empleados federales y associados)630
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Bien Puacuteblico
I [Wikipedia] rdquoUn bien que estaacute disponible a todos y del cual el uso poruna persona no substrae del uso por otrordquo
Aleatoriedad
I [Wikipedia] rdquoLa aleatoriedad se asocia a todo proceso cuyo resultado noes previsible maacutes que en razoacuten de la intervencioacuten del azarrdquo
I La cualidad de ser impredecible
730
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Bien PuacuteblicoI [Wikipedia] rdquoUn bien que estaacute disponible a todos y del cual el uso por
una persona no substrae del uso por otrordquo
Aleatoriedad
I [Wikipedia] rdquoLa aleatoriedad se asocia a todo proceso cuyo resultado noes previsible maacutes que en razoacuten de la intervencioacuten del azarrdquo
I La cualidad de ser impredecible
730
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Bien PuacuteblicoI [Wikipedia] rdquoUn bien que estaacute disponible a todos y del cual el uso por
una persona no substrae del uso por otrordquo
AleatoriedadI [Wikipedia] rdquoLa aleatoriedad se asocia a todo proceso cuyo resultado no
es previsible maacutes que en razoacuten de la intervencioacuten del azarrdquoI La cualidad de ser impredecible
730
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedad
I Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generados
I Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digital
I Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblico
I La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Una aplicacioacuten en Chile
I La Contraloriacutea General de la Repuacuteblica selecciona al azar a funcionariospuacuteblicos para auditoriacuteas financieras
I Es natural que una persona seleccionada cuestione como fueacute la seleccioacuten
I Junto con la Univ de Chile se ha desarrollado una aplicacioacuten quepermitiraacute hacer la seleccioacuten utilizando aleatoriedad puacuteblica
I En etapa de prueba en Contraloriacuteahttpsrandomuchileclprojectscontraloria
930
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
2 Faros de aleatoriedad mdash Formato
Pauta 2
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1130
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Arquitectura del servicio Beacon
HSM
Reloj
RNGFaroApp
RNG3
Motor del Faro
Servidorde
tiempo
BD(interfazweb)
Web(usuarios)
Cf
Leyenda- App aplicacioacuten (software)- BD base de datos- Cf cortafuegos- HSM moacutedulo de seguridad de hardware- RNG generador de nuacutemeros aleatorios
consultas
Firma
Pulso
Entropiacuteaexterna
RNG
respuestas
Pero iquestqueacute es exactamente un pulso iquestde donde proviene su aleatoriedad
1330
2 Faros de aleatoriedad mdash Formato
Arquitectura del servicio Beacon
HSM
Reloj
RNGFaroApp
RNG3
Motor del Faro
Servidorde
tiempo
BD(interfazweb)
Web(usuarios)
Cf
Leyenda- App aplicacioacuten (software)- BD base de datos- Cf cortafuegos- HSM moacutedulo de seguridad de hardware- RNG generador de nuacutemeros aleatorios
consultas
Firma
Pulso
Entropiacuteaexterna
RNG
respuestas
Pero iquestqueacute es exactamente un pulso iquestde donde proviene su aleatoriedad
1330
2 Faros de aleatoriedad mdash Formato
Algunos conceptos uacutetiles para esta charla
I Hash
mdash como una huella dactilar de datos (secuencia rdquouacutenicardquo de 512 bits)mdash parece aleatorio si se desconocen sus datos de origen
I Compromiso (Commitment)
mdash como una boacuteveda que oculta datos hasta que se abremdash una vez cerrado no se puede cambiar lo que hay dentro
I Firma [digital] (Signature)
mdash como una firma fiacutesica pero no se puede falsificarmdash la firma copiada no es vaacutelida para otro documento
1430
2 Faros de aleatoriedad mdash Formato
Algunos conceptos uacutetiles para esta charla
I Hashmdash como una huella dactilar de datos (secuencia rdquouacutenicardquo de 512 bits)mdash parece aleatorio si se desconocen sus datos de origen
I Compromiso (Commitment)mdash como una boacuteveda que oculta datos hasta que se abremdash una vez cerrado no se puede cambiar lo que hay dentro
I Firma [digital] (Signature)mdash como una firma fiacutesica pero no se puede falsificarmdash la firma copiada no es vaacutelida para otro documento
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido randOut encadenado
1530
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
3 Faros de aleatoriedad mdash Operaciones
Pauta 3
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1730
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten
1 Sin liberacioacuten avanzada de pulso (δ ge 0)
2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)4 Sin liberacioacuten retrasada (δ pequentildeo) rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo1930
3 Faros de aleatoriedad mdash Operaciones
Un posible diagrama de generacioacuten de pulso
HSM
Leyenda ndash BD base de datos ndash ∥ concatenacioacutenndash liberado no antes de la marca de tiempondash HSM moacutedulo de seguridad de hardwarendash NTP protocolo de red de tiempondash RNG generador de nuacutemeros aleatoriosndash UTC Tiempo Universal Coordinado
DB
NTP
MDi algunos metadatos (uri version cipher period certId chainId)
Pasti = (Riminus1 RH[iminus1] RD[iminus1] RM [iminus1] RY [iminus1]) previous (i minus 1)and 1st of hour (H) day (D) month (M) and year (Y ) of previous
Mi = MDi∥i∥Ti∥ri∥Ei∥Pasti∥Ci∥zi
Servidorde tiempo(remoto)
Reloj(on chip)
Hashdel valorexterno
Ri
Ri
i iacutendice de pulso (entero incrementado en 1 por cada pulso liberado)
Ti marca de tiempo (UTC precisioacuten ms eg ldquo2018-07-23T192600000Zrdquo)
ri randLocal (512 bits)Ei external (srcId status value) (todos ceros cuando no estaacuten disponibles)
Ci preCom (512 bits)zi status (32 bits)
Pi (pulso)pulsify
Pi =Mi∥Ri∥Si
RNG 2
(randLocaldel pulsosiguiente)
ρi2 (512 bits)
ρi1∥ρi2
[∥ρi3]
RNG 3(quantum)
Cachelocal
ri+1
ρi1
(512bits)
HashHashRNG 1(on chip)
ρi3
(512bits)
HashHashri+1
HashHash
HashHash
Ri randOut
Hi
Mi
Si firma
Moacutedulode firmalowast
Mi
Si
Si
Mi∥Si
Para simplificar el diagrama omite los detalles de serializacioacuten (por ejemplo longitudes de campo y relleno) y algunos campos de metadatos
2030
4 Faros de aleatoriedad mdash Uso
Pauta 4
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2130
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]
I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado
publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Algunos datos de NISTInstituto Nacional de Normalizacioacuten y Tecnologiacutea (NIST)(National Bureau of Standards 1901ndash1988 rarr NIST 1988ndashpresent)
I Misioacuten (palabras clave) innovacioacuten competitividad industrial ciencianormas y tecnologiacutea de medicioacuten seguridad econoacutemica calidad de vida
Amplia gama de competenciasndash Personal de sim 6ndash7 times 103
ndash Cinco laboratorios y dos centrosndash Laboratorios rarr Divisiones rarr Grupos rarr Proyectosndash Normas investigacioacuten y aplicaciones
Foto aeacuterea del campus en Gaithersburg (fuente Google Maps Agosto 2019)
430
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Algunos datos de NISTInstituto Nacional de Normalizacioacuten y Tecnologiacutea (NIST)(National Bureau of Standards 1901ndash1988 rarr NIST 1988ndashpresent)
I Misioacuten (palabras clave) innovacioacuten competitividad industrial ciencianormas y tecnologiacutea de medicioacuten seguridad econoacutemica calidad de vida
Amplia gama de competenciasndash Personal de sim 6ndash7 times 103
ndash Cinco laboratorios y dos centrosndash Laboratorios rarr Divisiones rarr Grupos rarr Proyectosndash Normas investigacioacuten y aplicaciones
Foto aeacuterea del campus en Gaithersburg (fuente Google Maps Agosto 2019)
430
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Laboratorios divisiones grupos
Laboratorio de Tecnologiacuteas de la Informacioacuten (ITL)Investigacioacuten y desarrollo en metrologiacutea estaacutendares y tecnologiacuteaen las aacutereas de informaacutetica matemaacuteticas y estadiacutestica
rarr Divisioacuten de Seguridad Computacional (CSD) Tecnologiacuteas Cripto-graacuteficas Sistemas Seguros y Aplicaciones Componentes Seguros y Meca-nismos Ingenieriacutea de Seguridad y Gestioacuten de Riesgos Pruebas Validacioacuteny Metrologiacutea de Seguridad
rarr Grupo de Tecnologiacuteas Criptograacuteficas (CTG) investigacioacuten ydesarrollo pautas recomendaciones buenas praacutecticas en algoritmosmeacutetodos y protocolos criptograacuteficos
I Documentos FIPS SP 800 NISTIRI Cooperacioacuten internacional gobierno industria mundo acadeacutemico
organismos de normalizacioacuten
FIPS = Federal Information Processing Standards SP 800 = Special Publications in Computer Security NISTIR = NIST Internal or Interagency Report
530
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Laboratorios divisiones grupos
Laboratorio de Tecnologiacuteas de la Informacioacuten (ITL)Investigacioacuten y desarrollo en metrologiacutea estaacutendares y tecnologiacuteaen las aacutereas de informaacutetica matemaacuteticas y estadiacutestica
rarr Divisioacuten de Seguridad Computacional (CSD) Tecnologiacuteas Cripto-graacuteficas Sistemas Seguros y Aplicaciones Componentes Seguros y Meca-nismos Ingenieriacutea de Seguridad y Gestioacuten de Riesgos Pruebas Validacioacuteny Metrologiacutea de Seguridad
rarr Grupo de Tecnologiacuteas Criptograacuteficas (CTG) investigacioacuten ydesarrollo pautas recomendaciones buenas praacutecticas en algoritmosmeacutetodos y protocolos criptograacuteficos
I Documentos FIPS SP 800 NISTIRI Cooperacioacuten internacional gobierno industria mundo acadeacutemico
organismos de normalizacioacuten
FIPS = Federal Information Processing Standards SP 800 = Special Publications in Computer Security NISTIR = NIST Internal or Interagency Report
530
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Laboratorios divisiones grupos
Laboratorio de Tecnologiacuteas de la Informacioacuten (ITL)Investigacioacuten y desarrollo en metrologiacutea estaacutendares y tecnologiacuteaen las aacutereas de informaacutetica matemaacuteticas y estadiacutestica
rarr Divisioacuten de Seguridad Computacional (CSD) Tecnologiacuteas Cripto-graacuteficas Sistemas Seguros y Aplicaciones Componentes Seguros y Meca-nismos Ingenieriacutea de Seguridad y Gestioacuten de Riesgos Pruebas Validacioacuteny Metrologiacutea de Seguridad
rarr Grupo de Tecnologiacuteas Criptograacuteficas (CTG) investigacioacuten ydesarrollo pautas recomendaciones buenas praacutecticas en algoritmosmeacutetodos y protocolos criptograacuteficos
I Documentos FIPS SP 800 NISTIRI Cooperacioacuten internacional gobierno industria mundo acadeacutemico
organismos de normalizacioacuten
FIPS = Federal Information Processing Standards SP 800 = Special Publications in Computer Security NISTIR = NIST Internal or Interagency Report
530
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Laboratorios divisiones grupos
Laboratorio de Tecnologiacuteas de la Informacioacuten (ITL)Investigacioacuten y desarrollo en metrologiacutea estaacutendares y tecnologiacuteaen las aacutereas de informaacutetica matemaacuteticas y estadiacutestica
rarr Divisioacuten de Seguridad Computacional (CSD) Tecnologiacuteas Cripto-graacuteficas Sistemas Seguros y Aplicaciones Componentes Seguros y Meca-nismos Ingenieriacutea de Seguridad y Gestioacuten de Riesgos Pruebas Validacioacuteny Metrologiacutea de Seguridad
rarr Grupo de Tecnologiacuteas Criptograacuteficas (CTG) investigacioacuten ydesarrollo pautas recomendaciones buenas praacutecticas en algoritmosmeacutetodos y protocolos criptograacuteficos
I Documentos FIPS SP 800 NISTIRI Cooperacioacuten internacional gobierno industria mundo acadeacutemico
organismos de normalizacioacutenFIPS = Federal Information Processing Standards SP 800 = Special Publications in Computer Security NISTIR = NIST Internal or Interagency Report
530
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
El Grupo de Criptografiacutea en NISTNational Institute of
Standards and Technology
AdvancedNetwork
Technologies
CommunicationsTechnology
EngineeringInformationTechnology
MaterialMeasurement
PhysicalMeasurement
Applied andComputationalMathematics
ComputerSecurity
AppliedCybersecurity
InformationAccess
Software andSystems
StatisticalEngineering
CryptographicTechnology
Secure Systemsand Applications
Security TestingValidation andMeasurement
Security Componentsand Mechanisms
Security Engineeringand
Risk Management
Post-Quantum
Cryptography
InteroperableRandomnessBeacons
Lightweight
Cryptography
Privacy-Enhancing
CryptographyDigital
SignaturesCircuit
Complexity
Random
BitGeneration
ThresholdCryptography
Labo
ratorio
sDivis
iones
Grup
osProyectosamp
prog
ramas
lowast
(sim6ndash7times103)
(sim7ndash8times102)
(sim1ndash2times102)
(sim3times10)
Neutron Research
Nanoscale Science and Technology Centros
lowast (Algunos proyectosprogramas involucran a varios grupos divisiones o labs) (entre pareacutentesis aproximado de empleados federales y associados)630
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Bien Puacuteblico
I [Wikipedia] rdquoUn bien que estaacute disponible a todos y del cual el uso poruna persona no substrae del uso por otrordquo
Aleatoriedad
I [Wikipedia] rdquoLa aleatoriedad se asocia a todo proceso cuyo resultado noes previsible maacutes que en razoacuten de la intervencioacuten del azarrdquo
I La cualidad de ser impredecible
730
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Bien PuacuteblicoI [Wikipedia] rdquoUn bien que estaacute disponible a todos y del cual el uso por
una persona no substrae del uso por otrordquo
Aleatoriedad
I [Wikipedia] rdquoLa aleatoriedad se asocia a todo proceso cuyo resultado noes previsible maacutes que en razoacuten de la intervencioacuten del azarrdquo
I La cualidad de ser impredecible
730
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Bien PuacuteblicoI [Wikipedia] rdquoUn bien que estaacute disponible a todos y del cual el uso por
una persona no substrae del uso por otrordquo
AleatoriedadI [Wikipedia] rdquoLa aleatoriedad se asocia a todo proceso cuyo resultado no
es previsible maacutes que en razoacuten de la intervencioacuten del azarrdquoI La cualidad de ser impredecible
730
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedad
I Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generados
I Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digital
I Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblico
I La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Una aplicacioacuten en Chile
I La Contraloriacutea General de la Repuacuteblica selecciona al azar a funcionariospuacuteblicos para auditoriacuteas financieras
I Es natural que una persona seleccionada cuestione como fueacute la seleccioacuten
I Junto con la Univ de Chile se ha desarrollado una aplicacioacuten quepermitiraacute hacer la seleccioacuten utilizando aleatoriedad puacuteblica
I En etapa de prueba en Contraloriacuteahttpsrandomuchileclprojectscontraloria
930
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
2 Faros de aleatoriedad mdash Formato
Pauta 2
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1130
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Arquitectura del servicio Beacon
HSM
Reloj
RNGFaroApp
RNG3
Motor del Faro
Servidorde
tiempo
BD(interfazweb)
Web(usuarios)
Cf
Leyenda- App aplicacioacuten (software)- BD base de datos- Cf cortafuegos- HSM moacutedulo de seguridad de hardware- RNG generador de nuacutemeros aleatorios
consultas
Firma
Pulso
Entropiacuteaexterna
RNG
respuestas
Pero iquestqueacute es exactamente un pulso iquestde donde proviene su aleatoriedad
1330
2 Faros de aleatoriedad mdash Formato
Arquitectura del servicio Beacon
HSM
Reloj
RNGFaroApp
RNG3
Motor del Faro
Servidorde
tiempo
BD(interfazweb)
Web(usuarios)
Cf
Leyenda- App aplicacioacuten (software)- BD base de datos- Cf cortafuegos- HSM moacutedulo de seguridad de hardware- RNG generador de nuacutemeros aleatorios
consultas
Firma
Pulso
Entropiacuteaexterna
RNG
respuestas
Pero iquestqueacute es exactamente un pulso iquestde donde proviene su aleatoriedad
1330
2 Faros de aleatoriedad mdash Formato
Algunos conceptos uacutetiles para esta charla
I Hash
mdash como una huella dactilar de datos (secuencia rdquouacutenicardquo de 512 bits)mdash parece aleatorio si se desconocen sus datos de origen
I Compromiso (Commitment)
mdash como una boacuteveda que oculta datos hasta que se abremdash una vez cerrado no se puede cambiar lo que hay dentro
I Firma [digital] (Signature)
mdash como una firma fiacutesica pero no se puede falsificarmdash la firma copiada no es vaacutelida para otro documento
1430
2 Faros de aleatoriedad mdash Formato
Algunos conceptos uacutetiles para esta charla
I Hashmdash como una huella dactilar de datos (secuencia rdquouacutenicardquo de 512 bits)mdash parece aleatorio si se desconocen sus datos de origen
I Compromiso (Commitment)mdash como una boacuteveda que oculta datos hasta que se abremdash una vez cerrado no se puede cambiar lo que hay dentro
I Firma [digital] (Signature)mdash como una firma fiacutesica pero no se puede falsificarmdash la firma copiada no es vaacutelida para otro documento
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido randOut encadenado
1530
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
3 Faros de aleatoriedad mdash Operaciones
Pauta 3
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1730
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten
1 Sin liberacioacuten avanzada de pulso (δ ge 0)
2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)4 Sin liberacioacuten retrasada (δ pequentildeo) rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo1930
3 Faros de aleatoriedad mdash Operaciones
Un posible diagrama de generacioacuten de pulso
HSM
Leyenda ndash BD base de datos ndash ∥ concatenacioacutenndash liberado no antes de la marca de tiempondash HSM moacutedulo de seguridad de hardwarendash NTP protocolo de red de tiempondash RNG generador de nuacutemeros aleatoriosndash UTC Tiempo Universal Coordinado
DB
NTP
MDi algunos metadatos (uri version cipher period certId chainId)
Pasti = (Riminus1 RH[iminus1] RD[iminus1] RM [iminus1] RY [iminus1]) previous (i minus 1)and 1st of hour (H) day (D) month (M) and year (Y ) of previous
Mi = MDi∥i∥Ti∥ri∥Ei∥Pasti∥Ci∥zi
Servidorde tiempo(remoto)
Reloj(on chip)
Hashdel valorexterno
Ri
Ri
i iacutendice de pulso (entero incrementado en 1 por cada pulso liberado)
Ti marca de tiempo (UTC precisioacuten ms eg ldquo2018-07-23T192600000Zrdquo)
ri randLocal (512 bits)Ei external (srcId status value) (todos ceros cuando no estaacuten disponibles)
Ci preCom (512 bits)zi status (32 bits)
Pi (pulso)pulsify
Pi =Mi∥Ri∥Si
RNG 2
(randLocaldel pulsosiguiente)
ρi2 (512 bits)
ρi1∥ρi2
[∥ρi3]
RNG 3(quantum)
Cachelocal
ri+1
ρi1
(512bits)
HashHashRNG 1(on chip)
ρi3
(512bits)
HashHashri+1
HashHash
HashHash
Ri randOut
Hi
Mi
Si firma
Moacutedulode firmalowast
Mi
Si
Si
Mi∥Si
Para simplificar el diagrama omite los detalles de serializacioacuten (por ejemplo longitudes de campo y relleno) y algunos campos de metadatos
2030
4 Faros de aleatoriedad mdash Uso
Pauta 4
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2130
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]
I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado
publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Algunos datos de NISTInstituto Nacional de Normalizacioacuten y Tecnologiacutea (NIST)(National Bureau of Standards 1901ndash1988 rarr NIST 1988ndashpresent)
I Misioacuten (palabras clave) innovacioacuten competitividad industrial ciencianormas y tecnologiacutea de medicioacuten seguridad econoacutemica calidad de vida
Amplia gama de competenciasndash Personal de sim 6ndash7 times 103
ndash Cinco laboratorios y dos centrosndash Laboratorios rarr Divisiones rarr Grupos rarr Proyectosndash Normas investigacioacuten y aplicaciones
Foto aeacuterea del campus en Gaithersburg (fuente Google Maps Agosto 2019)
430
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Laboratorios divisiones grupos
Laboratorio de Tecnologiacuteas de la Informacioacuten (ITL)Investigacioacuten y desarrollo en metrologiacutea estaacutendares y tecnologiacuteaen las aacutereas de informaacutetica matemaacuteticas y estadiacutestica
rarr Divisioacuten de Seguridad Computacional (CSD) Tecnologiacuteas Cripto-graacuteficas Sistemas Seguros y Aplicaciones Componentes Seguros y Meca-nismos Ingenieriacutea de Seguridad y Gestioacuten de Riesgos Pruebas Validacioacuteny Metrologiacutea de Seguridad
rarr Grupo de Tecnologiacuteas Criptograacuteficas (CTG) investigacioacuten ydesarrollo pautas recomendaciones buenas praacutecticas en algoritmosmeacutetodos y protocolos criptograacuteficos
I Documentos FIPS SP 800 NISTIRI Cooperacioacuten internacional gobierno industria mundo acadeacutemico
organismos de normalizacioacuten
FIPS = Federal Information Processing Standards SP 800 = Special Publications in Computer Security NISTIR = NIST Internal or Interagency Report
530
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Laboratorios divisiones grupos
Laboratorio de Tecnologiacuteas de la Informacioacuten (ITL)Investigacioacuten y desarrollo en metrologiacutea estaacutendares y tecnologiacuteaen las aacutereas de informaacutetica matemaacuteticas y estadiacutestica
rarr Divisioacuten de Seguridad Computacional (CSD) Tecnologiacuteas Cripto-graacuteficas Sistemas Seguros y Aplicaciones Componentes Seguros y Meca-nismos Ingenieriacutea de Seguridad y Gestioacuten de Riesgos Pruebas Validacioacuteny Metrologiacutea de Seguridad
rarr Grupo de Tecnologiacuteas Criptograacuteficas (CTG) investigacioacuten ydesarrollo pautas recomendaciones buenas praacutecticas en algoritmosmeacutetodos y protocolos criptograacuteficos
I Documentos FIPS SP 800 NISTIRI Cooperacioacuten internacional gobierno industria mundo acadeacutemico
organismos de normalizacioacuten
FIPS = Federal Information Processing Standards SP 800 = Special Publications in Computer Security NISTIR = NIST Internal or Interagency Report
530
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Laboratorios divisiones grupos
Laboratorio de Tecnologiacuteas de la Informacioacuten (ITL)Investigacioacuten y desarrollo en metrologiacutea estaacutendares y tecnologiacuteaen las aacutereas de informaacutetica matemaacuteticas y estadiacutestica
rarr Divisioacuten de Seguridad Computacional (CSD) Tecnologiacuteas Cripto-graacuteficas Sistemas Seguros y Aplicaciones Componentes Seguros y Meca-nismos Ingenieriacutea de Seguridad y Gestioacuten de Riesgos Pruebas Validacioacuteny Metrologiacutea de Seguridad
rarr Grupo de Tecnologiacuteas Criptograacuteficas (CTG) investigacioacuten ydesarrollo pautas recomendaciones buenas praacutecticas en algoritmosmeacutetodos y protocolos criptograacuteficos
I Documentos FIPS SP 800 NISTIRI Cooperacioacuten internacional gobierno industria mundo acadeacutemico
organismos de normalizacioacuten
FIPS = Federal Information Processing Standards SP 800 = Special Publications in Computer Security NISTIR = NIST Internal or Interagency Report
530
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Laboratorios divisiones grupos
Laboratorio de Tecnologiacuteas de la Informacioacuten (ITL)Investigacioacuten y desarrollo en metrologiacutea estaacutendares y tecnologiacuteaen las aacutereas de informaacutetica matemaacuteticas y estadiacutestica
rarr Divisioacuten de Seguridad Computacional (CSD) Tecnologiacuteas Cripto-graacuteficas Sistemas Seguros y Aplicaciones Componentes Seguros y Meca-nismos Ingenieriacutea de Seguridad y Gestioacuten de Riesgos Pruebas Validacioacuteny Metrologiacutea de Seguridad
rarr Grupo de Tecnologiacuteas Criptograacuteficas (CTG) investigacioacuten ydesarrollo pautas recomendaciones buenas praacutecticas en algoritmosmeacutetodos y protocolos criptograacuteficos
I Documentos FIPS SP 800 NISTIRI Cooperacioacuten internacional gobierno industria mundo acadeacutemico
organismos de normalizacioacutenFIPS = Federal Information Processing Standards SP 800 = Special Publications in Computer Security NISTIR = NIST Internal or Interagency Report
530
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
El Grupo de Criptografiacutea en NISTNational Institute of
Standards and Technology
AdvancedNetwork
Technologies
CommunicationsTechnology
EngineeringInformationTechnology
MaterialMeasurement
PhysicalMeasurement
Applied andComputationalMathematics
ComputerSecurity
AppliedCybersecurity
InformationAccess
Software andSystems
StatisticalEngineering
CryptographicTechnology
Secure Systemsand Applications
Security TestingValidation andMeasurement
Security Componentsand Mechanisms
Security Engineeringand
Risk Management
Post-Quantum
Cryptography
InteroperableRandomnessBeacons
Lightweight
Cryptography
Privacy-Enhancing
CryptographyDigital
SignaturesCircuit
Complexity
Random
BitGeneration
ThresholdCryptography
Labo
ratorio
sDivis
iones
Grup
osProyectosamp
prog
ramas
lowast
(sim6ndash7times103)
(sim7ndash8times102)
(sim1ndash2times102)
(sim3times10)
Neutron Research
Nanoscale Science and Technology Centros
lowast (Algunos proyectosprogramas involucran a varios grupos divisiones o labs) (entre pareacutentesis aproximado de empleados federales y associados)630
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Bien Puacuteblico
I [Wikipedia] rdquoUn bien que estaacute disponible a todos y del cual el uso poruna persona no substrae del uso por otrordquo
Aleatoriedad
I [Wikipedia] rdquoLa aleatoriedad se asocia a todo proceso cuyo resultado noes previsible maacutes que en razoacuten de la intervencioacuten del azarrdquo
I La cualidad de ser impredecible
730
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Bien PuacuteblicoI [Wikipedia] rdquoUn bien que estaacute disponible a todos y del cual el uso por
una persona no substrae del uso por otrordquo
Aleatoriedad
I [Wikipedia] rdquoLa aleatoriedad se asocia a todo proceso cuyo resultado noes previsible maacutes que en razoacuten de la intervencioacuten del azarrdquo
I La cualidad de ser impredecible
730
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Bien PuacuteblicoI [Wikipedia] rdquoUn bien que estaacute disponible a todos y del cual el uso por
una persona no substrae del uso por otrordquo
AleatoriedadI [Wikipedia] rdquoLa aleatoriedad se asocia a todo proceso cuyo resultado no
es previsible maacutes que en razoacuten de la intervencioacuten del azarrdquoI La cualidad de ser impredecible
730
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedad
I Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generados
I Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digital
I Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblico
I La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Una aplicacioacuten en Chile
I La Contraloriacutea General de la Repuacuteblica selecciona al azar a funcionariospuacuteblicos para auditoriacuteas financieras
I Es natural que una persona seleccionada cuestione como fueacute la seleccioacuten
I Junto con la Univ de Chile se ha desarrollado una aplicacioacuten quepermitiraacute hacer la seleccioacuten utilizando aleatoriedad puacuteblica
I En etapa de prueba en Contraloriacuteahttpsrandomuchileclprojectscontraloria
930
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
2 Faros de aleatoriedad mdash Formato
Pauta 2
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1130
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Arquitectura del servicio Beacon
HSM
Reloj
RNGFaroApp
RNG3
Motor del Faro
Servidorde
tiempo
BD(interfazweb)
Web(usuarios)
Cf
Leyenda- App aplicacioacuten (software)- BD base de datos- Cf cortafuegos- HSM moacutedulo de seguridad de hardware- RNG generador de nuacutemeros aleatorios
consultas
Firma
Pulso
Entropiacuteaexterna
RNG
respuestas
Pero iquestqueacute es exactamente un pulso iquestde donde proviene su aleatoriedad
1330
2 Faros de aleatoriedad mdash Formato
Arquitectura del servicio Beacon
HSM
Reloj
RNGFaroApp
RNG3
Motor del Faro
Servidorde
tiempo
BD(interfazweb)
Web(usuarios)
Cf
Leyenda- App aplicacioacuten (software)- BD base de datos- Cf cortafuegos- HSM moacutedulo de seguridad de hardware- RNG generador de nuacutemeros aleatorios
consultas
Firma
Pulso
Entropiacuteaexterna
RNG
respuestas
Pero iquestqueacute es exactamente un pulso iquestde donde proviene su aleatoriedad
1330
2 Faros de aleatoriedad mdash Formato
Algunos conceptos uacutetiles para esta charla
I Hash
mdash como una huella dactilar de datos (secuencia rdquouacutenicardquo de 512 bits)mdash parece aleatorio si se desconocen sus datos de origen
I Compromiso (Commitment)
mdash como una boacuteveda que oculta datos hasta que se abremdash una vez cerrado no se puede cambiar lo que hay dentro
I Firma [digital] (Signature)
mdash como una firma fiacutesica pero no se puede falsificarmdash la firma copiada no es vaacutelida para otro documento
1430
2 Faros de aleatoriedad mdash Formato
Algunos conceptos uacutetiles para esta charla
I Hashmdash como una huella dactilar de datos (secuencia rdquouacutenicardquo de 512 bits)mdash parece aleatorio si se desconocen sus datos de origen
I Compromiso (Commitment)mdash como una boacuteveda que oculta datos hasta que se abremdash una vez cerrado no se puede cambiar lo que hay dentro
I Firma [digital] (Signature)mdash como una firma fiacutesica pero no se puede falsificarmdash la firma copiada no es vaacutelida para otro documento
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido randOut encadenado
1530
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
3 Faros de aleatoriedad mdash Operaciones
Pauta 3
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1730
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten
1 Sin liberacioacuten avanzada de pulso (δ ge 0)
2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)4 Sin liberacioacuten retrasada (δ pequentildeo) rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo1930
3 Faros de aleatoriedad mdash Operaciones
Un posible diagrama de generacioacuten de pulso
HSM
Leyenda ndash BD base de datos ndash ∥ concatenacioacutenndash liberado no antes de la marca de tiempondash HSM moacutedulo de seguridad de hardwarendash NTP protocolo de red de tiempondash RNG generador de nuacutemeros aleatoriosndash UTC Tiempo Universal Coordinado
DB
NTP
MDi algunos metadatos (uri version cipher period certId chainId)
Pasti = (Riminus1 RH[iminus1] RD[iminus1] RM [iminus1] RY [iminus1]) previous (i minus 1)and 1st of hour (H) day (D) month (M) and year (Y ) of previous
Mi = MDi∥i∥Ti∥ri∥Ei∥Pasti∥Ci∥zi
Servidorde tiempo(remoto)
Reloj(on chip)
Hashdel valorexterno
Ri
Ri
i iacutendice de pulso (entero incrementado en 1 por cada pulso liberado)
Ti marca de tiempo (UTC precisioacuten ms eg ldquo2018-07-23T192600000Zrdquo)
ri randLocal (512 bits)Ei external (srcId status value) (todos ceros cuando no estaacuten disponibles)
Ci preCom (512 bits)zi status (32 bits)
Pi (pulso)pulsify
Pi =Mi∥Ri∥Si
RNG 2
(randLocaldel pulsosiguiente)
ρi2 (512 bits)
ρi1∥ρi2
[∥ρi3]
RNG 3(quantum)
Cachelocal
ri+1
ρi1
(512bits)
HashHashRNG 1(on chip)
ρi3
(512bits)
HashHashri+1
HashHash
HashHash
Ri randOut
Hi
Mi
Si firma
Moacutedulode firmalowast
Mi
Si
Si
Mi∥Si
Para simplificar el diagrama omite los detalles de serializacioacuten (por ejemplo longitudes de campo y relleno) y algunos campos de metadatos
2030
4 Faros de aleatoriedad mdash Uso
Pauta 4
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2130
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]
I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado
publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Laboratorios divisiones grupos
Laboratorio de Tecnologiacuteas de la Informacioacuten (ITL)Investigacioacuten y desarrollo en metrologiacutea estaacutendares y tecnologiacuteaen las aacutereas de informaacutetica matemaacuteticas y estadiacutestica
rarr Divisioacuten de Seguridad Computacional (CSD) Tecnologiacuteas Cripto-graacuteficas Sistemas Seguros y Aplicaciones Componentes Seguros y Meca-nismos Ingenieriacutea de Seguridad y Gestioacuten de Riesgos Pruebas Validacioacuteny Metrologiacutea de Seguridad
rarr Grupo de Tecnologiacuteas Criptograacuteficas (CTG) investigacioacuten ydesarrollo pautas recomendaciones buenas praacutecticas en algoritmosmeacutetodos y protocolos criptograacuteficos
I Documentos FIPS SP 800 NISTIRI Cooperacioacuten internacional gobierno industria mundo acadeacutemico
organismos de normalizacioacuten
FIPS = Federal Information Processing Standards SP 800 = Special Publications in Computer Security NISTIR = NIST Internal or Interagency Report
530
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Laboratorios divisiones grupos
Laboratorio de Tecnologiacuteas de la Informacioacuten (ITL)Investigacioacuten y desarrollo en metrologiacutea estaacutendares y tecnologiacuteaen las aacutereas de informaacutetica matemaacuteticas y estadiacutestica
rarr Divisioacuten de Seguridad Computacional (CSD) Tecnologiacuteas Cripto-graacuteficas Sistemas Seguros y Aplicaciones Componentes Seguros y Meca-nismos Ingenieriacutea de Seguridad y Gestioacuten de Riesgos Pruebas Validacioacuteny Metrologiacutea de Seguridad
rarr Grupo de Tecnologiacuteas Criptograacuteficas (CTG) investigacioacuten ydesarrollo pautas recomendaciones buenas praacutecticas en algoritmosmeacutetodos y protocolos criptograacuteficos
I Documentos FIPS SP 800 NISTIRI Cooperacioacuten internacional gobierno industria mundo acadeacutemico
organismos de normalizacioacuten
FIPS = Federal Information Processing Standards SP 800 = Special Publications in Computer Security NISTIR = NIST Internal or Interagency Report
530
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Laboratorios divisiones grupos
Laboratorio de Tecnologiacuteas de la Informacioacuten (ITL)Investigacioacuten y desarrollo en metrologiacutea estaacutendares y tecnologiacuteaen las aacutereas de informaacutetica matemaacuteticas y estadiacutestica
rarr Divisioacuten de Seguridad Computacional (CSD) Tecnologiacuteas Cripto-graacuteficas Sistemas Seguros y Aplicaciones Componentes Seguros y Meca-nismos Ingenieriacutea de Seguridad y Gestioacuten de Riesgos Pruebas Validacioacuteny Metrologiacutea de Seguridad
rarr Grupo de Tecnologiacuteas Criptograacuteficas (CTG) investigacioacuten ydesarrollo pautas recomendaciones buenas praacutecticas en algoritmosmeacutetodos y protocolos criptograacuteficos
I Documentos FIPS SP 800 NISTIRI Cooperacioacuten internacional gobierno industria mundo acadeacutemico
organismos de normalizacioacuten
FIPS = Federal Information Processing Standards SP 800 = Special Publications in Computer Security NISTIR = NIST Internal or Interagency Report
530
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Laboratorios divisiones grupos
Laboratorio de Tecnologiacuteas de la Informacioacuten (ITL)Investigacioacuten y desarrollo en metrologiacutea estaacutendares y tecnologiacuteaen las aacutereas de informaacutetica matemaacuteticas y estadiacutestica
rarr Divisioacuten de Seguridad Computacional (CSD) Tecnologiacuteas Cripto-graacuteficas Sistemas Seguros y Aplicaciones Componentes Seguros y Meca-nismos Ingenieriacutea de Seguridad y Gestioacuten de Riesgos Pruebas Validacioacuteny Metrologiacutea de Seguridad
rarr Grupo de Tecnologiacuteas Criptograacuteficas (CTG) investigacioacuten ydesarrollo pautas recomendaciones buenas praacutecticas en algoritmosmeacutetodos y protocolos criptograacuteficos
I Documentos FIPS SP 800 NISTIRI Cooperacioacuten internacional gobierno industria mundo acadeacutemico
organismos de normalizacioacutenFIPS = Federal Information Processing Standards SP 800 = Special Publications in Computer Security NISTIR = NIST Internal or Interagency Report
530
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
El Grupo de Criptografiacutea en NISTNational Institute of
Standards and Technology
AdvancedNetwork
Technologies
CommunicationsTechnology
EngineeringInformationTechnology
MaterialMeasurement
PhysicalMeasurement
Applied andComputationalMathematics
ComputerSecurity
AppliedCybersecurity
InformationAccess
Software andSystems
StatisticalEngineering
CryptographicTechnology
Secure Systemsand Applications
Security TestingValidation andMeasurement
Security Componentsand Mechanisms
Security Engineeringand
Risk Management
Post-Quantum
Cryptography
InteroperableRandomnessBeacons
Lightweight
Cryptography
Privacy-Enhancing
CryptographyDigital
SignaturesCircuit
Complexity
Random
BitGeneration
ThresholdCryptography
Labo
ratorio
sDivis
iones
Grup
osProyectosamp
prog
ramas
lowast
(sim6ndash7times103)
(sim7ndash8times102)
(sim1ndash2times102)
(sim3times10)
Neutron Research
Nanoscale Science and Technology Centros
lowast (Algunos proyectosprogramas involucran a varios grupos divisiones o labs) (entre pareacutentesis aproximado de empleados federales y associados)630
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Bien Puacuteblico
I [Wikipedia] rdquoUn bien que estaacute disponible a todos y del cual el uso poruna persona no substrae del uso por otrordquo
Aleatoriedad
I [Wikipedia] rdquoLa aleatoriedad se asocia a todo proceso cuyo resultado noes previsible maacutes que en razoacuten de la intervencioacuten del azarrdquo
I La cualidad de ser impredecible
730
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Bien PuacuteblicoI [Wikipedia] rdquoUn bien que estaacute disponible a todos y del cual el uso por
una persona no substrae del uso por otrordquo
Aleatoriedad
I [Wikipedia] rdquoLa aleatoriedad se asocia a todo proceso cuyo resultado noes previsible maacutes que en razoacuten de la intervencioacuten del azarrdquo
I La cualidad de ser impredecible
730
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Bien PuacuteblicoI [Wikipedia] rdquoUn bien que estaacute disponible a todos y del cual el uso por
una persona no substrae del uso por otrordquo
AleatoriedadI [Wikipedia] rdquoLa aleatoriedad se asocia a todo proceso cuyo resultado no
es previsible maacutes que en razoacuten de la intervencioacuten del azarrdquoI La cualidad de ser impredecible
730
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedad
I Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generados
I Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digital
I Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblico
I La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Una aplicacioacuten en Chile
I La Contraloriacutea General de la Repuacuteblica selecciona al azar a funcionariospuacuteblicos para auditoriacuteas financieras
I Es natural que una persona seleccionada cuestione como fueacute la seleccioacuten
I Junto con la Univ de Chile se ha desarrollado una aplicacioacuten quepermitiraacute hacer la seleccioacuten utilizando aleatoriedad puacuteblica
I En etapa de prueba en Contraloriacuteahttpsrandomuchileclprojectscontraloria
930
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
2 Faros de aleatoriedad mdash Formato
Pauta 2
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1130
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Arquitectura del servicio Beacon
HSM
Reloj
RNGFaroApp
RNG3
Motor del Faro
Servidorde
tiempo
BD(interfazweb)
Web(usuarios)
Cf
Leyenda- App aplicacioacuten (software)- BD base de datos- Cf cortafuegos- HSM moacutedulo de seguridad de hardware- RNG generador de nuacutemeros aleatorios
consultas
Firma
Pulso
Entropiacuteaexterna
RNG
respuestas
Pero iquestqueacute es exactamente un pulso iquestde donde proviene su aleatoriedad
1330
2 Faros de aleatoriedad mdash Formato
Arquitectura del servicio Beacon
HSM
Reloj
RNGFaroApp
RNG3
Motor del Faro
Servidorde
tiempo
BD(interfazweb)
Web(usuarios)
Cf
Leyenda- App aplicacioacuten (software)- BD base de datos- Cf cortafuegos- HSM moacutedulo de seguridad de hardware- RNG generador de nuacutemeros aleatorios
consultas
Firma
Pulso
Entropiacuteaexterna
RNG
respuestas
Pero iquestqueacute es exactamente un pulso iquestde donde proviene su aleatoriedad
1330
2 Faros de aleatoriedad mdash Formato
Algunos conceptos uacutetiles para esta charla
I Hash
mdash como una huella dactilar de datos (secuencia rdquouacutenicardquo de 512 bits)mdash parece aleatorio si se desconocen sus datos de origen
I Compromiso (Commitment)
mdash como una boacuteveda que oculta datos hasta que se abremdash una vez cerrado no se puede cambiar lo que hay dentro
I Firma [digital] (Signature)
mdash como una firma fiacutesica pero no se puede falsificarmdash la firma copiada no es vaacutelida para otro documento
1430
2 Faros de aleatoriedad mdash Formato
Algunos conceptos uacutetiles para esta charla
I Hashmdash como una huella dactilar de datos (secuencia rdquouacutenicardquo de 512 bits)mdash parece aleatorio si se desconocen sus datos de origen
I Compromiso (Commitment)mdash como una boacuteveda que oculta datos hasta que se abremdash una vez cerrado no se puede cambiar lo que hay dentro
I Firma [digital] (Signature)mdash como una firma fiacutesica pero no se puede falsificarmdash la firma copiada no es vaacutelida para otro documento
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido randOut encadenado
1530
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
3 Faros de aleatoriedad mdash Operaciones
Pauta 3
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1730
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten
1 Sin liberacioacuten avanzada de pulso (δ ge 0)
2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)4 Sin liberacioacuten retrasada (δ pequentildeo) rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo1930
3 Faros de aleatoriedad mdash Operaciones
Un posible diagrama de generacioacuten de pulso
HSM
Leyenda ndash BD base de datos ndash ∥ concatenacioacutenndash liberado no antes de la marca de tiempondash HSM moacutedulo de seguridad de hardwarendash NTP protocolo de red de tiempondash RNG generador de nuacutemeros aleatoriosndash UTC Tiempo Universal Coordinado
DB
NTP
MDi algunos metadatos (uri version cipher period certId chainId)
Pasti = (Riminus1 RH[iminus1] RD[iminus1] RM [iminus1] RY [iminus1]) previous (i minus 1)and 1st of hour (H) day (D) month (M) and year (Y ) of previous
Mi = MDi∥i∥Ti∥ri∥Ei∥Pasti∥Ci∥zi
Servidorde tiempo(remoto)
Reloj(on chip)
Hashdel valorexterno
Ri
Ri
i iacutendice de pulso (entero incrementado en 1 por cada pulso liberado)
Ti marca de tiempo (UTC precisioacuten ms eg ldquo2018-07-23T192600000Zrdquo)
ri randLocal (512 bits)Ei external (srcId status value) (todos ceros cuando no estaacuten disponibles)
Ci preCom (512 bits)zi status (32 bits)
Pi (pulso)pulsify
Pi =Mi∥Ri∥Si
RNG 2
(randLocaldel pulsosiguiente)
ρi2 (512 bits)
ρi1∥ρi2
[∥ρi3]
RNG 3(quantum)
Cachelocal
ri+1
ρi1
(512bits)
HashHashRNG 1(on chip)
ρi3
(512bits)
HashHashri+1
HashHash
HashHash
Ri randOut
Hi
Mi
Si firma
Moacutedulode firmalowast
Mi
Si
Si
Mi∥Si
Para simplificar el diagrama omite los detalles de serializacioacuten (por ejemplo longitudes de campo y relleno) y algunos campos de metadatos
2030
4 Faros de aleatoriedad mdash Uso
Pauta 4
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2130
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]
I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado
publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Laboratorios divisiones grupos
Laboratorio de Tecnologiacuteas de la Informacioacuten (ITL)Investigacioacuten y desarrollo en metrologiacutea estaacutendares y tecnologiacuteaen las aacutereas de informaacutetica matemaacuteticas y estadiacutestica
rarr Divisioacuten de Seguridad Computacional (CSD) Tecnologiacuteas Cripto-graacuteficas Sistemas Seguros y Aplicaciones Componentes Seguros y Meca-nismos Ingenieriacutea de Seguridad y Gestioacuten de Riesgos Pruebas Validacioacuteny Metrologiacutea de Seguridad
rarr Grupo de Tecnologiacuteas Criptograacuteficas (CTG) investigacioacuten ydesarrollo pautas recomendaciones buenas praacutecticas en algoritmosmeacutetodos y protocolos criptograacuteficos
I Documentos FIPS SP 800 NISTIRI Cooperacioacuten internacional gobierno industria mundo acadeacutemico
organismos de normalizacioacuten
FIPS = Federal Information Processing Standards SP 800 = Special Publications in Computer Security NISTIR = NIST Internal or Interagency Report
530
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Laboratorios divisiones grupos
Laboratorio de Tecnologiacuteas de la Informacioacuten (ITL)Investigacioacuten y desarrollo en metrologiacutea estaacutendares y tecnologiacuteaen las aacutereas de informaacutetica matemaacuteticas y estadiacutestica
rarr Divisioacuten de Seguridad Computacional (CSD) Tecnologiacuteas Cripto-graacuteficas Sistemas Seguros y Aplicaciones Componentes Seguros y Meca-nismos Ingenieriacutea de Seguridad y Gestioacuten de Riesgos Pruebas Validacioacuteny Metrologiacutea de Seguridad
rarr Grupo de Tecnologiacuteas Criptograacuteficas (CTG) investigacioacuten ydesarrollo pautas recomendaciones buenas praacutecticas en algoritmosmeacutetodos y protocolos criptograacuteficos
I Documentos FIPS SP 800 NISTIRI Cooperacioacuten internacional gobierno industria mundo acadeacutemico
organismos de normalizacioacuten
FIPS = Federal Information Processing Standards SP 800 = Special Publications in Computer Security NISTIR = NIST Internal or Interagency Report
530
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Laboratorios divisiones grupos
Laboratorio de Tecnologiacuteas de la Informacioacuten (ITL)Investigacioacuten y desarrollo en metrologiacutea estaacutendares y tecnologiacuteaen las aacutereas de informaacutetica matemaacuteticas y estadiacutestica
rarr Divisioacuten de Seguridad Computacional (CSD) Tecnologiacuteas Cripto-graacuteficas Sistemas Seguros y Aplicaciones Componentes Seguros y Meca-nismos Ingenieriacutea de Seguridad y Gestioacuten de Riesgos Pruebas Validacioacuteny Metrologiacutea de Seguridad
rarr Grupo de Tecnologiacuteas Criptograacuteficas (CTG) investigacioacuten ydesarrollo pautas recomendaciones buenas praacutecticas en algoritmosmeacutetodos y protocolos criptograacuteficos
I Documentos FIPS SP 800 NISTIRI Cooperacioacuten internacional gobierno industria mundo acadeacutemico
organismos de normalizacioacutenFIPS = Federal Information Processing Standards SP 800 = Special Publications in Computer Security NISTIR = NIST Internal or Interagency Report
530
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
El Grupo de Criptografiacutea en NISTNational Institute of
Standards and Technology
AdvancedNetwork
Technologies
CommunicationsTechnology
EngineeringInformationTechnology
MaterialMeasurement
PhysicalMeasurement
Applied andComputationalMathematics
ComputerSecurity
AppliedCybersecurity
InformationAccess
Software andSystems
StatisticalEngineering
CryptographicTechnology
Secure Systemsand Applications
Security TestingValidation andMeasurement
Security Componentsand Mechanisms
Security Engineeringand
Risk Management
Post-Quantum
Cryptography
InteroperableRandomnessBeacons
Lightweight
Cryptography
Privacy-Enhancing
CryptographyDigital
SignaturesCircuit
Complexity
Random
BitGeneration
ThresholdCryptography
Labo
ratorio
sDivis
iones
Grup
osProyectosamp
prog
ramas
lowast
(sim6ndash7times103)
(sim7ndash8times102)
(sim1ndash2times102)
(sim3times10)
Neutron Research
Nanoscale Science and Technology Centros
lowast (Algunos proyectosprogramas involucran a varios grupos divisiones o labs) (entre pareacutentesis aproximado de empleados federales y associados)630
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Bien Puacuteblico
I [Wikipedia] rdquoUn bien que estaacute disponible a todos y del cual el uso poruna persona no substrae del uso por otrordquo
Aleatoriedad
I [Wikipedia] rdquoLa aleatoriedad se asocia a todo proceso cuyo resultado noes previsible maacutes que en razoacuten de la intervencioacuten del azarrdquo
I La cualidad de ser impredecible
730
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Bien PuacuteblicoI [Wikipedia] rdquoUn bien que estaacute disponible a todos y del cual el uso por
una persona no substrae del uso por otrordquo
Aleatoriedad
I [Wikipedia] rdquoLa aleatoriedad se asocia a todo proceso cuyo resultado noes previsible maacutes que en razoacuten de la intervencioacuten del azarrdquo
I La cualidad de ser impredecible
730
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Bien PuacuteblicoI [Wikipedia] rdquoUn bien que estaacute disponible a todos y del cual el uso por
una persona no substrae del uso por otrordquo
AleatoriedadI [Wikipedia] rdquoLa aleatoriedad se asocia a todo proceso cuyo resultado no
es previsible maacutes que en razoacuten de la intervencioacuten del azarrdquoI La cualidad de ser impredecible
730
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedad
I Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generados
I Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digital
I Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblico
I La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Una aplicacioacuten en Chile
I La Contraloriacutea General de la Repuacuteblica selecciona al azar a funcionariospuacuteblicos para auditoriacuteas financieras
I Es natural que una persona seleccionada cuestione como fueacute la seleccioacuten
I Junto con la Univ de Chile se ha desarrollado una aplicacioacuten quepermitiraacute hacer la seleccioacuten utilizando aleatoriedad puacuteblica
I En etapa de prueba en Contraloriacuteahttpsrandomuchileclprojectscontraloria
930
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
2 Faros de aleatoriedad mdash Formato
Pauta 2
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1130
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Arquitectura del servicio Beacon
HSM
Reloj
RNGFaroApp
RNG3
Motor del Faro
Servidorde
tiempo
BD(interfazweb)
Web(usuarios)
Cf
Leyenda- App aplicacioacuten (software)- BD base de datos- Cf cortafuegos- HSM moacutedulo de seguridad de hardware- RNG generador de nuacutemeros aleatorios
consultas
Firma
Pulso
Entropiacuteaexterna
RNG
respuestas
Pero iquestqueacute es exactamente un pulso iquestde donde proviene su aleatoriedad
1330
2 Faros de aleatoriedad mdash Formato
Arquitectura del servicio Beacon
HSM
Reloj
RNGFaroApp
RNG3
Motor del Faro
Servidorde
tiempo
BD(interfazweb)
Web(usuarios)
Cf
Leyenda- App aplicacioacuten (software)- BD base de datos- Cf cortafuegos- HSM moacutedulo de seguridad de hardware- RNG generador de nuacutemeros aleatorios
consultas
Firma
Pulso
Entropiacuteaexterna
RNG
respuestas
Pero iquestqueacute es exactamente un pulso iquestde donde proviene su aleatoriedad
1330
2 Faros de aleatoriedad mdash Formato
Algunos conceptos uacutetiles para esta charla
I Hash
mdash como una huella dactilar de datos (secuencia rdquouacutenicardquo de 512 bits)mdash parece aleatorio si se desconocen sus datos de origen
I Compromiso (Commitment)
mdash como una boacuteveda que oculta datos hasta que se abremdash una vez cerrado no se puede cambiar lo que hay dentro
I Firma [digital] (Signature)
mdash como una firma fiacutesica pero no se puede falsificarmdash la firma copiada no es vaacutelida para otro documento
1430
2 Faros de aleatoriedad mdash Formato
Algunos conceptos uacutetiles para esta charla
I Hashmdash como una huella dactilar de datos (secuencia rdquouacutenicardquo de 512 bits)mdash parece aleatorio si se desconocen sus datos de origen
I Compromiso (Commitment)mdash como una boacuteveda que oculta datos hasta que se abremdash una vez cerrado no se puede cambiar lo que hay dentro
I Firma [digital] (Signature)mdash como una firma fiacutesica pero no se puede falsificarmdash la firma copiada no es vaacutelida para otro documento
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido randOut encadenado
1530
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
3 Faros de aleatoriedad mdash Operaciones
Pauta 3
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1730
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten
1 Sin liberacioacuten avanzada de pulso (δ ge 0)
2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)4 Sin liberacioacuten retrasada (δ pequentildeo) rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo1930
3 Faros de aleatoriedad mdash Operaciones
Un posible diagrama de generacioacuten de pulso
HSM
Leyenda ndash BD base de datos ndash ∥ concatenacioacutenndash liberado no antes de la marca de tiempondash HSM moacutedulo de seguridad de hardwarendash NTP protocolo de red de tiempondash RNG generador de nuacutemeros aleatoriosndash UTC Tiempo Universal Coordinado
DB
NTP
MDi algunos metadatos (uri version cipher period certId chainId)
Pasti = (Riminus1 RH[iminus1] RD[iminus1] RM [iminus1] RY [iminus1]) previous (i minus 1)and 1st of hour (H) day (D) month (M) and year (Y ) of previous
Mi = MDi∥i∥Ti∥ri∥Ei∥Pasti∥Ci∥zi
Servidorde tiempo(remoto)
Reloj(on chip)
Hashdel valorexterno
Ri
Ri
i iacutendice de pulso (entero incrementado en 1 por cada pulso liberado)
Ti marca de tiempo (UTC precisioacuten ms eg ldquo2018-07-23T192600000Zrdquo)
ri randLocal (512 bits)Ei external (srcId status value) (todos ceros cuando no estaacuten disponibles)
Ci preCom (512 bits)zi status (32 bits)
Pi (pulso)pulsify
Pi =Mi∥Ri∥Si
RNG 2
(randLocaldel pulsosiguiente)
ρi2 (512 bits)
ρi1∥ρi2
[∥ρi3]
RNG 3(quantum)
Cachelocal
ri+1
ρi1
(512bits)
HashHashRNG 1(on chip)
ρi3
(512bits)
HashHashri+1
HashHash
HashHash
Ri randOut
Hi
Mi
Si firma
Moacutedulode firmalowast
Mi
Si
Si
Mi∥Si
Para simplificar el diagrama omite los detalles de serializacioacuten (por ejemplo longitudes de campo y relleno) y algunos campos de metadatos
2030
4 Faros de aleatoriedad mdash Uso
Pauta 4
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2130
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]
I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado
publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Laboratorios divisiones grupos
Laboratorio de Tecnologiacuteas de la Informacioacuten (ITL)Investigacioacuten y desarrollo en metrologiacutea estaacutendares y tecnologiacuteaen las aacutereas de informaacutetica matemaacuteticas y estadiacutestica
rarr Divisioacuten de Seguridad Computacional (CSD) Tecnologiacuteas Cripto-graacuteficas Sistemas Seguros y Aplicaciones Componentes Seguros y Meca-nismos Ingenieriacutea de Seguridad y Gestioacuten de Riesgos Pruebas Validacioacuteny Metrologiacutea de Seguridad
rarr Grupo de Tecnologiacuteas Criptograacuteficas (CTG) investigacioacuten ydesarrollo pautas recomendaciones buenas praacutecticas en algoritmosmeacutetodos y protocolos criptograacuteficos
I Documentos FIPS SP 800 NISTIRI Cooperacioacuten internacional gobierno industria mundo acadeacutemico
organismos de normalizacioacuten
FIPS = Federal Information Processing Standards SP 800 = Special Publications in Computer Security NISTIR = NIST Internal or Interagency Report
530
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Laboratorios divisiones grupos
Laboratorio de Tecnologiacuteas de la Informacioacuten (ITL)Investigacioacuten y desarrollo en metrologiacutea estaacutendares y tecnologiacuteaen las aacutereas de informaacutetica matemaacuteticas y estadiacutestica
rarr Divisioacuten de Seguridad Computacional (CSD) Tecnologiacuteas Cripto-graacuteficas Sistemas Seguros y Aplicaciones Componentes Seguros y Meca-nismos Ingenieriacutea de Seguridad y Gestioacuten de Riesgos Pruebas Validacioacuteny Metrologiacutea de Seguridad
rarr Grupo de Tecnologiacuteas Criptograacuteficas (CTG) investigacioacuten ydesarrollo pautas recomendaciones buenas praacutecticas en algoritmosmeacutetodos y protocolos criptograacuteficos
I Documentos FIPS SP 800 NISTIRI Cooperacioacuten internacional gobierno industria mundo acadeacutemico
organismos de normalizacioacutenFIPS = Federal Information Processing Standards SP 800 = Special Publications in Computer Security NISTIR = NIST Internal or Interagency Report
530
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
El Grupo de Criptografiacutea en NISTNational Institute of
Standards and Technology
AdvancedNetwork
Technologies
CommunicationsTechnology
EngineeringInformationTechnology
MaterialMeasurement
PhysicalMeasurement
Applied andComputationalMathematics
ComputerSecurity
AppliedCybersecurity
InformationAccess
Software andSystems
StatisticalEngineering
CryptographicTechnology
Secure Systemsand Applications
Security TestingValidation andMeasurement
Security Componentsand Mechanisms
Security Engineeringand
Risk Management
Post-Quantum
Cryptography
InteroperableRandomnessBeacons
Lightweight
Cryptography
Privacy-Enhancing
CryptographyDigital
SignaturesCircuit
Complexity
Random
BitGeneration
ThresholdCryptography
Labo
ratorio
sDivis
iones
Grup
osProyectosamp
prog
ramas
lowast
(sim6ndash7times103)
(sim7ndash8times102)
(sim1ndash2times102)
(sim3times10)
Neutron Research
Nanoscale Science and Technology Centros
lowast (Algunos proyectosprogramas involucran a varios grupos divisiones o labs) (entre pareacutentesis aproximado de empleados federales y associados)630
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Bien Puacuteblico
I [Wikipedia] rdquoUn bien que estaacute disponible a todos y del cual el uso poruna persona no substrae del uso por otrordquo
Aleatoriedad
I [Wikipedia] rdquoLa aleatoriedad se asocia a todo proceso cuyo resultado noes previsible maacutes que en razoacuten de la intervencioacuten del azarrdquo
I La cualidad de ser impredecible
730
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Bien PuacuteblicoI [Wikipedia] rdquoUn bien que estaacute disponible a todos y del cual el uso por
una persona no substrae del uso por otrordquo
Aleatoriedad
I [Wikipedia] rdquoLa aleatoriedad se asocia a todo proceso cuyo resultado noes previsible maacutes que en razoacuten de la intervencioacuten del azarrdquo
I La cualidad de ser impredecible
730
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Bien PuacuteblicoI [Wikipedia] rdquoUn bien que estaacute disponible a todos y del cual el uso por
una persona no substrae del uso por otrordquo
AleatoriedadI [Wikipedia] rdquoLa aleatoriedad se asocia a todo proceso cuyo resultado no
es previsible maacutes que en razoacuten de la intervencioacuten del azarrdquoI La cualidad de ser impredecible
730
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedad
I Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generados
I Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digital
I Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblico
I La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Una aplicacioacuten en Chile
I La Contraloriacutea General de la Repuacuteblica selecciona al azar a funcionariospuacuteblicos para auditoriacuteas financieras
I Es natural que una persona seleccionada cuestione como fueacute la seleccioacuten
I Junto con la Univ de Chile se ha desarrollado una aplicacioacuten quepermitiraacute hacer la seleccioacuten utilizando aleatoriedad puacuteblica
I En etapa de prueba en Contraloriacuteahttpsrandomuchileclprojectscontraloria
930
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
2 Faros de aleatoriedad mdash Formato
Pauta 2
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1130
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Arquitectura del servicio Beacon
HSM
Reloj
RNGFaroApp
RNG3
Motor del Faro
Servidorde
tiempo
BD(interfazweb)
Web(usuarios)
Cf
Leyenda- App aplicacioacuten (software)- BD base de datos- Cf cortafuegos- HSM moacutedulo de seguridad de hardware- RNG generador de nuacutemeros aleatorios
consultas
Firma
Pulso
Entropiacuteaexterna
RNG
respuestas
Pero iquestqueacute es exactamente un pulso iquestde donde proviene su aleatoriedad
1330
2 Faros de aleatoriedad mdash Formato
Arquitectura del servicio Beacon
HSM
Reloj
RNGFaroApp
RNG3
Motor del Faro
Servidorde
tiempo
BD(interfazweb)
Web(usuarios)
Cf
Leyenda- App aplicacioacuten (software)- BD base de datos- Cf cortafuegos- HSM moacutedulo de seguridad de hardware- RNG generador de nuacutemeros aleatorios
consultas
Firma
Pulso
Entropiacuteaexterna
RNG
respuestas
Pero iquestqueacute es exactamente un pulso iquestde donde proviene su aleatoriedad
1330
2 Faros de aleatoriedad mdash Formato
Algunos conceptos uacutetiles para esta charla
I Hash
mdash como una huella dactilar de datos (secuencia rdquouacutenicardquo de 512 bits)mdash parece aleatorio si se desconocen sus datos de origen
I Compromiso (Commitment)
mdash como una boacuteveda que oculta datos hasta que se abremdash una vez cerrado no se puede cambiar lo que hay dentro
I Firma [digital] (Signature)
mdash como una firma fiacutesica pero no se puede falsificarmdash la firma copiada no es vaacutelida para otro documento
1430
2 Faros de aleatoriedad mdash Formato
Algunos conceptos uacutetiles para esta charla
I Hashmdash como una huella dactilar de datos (secuencia rdquouacutenicardquo de 512 bits)mdash parece aleatorio si se desconocen sus datos de origen
I Compromiso (Commitment)mdash como una boacuteveda que oculta datos hasta que se abremdash una vez cerrado no se puede cambiar lo que hay dentro
I Firma [digital] (Signature)mdash como una firma fiacutesica pero no se puede falsificarmdash la firma copiada no es vaacutelida para otro documento
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido randOut encadenado
1530
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
3 Faros de aleatoriedad mdash Operaciones
Pauta 3
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1730
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten
1 Sin liberacioacuten avanzada de pulso (δ ge 0)
2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)4 Sin liberacioacuten retrasada (δ pequentildeo) rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo1930
3 Faros de aleatoriedad mdash Operaciones
Un posible diagrama de generacioacuten de pulso
HSM
Leyenda ndash BD base de datos ndash ∥ concatenacioacutenndash liberado no antes de la marca de tiempondash HSM moacutedulo de seguridad de hardwarendash NTP protocolo de red de tiempondash RNG generador de nuacutemeros aleatoriosndash UTC Tiempo Universal Coordinado
DB
NTP
MDi algunos metadatos (uri version cipher period certId chainId)
Pasti = (Riminus1 RH[iminus1] RD[iminus1] RM [iminus1] RY [iminus1]) previous (i minus 1)and 1st of hour (H) day (D) month (M) and year (Y ) of previous
Mi = MDi∥i∥Ti∥ri∥Ei∥Pasti∥Ci∥zi
Servidorde tiempo(remoto)
Reloj(on chip)
Hashdel valorexterno
Ri
Ri
i iacutendice de pulso (entero incrementado en 1 por cada pulso liberado)
Ti marca de tiempo (UTC precisioacuten ms eg ldquo2018-07-23T192600000Zrdquo)
ri randLocal (512 bits)Ei external (srcId status value) (todos ceros cuando no estaacuten disponibles)
Ci preCom (512 bits)zi status (32 bits)
Pi (pulso)pulsify
Pi =Mi∥Ri∥Si
RNG 2
(randLocaldel pulsosiguiente)
ρi2 (512 bits)
ρi1∥ρi2
[∥ρi3]
RNG 3(quantum)
Cachelocal
ri+1
ρi1
(512bits)
HashHashRNG 1(on chip)
ρi3
(512bits)
HashHashri+1
HashHash
HashHash
Ri randOut
Hi
Mi
Si firma
Moacutedulode firmalowast
Mi
Si
Si
Mi∥Si
Para simplificar el diagrama omite los detalles de serializacioacuten (por ejemplo longitudes de campo y relleno) y algunos campos de metadatos
2030
4 Faros de aleatoriedad mdash Uso
Pauta 4
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2130
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]
I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado
publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Laboratorios divisiones grupos
Laboratorio de Tecnologiacuteas de la Informacioacuten (ITL)Investigacioacuten y desarrollo en metrologiacutea estaacutendares y tecnologiacuteaen las aacutereas de informaacutetica matemaacuteticas y estadiacutestica
rarr Divisioacuten de Seguridad Computacional (CSD) Tecnologiacuteas Cripto-graacuteficas Sistemas Seguros y Aplicaciones Componentes Seguros y Meca-nismos Ingenieriacutea de Seguridad y Gestioacuten de Riesgos Pruebas Validacioacuteny Metrologiacutea de Seguridad
rarr Grupo de Tecnologiacuteas Criptograacuteficas (CTG) investigacioacuten ydesarrollo pautas recomendaciones buenas praacutecticas en algoritmosmeacutetodos y protocolos criptograacuteficos
I Documentos FIPS SP 800 NISTIRI Cooperacioacuten internacional gobierno industria mundo acadeacutemico
organismos de normalizacioacutenFIPS = Federal Information Processing Standards SP 800 = Special Publications in Computer Security NISTIR = NIST Internal or Interagency Report
530
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
El Grupo de Criptografiacutea en NISTNational Institute of
Standards and Technology
AdvancedNetwork
Technologies
CommunicationsTechnology
EngineeringInformationTechnology
MaterialMeasurement
PhysicalMeasurement
Applied andComputationalMathematics
ComputerSecurity
AppliedCybersecurity
InformationAccess
Software andSystems
StatisticalEngineering
CryptographicTechnology
Secure Systemsand Applications
Security TestingValidation andMeasurement
Security Componentsand Mechanisms
Security Engineeringand
Risk Management
Post-Quantum
Cryptography
InteroperableRandomnessBeacons
Lightweight
Cryptography
Privacy-Enhancing
CryptographyDigital
SignaturesCircuit
Complexity
Random
BitGeneration
ThresholdCryptography
Labo
ratorio
sDivis
iones
Grup
osProyectosamp
prog
ramas
lowast
(sim6ndash7times103)
(sim7ndash8times102)
(sim1ndash2times102)
(sim3times10)
Neutron Research
Nanoscale Science and Technology Centros
lowast (Algunos proyectosprogramas involucran a varios grupos divisiones o labs) (entre pareacutentesis aproximado de empleados federales y associados)630
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Bien Puacuteblico
I [Wikipedia] rdquoUn bien que estaacute disponible a todos y del cual el uso poruna persona no substrae del uso por otrordquo
Aleatoriedad
I [Wikipedia] rdquoLa aleatoriedad se asocia a todo proceso cuyo resultado noes previsible maacutes que en razoacuten de la intervencioacuten del azarrdquo
I La cualidad de ser impredecible
730
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Bien PuacuteblicoI [Wikipedia] rdquoUn bien que estaacute disponible a todos y del cual el uso por
una persona no substrae del uso por otrordquo
Aleatoriedad
I [Wikipedia] rdquoLa aleatoriedad se asocia a todo proceso cuyo resultado noes previsible maacutes que en razoacuten de la intervencioacuten del azarrdquo
I La cualidad de ser impredecible
730
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Bien PuacuteblicoI [Wikipedia] rdquoUn bien que estaacute disponible a todos y del cual el uso por
una persona no substrae del uso por otrordquo
AleatoriedadI [Wikipedia] rdquoLa aleatoriedad se asocia a todo proceso cuyo resultado no
es previsible maacutes que en razoacuten de la intervencioacuten del azarrdquoI La cualidad de ser impredecible
730
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedad
I Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generados
I Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digital
I Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblico
I La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Una aplicacioacuten en Chile
I La Contraloriacutea General de la Repuacuteblica selecciona al azar a funcionariospuacuteblicos para auditoriacuteas financieras
I Es natural que una persona seleccionada cuestione como fueacute la seleccioacuten
I Junto con la Univ de Chile se ha desarrollado una aplicacioacuten quepermitiraacute hacer la seleccioacuten utilizando aleatoriedad puacuteblica
I En etapa de prueba en Contraloriacuteahttpsrandomuchileclprojectscontraloria
930
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
2 Faros de aleatoriedad mdash Formato
Pauta 2
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1130
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Arquitectura del servicio Beacon
HSM
Reloj
RNGFaroApp
RNG3
Motor del Faro
Servidorde
tiempo
BD(interfazweb)
Web(usuarios)
Cf
Leyenda- App aplicacioacuten (software)- BD base de datos- Cf cortafuegos- HSM moacutedulo de seguridad de hardware- RNG generador de nuacutemeros aleatorios
consultas
Firma
Pulso
Entropiacuteaexterna
RNG
respuestas
Pero iquestqueacute es exactamente un pulso iquestde donde proviene su aleatoriedad
1330
2 Faros de aleatoriedad mdash Formato
Arquitectura del servicio Beacon
HSM
Reloj
RNGFaroApp
RNG3
Motor del Faro
Servidorde
tiempo
BD(interfazweb)
Web(usuarios)
Cf
Leyenda- App aplicacioacuten (software)- BD base de datos- Cf cortafuegos- HSM moacutedulo de seguridad de hardware- RNG generador de nuacutemeros aleatorios
consultas
Firma
Pulso
Entropiacuteaexterna
RNG
respuestas
Pero iquestqueacute es exactamente un pulso iquestde donde proviene su aleatoriedad
1330
2 Faros de aleatoriedad mdash Formato
Algunos conceptos uacutetiles para esta charla
I Hash
mdash como una huella dactilar de datos (secuencia rdquouacutenicardquo de 512 bits)mdash parece aleatorio si se desconocen sus datos de origen
I Compromiso (Commitment)
mdash como una boacuteveda que oculta datos hasta que se abremdash una vez cerrado no se puede cambiar lo que hay dentro
I Firma [digital] (Signature)
mdash como una firma fiacutesica pero no se puede falsificarmdash la firma copiada no es vaacutelida para otro documento
1430
2 Faros de aleatoriedad mdash Formato
Algunos conceptos uacutetiles para esta charla
I Hashmdash como una huella dactilar de datos (secuencia rdquouacutenicardquo de 512 bits)mdash parece aleatorio si se desconocen sus datos de origen
I Compromiso (Commitment)mdash como una boacuteveda que oculta datos hasta que se abremdash una vez cerrado no se puede cambiar lo que hay dentro
I Firma [digital] (Signature)mdash como una firma fiacutesica pero no se puede falsificarmdash la firma copiada no es vaacutelida para otro documento
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido randOut encadenado
1530
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
3 Faros de aleatoriedad mdash Operaciones
Pauta 3
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1730
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten
1 Sin liberacioacuten avanzada de pulso (δ ge 0)
2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)4 Sin liberacioacuten retrasada (δ pequentildeo) rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo1930
3 Faros de aleatoriedad mdash Operaciones
Un posible diagrama de generacioacuten de pulso
HSM
Leyenda ndash BD base de datos ndash ∥ concatenacioacutenndash liberado no antes de la marca de tiempondash HSM moacutedulo de seguridad de hardwarendash NTP protocolo de red de tiempondash RNG generador de nuacutemeros aleatoriosndash UTC Tiempo Universal Coordinado
DB
NTP
MDi algunos metadatos (uri version cipher period certId chainId)
Pasti = (Riminus1 RH[iminus1] RD[iminus1] RM [iminus1] RY [iminus1]) previous (i minus 1)and 1st of hour (H) day (D) month (M) and year (Y ) of previous
Mi = MDi∥i∥Ti∥ri∥Ei∥Pasti∥Ci∥zi
Servidorde tiempo(remoto)
Reloj(on chip)
Hashdel valorexterno
Ri
Ri
i iacutendice de pulso (entero incrementado en 1 por cada pulso liberado)
Ti marca de tiempo (UTC precisioacuten ms eg ldquo2018-07-23T192600000Zrdquo)
ri randLocal (512 bits)Ei external (srcId status value) (todos ceros cuando no estaacuten disponibles)
Ci preCom (512 bits)zi status (32 bits)
Pi (pulso)pulsify
Pi =Mi∥Ri∥Si
RNG 2
(randLocaldel pulsosiguiente)
ρi2 (512 bits)
ρi1∥ρi2
[∥ρi3]
RNG 3(quantum)
Cachelocal
ri+1
ρi1
(512bits)
HashHashRNG 1(on chip)
ρi3
(512bits)
HashHashri+1
HashHash
HashHash
Ri randOut
Hi
Mi
Si firma
Moacutedulode firmalowast
Mi
Si
Si
Mi∥Si
Para simplificar el diagrama omite los detalles de serializacioacuten (por ejemplo longitudes de campo y relleno) y algunos campos de metadatos
2030
4 Faros de aleatoriedad mdash Uso
Pauta 4
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2130
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]
I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado
publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
El Grupo de Criptografiacutea en NISTNational Institute of
Standards and Technology
AdvancedNetwork
Technologies
CommunicationsTechnology
EngineeringInformationTechnology
MaterialMeasurement
PhysicalMeasurement
Applied andComputationalMathematics
ComputerSecurity
AppliedCybersecurity
InformationAccess
Software andSystems
StatisticalEngineering
CryptographicTechnology
Secure Systemsand Applications
Security TestingValidation andMeasurement
Security Componentsand Mechanisms
Security Engineeringand
Risk Management
Post-Quantum
Cryptography
InteroperableRandomnessBeacons
Lightweight
Cryptography
Privacy-Enhancing
CryptographyDigital
SignaturesCircuit
Complexity
Random
BitGeneration
ThresholdCryptography
Labo
ratorio
sDivis
iones
Grup
osProyectosamp
prog
ramas
lowast
(sim6ndash7times103)
(sim7ndash8times102)
(sim1ndash2times102)
(sim3times10)
Neutron Research
Nanoscale Science and Technology Centros
lowast (Algunos proyectosprogramas involucran a varios grupos divisiones o labs) (entre pareacutentesis aproximado de empleados federales y associados)630
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Bien Puacuteblico
I [Wikipedia] rdquoUn bien que estaacute disponible a todos y del cual el uso poruna persona no substrae del uso por otrordquo
Aleatoriedad
I [Wikipedia] rdquoLa aleatoriedad se asocia a todo proceso cuyo resultado noes previsible maacutes que en razoacuten de la intervencioacuten del azarrdquo
I La cualidad de ser impredecible
730
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Bien PuacuteblicoI [Wikipedia] rdquoUn bien que estaacute disponible a todos y del cual el uso por
una persona no substrae del uso por otrordquo
Aleatoriedad
I [Wikipedia] rdquoLa aleatoriedad se asocia a todo proceso cuyo resultado noes previsible maacutes que en razoacuten de la intervencioacuten del azarrdquo
I La cualidad de ser impredecible
730
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Bien PuacuteblicoI [Wikipedia] rdquoUn bien que estaacute disponible a todos y del cual el uso por
una persona no substrae del uso por otrordquo
AleatoriedadI [Wikipedia] rdquoLa aleatoriedad se asocia a todo proceso cuyo resultado no
es previsible maacutes que en razoacuten de la intervencioacuten del azarrdquoI La cualidad de ser impredecible
730
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedad
I Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generados
I Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digital
I Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblico
I La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Una aplicacioacuten en Chile
I La Contraloriacutea General de la Repuacuteblica selecciona al azar a funcionariospuacuteblicos para auditoriacuteas financieras
I Es natural que una persona seleccionada cuestione como fueacute la seleccioacuten
I Junto con la Univ de Chile se ha desarrollado una aplicacioacuten quepermitiraacute hacer la seleccioacuten utilizando aleatoriedad puacuteblica
I En etapa de prueba en Contraloriacuteahttpsrandomuchileclprojectscontraloria
930
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
2 Faros de aleatoriedad mdash Formato
Pauta 2
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1130
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Arquitectura del servicio Beacon
HSM
Reloj
RNGFaroApp
RNG3
Motor del Faro
Servidorde
tiempo
BD(interfazweb)
Web(usuarios)
Cf
Leyenda- App aplicacioacuten (software)- BD base de datos- Cf cortafuegos- HSM moacutedulo de seguridad de hardware- RNG generador de nuacutemeros aleatorios
consultas
Firma
Pulso
Entropiacuteaexterna
RNG
respuestas
Pero iquestqueacute es exactamente un pulso iquestde donde proviene su aleatoriedad
1330
2 Faros de aleatoriedad mdash Formato
Arquitectura del servicio Beacon
HSM
Reloj
RNGFaroApp
RNG3
Motor del Faro
Servidorde
tiempo
BD(interfazweb)
Web(usuarios)
Cf
Leyenda- App aplicacioacuten (software)- BD base de datos- Cf cortafuegos- HSM moacutedulo de seguridad de hardware- RNG generador de nuacutemeros aleatorios
consultas
Firma
Pulso
Entropiacuteaexterna
RNG
respuestas
Pero iquestqueacute es exactamente un pulso iquestde donde proviene su aleatoriedad
1330
2 Faros de aleatoriedad mdash Formato
Algunos conceptos uacutetiles para esta charla
I Hash
mdash como una huella dactilar de datos (secuencia rdquouacutenicardquo de 512 bits)mdash parece aleatorio si se desconocen sus datos de origen
I Compromiso (Commitment)
mdash como una boacuteveda que oculta datos hasta que se abremdash una vez cerrado no se puede cambiar lo que hay dentro
I Firma [digital] (Signature)
mdash como una firma fiacutesica pero no se puede falsificarmdash la firma copiada no es vaacutelida para otro documento
1430
2 Faros de aleatoriedad mdash Formato
Algunos conceptos uacutetiles para esta charla
I Hashmdash como una huella dactilar de datos (secuencia rdquouacutenicardquo de 512 bits)mdash parece aleatorio si se desconocen sus datos de origen
I Compromiso (Commitment)mdash como una boacuteveda que oculta datos hasta que se abremdash una vez cerrado no se puede cambiar lo que hay dentro
I Firma [digital] (Signature)mdash como una firma fiacutesica pero no se puede falsificarmdash la firma copiada no es vaacutelida para otro documento
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido randOut encadenado
1530
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
3 Faros de aleatoriedad mdash Operaciones
Pauta 3
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1730
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten
1 Sin liberacioacuten avanzada de pulso (δ ge 0)
2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)4 Sin liberacioacuten retrasada (δ pequentildeo) rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo1930
3 Faros de aleatoriedad mdash Operaciones
Un posible diagrama de generacioacuten de pulso
HSM
Leyenda ndash BD base de datos ndash ∥ concatenacioacutenndash liberado no antes de la marca de tiempondash HSM moacutedulo de seguridad de hardwarendash NTP protocolo de red de tiempondash RNG generador de nuacutemeros aleatoriosndash UTC Tiempo Universal Coordinado
DB
NTP
MDi algunos metadatos (uri version cipher period certId chainId)
Pasti = (Riminus1 RH[iminus1] RD[iminus1] RM [iminus1] RY [iminus1]) previous (i minus 1)and 1st of hour (H) day (D) month (M) and year (Y ) of previous
Mi = MDi∥i∥Ti∥ri∥Ei∥Pasti∥Ci∥zi
Servidorde tiempo(remoto)
Reloj(on chip)
Hashdel valorexterno
Ri
Ri
i iacutendice de pulso (entero incrementado en 1 por cada pulso liberado)
Ti marca de tiempo (UTC precisioacuten ms eg ldquo2018-07-23T192600000Zrdquo)
ri randLocal (512 bits)Ei external (srcId status value) (todos ceros cuando no estaacuten disponibles)
Ci preCom (512 bits)zi status (32 bits)
Pi (pulso)pulsify
Pi =Mi∥Ri∥Si
RNG 2
(randLocaldel pulsosiguiente)
ρi2 (512 bits)
ρi1∥ρi2
[∥ρi3]
RNG 3(quantum)
Cachelocal
ri+1
ρi1
(512bits)
HashHashRNG 1(on chip)
ρi3
(512bits)
HashHashri+1
HashHash
HashHash
Ri randOut
Hi
Mi
Si firma
Moacutedulode firmalowast
Mi
Si
Si
Mi∥Si
Para simplificar el diagrama omite los detalles de serializacioacuten (por ejemplo longitudes de campo y relleno) y algunos campos de metadatos
2030
4 Faros de aleatoriedad mdash Uso
Pauta 4
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2130
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]
I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado
publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Bien Puacuteblico
I [Wikipedia] rdquoUn bien que estaacute disponible a todos y del cual el uso poruna persona no substrae del uso por otrordquo
Aleatoriedad
I [Wikipedia] rdquoLa aleatoriedad se asocia a todo proceso cuyo resultado noes previsible maacutes que en razoacuten de la intervencioacuten del azarrdquo
I La cualidad de ser impredecible
730
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Bien PuacuteblicoI [Wikipedia] rdquoUn bien que estaacute disponible a todos y del cual el uso por
una persona no substrae del uso por otrordquo
Aleatoriedad
I [Wikipedia] rdquoLa aleatoriedad se asocia a todo proceso cuyo resultado noes previsible maacutes que en razoacuten de la intervencioacuten del azarrdquo
I La cualidad de ser impredecible
730
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Bien PuacuteblicoI [Wikipedia] rdquoUn bien que estaacute disponible a todos y del cual el uso por
una persona no substrae del uso por otrordquo
AleatoriedadI [Wikipedia] rdquoLa aleatoriedad se asocia a todo proceso cuyo resultado no
es previsible maacutes que en razoacuten de la intervencioacuten del azarrdquoI La cualidad de ser impredecible
730
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedad
I Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generados
I Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digital
I Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblico
I La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Una aplicacioacuten en Chile
I La Contraloriacutea General de la Repuacuteblica selecciona al azar a funcionariospuacuteblicos para auditoriacuteas financieras
I Es natural que una persona seleccionada cuestione como fueacute la seleccioacuten
I Junto con la Univ de Chile se ha desarrollado una aplicacioacuten quepermitiraacute hacer la seleccioacuten utilizando aleatoriedad puacuteblica
I En etapa de prueba en Contraloriacuteahttpsrandomuchileclprojectscontraloria
930
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
2 Faros de aleatoriedad mdash Formato
Pauta 2
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1130
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Arquitectura del servicio Beacon
HSM
Reloj
RNGFaroApp
RNG3
Motor del Faro
Servidorde
tiempo
BD(interfazweb)
Web(usuarios)
Cf
Leyenda- App aplicacioacuten (software)- BD base de datos- Cf cortafuegos- HSM moacutedulo de seguridad de hardware- RNG generador de nuacutemeros aleatorios
consultas
Firma
Pulso
Entropiacuteaexterna
RNG
respuestas
Pero iquestqueacute es exactamente un pulso iquestde donde proviene su aleatoriedad
1330
2 Faros de aleatoriedad mdash Formato
Arquitectura del servicio Beacon
HSM
Reloj
RNGFaroApp
RNG3
Motor del Faro
Servidorde
tiempo
BD(interfazweb)
Web(usuarios)
Cf
Leyenda- App aplicacioacuten (software)- BD base de datos- Cf cortafuegos- HSM moacutedulo de seguridad de hardware- RNG generador de nuacutemeros aleatorios
consultas
Firma
Pulso
Entropiacuteaexterna
RNG
respuestas
Pero iquestqueacute es exactamente un pulso iquestde donde proviene su aleatoriedad
1330
2 Faros de aleatoriedad mdash Formato
Algunos conceptos uacutetiles para esta charla
I Hash
mdash como una huella dactilar de datos (secuencia rdquouacutenicardquo de 512 bits)mdash parece aleatorio si se desconocen sus datos de origen
I Compromiso (Commitment)
mdash como una boacuteveda que oculta datos hasta que se abremdash una vez cerrado no se puede cambiar lo que hay dentro
I Firma [digital] (Signature)
mdash como una firma fiacutesica pero no se puede falsificarmdash la firma copiada no es vaacutelida para otro documento
1430
2 Faros de aleatoriedad mdash Formato
Algunos conceptos uacutetiles para esta charla
I Hashmdash como una huella dactilar de datos (secuencia rdquouacutenicardquo de 512 bits)mdash parece aleatorio si se desconocen sus datos de origen
I Compromiso (Commitment)mdash como una boacuteveda que oculta datos hasta que se abremdash una vez cerrado no se puede cambiar lo que hay dentro
I Firma [digital] (Signature)mdash como una firma fiacutesica pero no se puede falsificarmdash la firma copiada no es vaacutelida para otro documento
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido randOut encadenado
1530
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
3 Faros de aleatoriedad mdash Operaciones
Pauta 3
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1730
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten
1 Sin liberacioacuten avanzada de pulso (δ ge 0)
2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)4 Sin liberacioacuten retrasada (δ pequentildeo) rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo1930
3 Faros de aleatoriedad mdash Operaciones
Un posible diagrama de generacioacuten de pulso
HSM
Leyenda ndash BD base de datos ndash ∥ concatenacioacutenndash liberado no antes de la marca de tiempondash HSM moacutedulo de seguridad de hardwarendash NTP protocolo de red de tiempondash RNG generador de nuacutemeros aleatoriosndash UTC Tiempo Universal Coordinado
DB
NTP
MDi algunos metadatos (uri version cipher period certId chainId)
Pasti = (Riminus1 RH[iminus1] RD[iminus1] RM [iminus1] RY [iminus1]) previous (i minus 1)and 1st of hour (H) day (D) month (M) and year (Y ) of previous
Mi = MDi∥i∥Ti∥ri∥Ei∥Pasti∥Ci∥zi
Servidorde tiempo(remoto)
Reloj(on chip)
Hashdel valorexterno
Ri
Ri
i iacutendice de pulso (entero incrementado en 1 por cada pulso liberado)
Ti marca de tiempo (UTC precisioacuten ms eg ldquo2018-07-23T192600000Zrdquo)
ri randLocal (512 bits)Ei external (srcId status value) (todos ceros cuando no estaacuten disponibles)
Ci preCom (512 bits)zi status (32 bits)
Pi (pulso)pulsify
Pi =Mi∥Ri∥Si
RNG 2
(randLocaldel pulsosiguiente)
ρi2 (512 bits)
ρi1∥ρi2
[∥ρi3]
RNG 3(quantum)
Cachelocal
ri+1
ρi1
(512bits)
HashHashRNG 1(on chip)
ρi3
(512bits)
HashHashri+1
HashHash
HashHash
Ri randOut
Hi
Mi
Si firma
Moacutedulode firmalowast
Mi
Si
Si
Mi∥Si
Para simplificar el diagrama omite los detalles de serializacioacuten (por ejemplo longitudes de campo y relleno) y algunos campos de metadatos
2030
4 Faros de aleatoriedad mdash Uso
Pauta 4
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2130
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]
I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado
publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Bien PuacuteblicoI [Wikipedia] rdquoUn bien que estaacute disponible a todos y del cual el uso por
una persona no substrae del uso por otrordquo
Aleatoriedad
I [Wikipedia] rdquoLa aleatoriedad se asocia a todo proceso cuyo resultado noes previsible maacutes que en razoacuten de la intervencioacuten del azarrdquo
I La cualidad de ser impredecible
730
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Bien PuacuteblicoI [Wikipedia] rdquoUn bien que estaacute disponible a todos y del cual el uso por
una persona no substrae del uso por otrordquo
AleatoriedadI [Wikipedia] rdquoLa aleatoriedad se asocia a todo proceso cuyo resultado no
es previsible maacutes que en razoacuten de la intervencioacuten del azarrdquoI La cualidad de ser impredecible
730
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedad
I Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generados
I Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digital
I Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblico
I La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Una aplicacioacuten en Chile
I La Contraloriacutea General de la Repuacuteblica selecciona al azar a funcionariospuacuteblicos para auditoriacuteas financieras
I Es natural que una persona seleccionada cuestione como fueacute la seleccioacuten
I Junto con la Univ de Chile se ha desarrollado una aplicacioacuten quepermitiraacute hacer la seleccioacuten utilizando aleatoriedad puacuteblica
I En etapa de prueba en Contraloriacuteahttpsrandomuchileclprojectscontraloria
930
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
2 Faros de aleatoriedad mdash Formato
Pauta 2
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1130
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Arquitectura del servicio Beacon
HSM
Reloj
RNGFaroApp
RNG3
Motor del Faro
Servidorde
tiempo
BD(interfazweb)
Web(usuarios)
Cf
Leyenda- App aplicacioacuten (software)- BD base de datos- Cf cortafuegos- HSM moacutedulo de seguridad de hardware- RNG generador de nuacutemeros aleatorios
consultas
Firma
Pulso
Entropiacuteaexterna
RNG
respuestas
Pero iquestqueacute es exactamente un pulso iquestde donde proviene su aleatoriedad
1330
2 Faros de aleatoriedad mdash Formato
Arquitectura del servicio Beacon
HSM
Reloj
RNGFaroApp
RNG3
Motor del Faro
Servidorde
tiempo
BD(interfazweb)
Web(usuarios)
Cf
Leyenda- App aplicacioacuten (software)- BD base de datos- Cf cortafuegos- HSM moacutedulo de seguridad de hardware- RNG generador de nuacutemeros aleatorios
consultas
Firma
Pulso
Entropiacuteaexterna
RNG
respuestas
Pero iquestqueacute es exactamente un pulso iquestde donde proviene su aleatoriedad
1330
2 Faros de aleatoriedad mdash Formato
Algunos conceptos uacutetiles para esta charla
I Hash
mdash como una huella dactilar de datos (secuencia rdquouacutenicardquo de 512 bits)mdash parece aleatorio si se desconocen sus datos de origen
I Compromiso (Commitment)
mdash como una boacuteveda que oculta datos hasta que se abremdash una vez cerrado no se puede cambiar lo que hay dentro
I Firma [digital] (Signature)
mdash como una firma fiacutesica pero no se puede falsificarmdash la firma copiada no es vaacutelida para otro documento
1430
2 Faros de aleatoriedad mdash Formato
Algunos conceptos uacutetiles para esta charla
I Hashmdash como una huella dactilar de datos (secuencia rdquouacutenicardquo de 512 bits)mdash parece aleatorio si se desconocen sus datos de origen
I Compromiso (Commitment)mdash como una boacuteveda que oculta datos hasta que se abremdash una vez cerrado no se puede cambiar lo que hay dentro
I Firma [digital] (Signature)mdash como una firma fiacutesica pero no se puede falsificarmdash la firma copiada no es vaacutelida para otro documento
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido randOut encadenado
1530
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
3 Faros de aleatoriedad mdash Operaciones
Pauta 3
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1730
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten
1 Sin liberacioacuten avanzada de pulso (δ ge 0)
2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)4 Sin liberacioacuten retrasada (δ pequentildeo) rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo1930
3 Faros de aleatoriedad mdash Operaciones
Un posible diagrama de generacioacuten de pulso
HSM
Leyenda ndash BD base de datos ndash ∥ concatenacioacutenndash liberado no antes de la marca de tiempondash HSM moacutedulo de seguridad de hardwarendash NTP protocolo de red de tiempondash RNG generador de nuacutemeros aleatoriosndash UTC Tiempo Universal Coordinado
DB
NTP
MDi algunos metadatos (uri version cipher period certId chainId)
Pasti = (Riminus1 RH[iminus1] RD[iminus1] RM [iminus1] RY [iminus1]) previous (i minus 1)and 1st of hour (H) day (D) month (M) and year (Y ) of previous
Mi = MDi∥i∥Ti∥ri∥Ei∥Pasti∥Ci∥zi
Servidorde tiempo(remoto)
Reloj(on chip)
Hashdel valorexterno
Ri
Ri
i iacutendice de pulso (entero incrementado en 1 por cada pulso liberado)
Ti marca de tiempo (UTC precisioacuten ms eg ldquo2018-07-23T192600000Zrdquo)
ri randLocal (512 bits)Ei external (srcId status value) (todos ceros cuando no estaacuten disponibles)
Ci preCom (512 bits)zi status (32 bits)
Pi (pulso)pulsify
Pi =Mi∥Ri∥Si
RNG 2
(randLocaldel pulsosiguiente)
ρi2 (512 bits)
ρi1∥ρi2
[∥ρi3]
RNG 3(quantum)
Cachelocal
ri+1
ρi1
(512bits)
HashHashRNG 1(on chip)
ρi3
(512bits)
HashHashri+1
HashHash
HashHash
Ri randOut
Hi
Mi
Si firma
Moacutedulode firmalowast
Mi
Si
Si
Mi∥Si
Para simplificar el diagrama omite los detalles de serializacioacuten (por ejemplo longitudes de campo y relleno) y algunos campos de metadatos
2030
4 Faros de aleatoriedad mdash Uso
Pauta 4
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2130
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]
I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado
publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Bien PuacuteblicoI [Wikipedia] rdquoUn bien que estaacute disponible a todos y del cual el uso por
una persona no substrae del uso por otrordquo
AleatoriedadI [Wikipedia] rdquoLa aleatoriedad se asocia a todo proceso cuyo resultado no
es previsible maacutes que en razoacuten de la intervencioacuten del azarrdquoI La cualidad de ser impredecible
730
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedad
I Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generados
I Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digital
I Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblico
I La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Una aplicacioacuten en Chile
I La Contraloriacutea General de la Repuacuteblica selecciona al azar a funcionariospuacuteblicos para auditoriacuteas financieras
I Es natural que una persona seleccionada cuestione como fueacute la seleccioacuten
I Junto con la Univ de Chile se ha desarrollado una aplicacioacuten quepermitiraacute hacer la seleccioacuten utilizando aleatoriedad puacuteblica
I En etapa de prueba en Contraloriacuteahttpsrandomuchileclprojectscontraloria
930
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
2 Faros de aleatoriedad mdash Formato
Pauta 2
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1130
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Arquitectura del servicio Beacon
HSM
Reloj
RNGFaroApp
RNG3
Motor del Faro
Servidorde
tiempo
BD(interfazweb)
Web(usuarios)
Cf
Leyenda- App aplicacioacuten (software)- BD base de datos- Cf cortafuegos- HSM moacutedulo de seguridad de hardware- RNG generador de nuacutemeros aleatorios
consultas
Firma
Pulso
Entropiacuteaexterna
RNG
respuestas
Pero iquestqueacute es exactamente un pulso iquestde donde proviene su aleatoriedad
1330
2 Faros de aleatoriedad mdash Formato
Arquitectura del servicio Beacon
HSM
Reloj
RNGFaroApp
RNG3
Motor del Faro
Servidorde
tiempo
BD(interfazweb)
Web(usuarios)
Cf
Leyenda- App aplicacioacuten (software)- BD base de datos- Cf cortafuegos- HSM moacutedulo de seguridad de hardware- RNG generador de nuacutemeros aleatorios
consultas
Firma
Pulso
Entropiacuteaexterna
RNG
respuestas
Pero iquestqueacute es exactamente un pulso iquestde donde proviene su aleatoriedad
1330
2 Faros de aleatoriedad mdash Formato
Algunos conceptos uacutetiles para esta charla
I Hash
mdash como una huella dactilar de datos (secuencia rdquouacutenicardquo de 512 bits)mdash parece aleatorio si se desconocen sus datos de origen
I Compromiso (Commitment)
mdash como una boacuteveda que oculta datos hasta que se abremdash una vez cerrado no se puede cambiar lo que hay dentro
I Firma [digital] (Signature)
mdash como una firma fiacutesica pero no se puede falsificarmdash la firma copiada no es vaacutelida para otro documento
1430
2 Faros de aleatoriedad mdash Formato
Algunos conceptos uacutetiles para esta charla
I Hashmdash como una huella dactilar de datos (secuencia rdquouacutenicardquo de 512 bits)mdash parece aleatorio si se desconocen sus datos de origen
I Compromiso (Commitment)mdash como una boacuteveda que oculta datos hasta que se abremdash una vez cerrado no se puede cambiar lo que hay dentro
I Firma [digital] (Signature)mdash como una firma fiacutesica pero no se puede falsificarmdash la firma copiada no es vaacutelida para otro documento
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido randOut encadenado
1530
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
3 Faros de aleatoriedad mdash Operaciones
Pauta 3
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1730
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten
1 Sin liberacioacuten avanzada de pulso (δ ge 0)
2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)4 Sin liberacioacuten retrasada (δ pequentildeo) rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo1930
3 Faros de aleatoriedad mdash Operaciones
Un posible diagrama de generacioacuten de pulso
HSM
Leyenda ndash BD base de datos ndash ∥ concatenacioacutenndash liberado no antes de la marca de tiempondash HSM moacutedulo de seguridad de hardwarendash NTP protocolo de red de tiempondash RNG generador de nuacutemeros aleatoriosndash UTC Tiempo Universal Coordinado
DB
NTP
MDi algunos metadatos (uri version cipher period certId chainId)
Pasti = (Riminus1 RH[iminus1] RD[iminus1] RM [iminus1] RY [iminus1]) previous (i minus 1)and 1st of hour (H) day (D) month (M) and year (Y ) of previous
Mi = MDi∥i∥Ti∥ri∥Ei∥Pasti∥Ci∥zi
Servidorde tiempo(remoto)
Reloj(on chip)
Hashdel valorexterno
Ri
Ri
i iacutendice de pulso (entero incrementado en 1 por cada pulso liberado)
Ti marca de tiempo (UTC precisioacuten ms eg ldquo2018-07-23T192600000Zrdquo)
ri randLocal (512 bits)Ei external (srcId status value) (todos ceros cuando no estaacuten disponibles)
Ci preCom (512 bits)zi status (32 bits)
Pi (pulso)pulsify
Pi =Mi∥Ri∥Si
RNG 2
(randLocaldel pulsosiguiente)
ρi2 (512 bits)
ρi1∥ρi2
[∥ρi3]
RNG 3(quantum)
Cachelocal
ri+1
ρi1
(512bits)
HashHashRNG 1(on chip)
ρi3
(512bits)
HashHashri+1
HashHash
HashHash
Ri randOut
Hi
Mi
Si firma
Moacutedulode firmalowast
Mi
Si
Si
Mi∥Si
Para simplificar el diagrama omite los detalles de serializacioacuten (por ejemplo longitudes de campo y relleno) y algunos campos de metadatos
2030
4 Faros de aleatoriedad mdash Uso
Pauta 4
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2130
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]
I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado
publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedad
I Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generados
I Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digital
I Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblico
I La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Una aplicacioacuten en Chile
I La Contraloriacutea General de la Repuacuteblica selecciona al azar a funcionariospuacuteblicos para auditoriacuteas financieras
I Es natural que una persona seleccionada cuestione como fueacute la seleccioacuten
I Junto con la Univ de Chile se ha desarrollado una aplicacioacuten quepermitiraacute hacer la seleccioacuten utilizando aleatoriedad puacuteblica
I En etapa de prueba en Contraloriacuteahttpsrandomuchileclprojectscontraloria
930
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
2 Faros de aleatoriedad mdash Formato
Pauta 2
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1130
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Arquitectura del servicio Beacon
HSM
Reloj
RNGFaroApp
RNG3
Motor del Faro
Servidorde
tiempo
BD(interfazweb)
Web(usuarios)
Cf
Leyenda- App aplicacioacuten (software)- BD base de datos- Cf cortafuegos- HSM moacutedulo de seguridad de hardware- RNG generador de nuacutemeros aleatorios
consultas
Firma
Pulso
Entropiacuteaexterna
RNG
respuestas
Pero iquestqueacute es exactamente un pulso iquestde donde proviene su aleatoriedad
1330
2 Faros de aleatoriedad mdash Formato
Arquitectura del servicio Beacon
HSM
Reloj
RNGFaroApp
RNG3
Motor del Faro
Servidorde
tiempo
BD(interfazweb)
Web(usuarios)
Cf
Leyenda- App aplicacioacuten (software)- BD base de datos- Cf cortafuegos- HSM moacutedulo de seguridad de hardware- RNG generador de nuacutemeros aleatorios
consultas
Firma
Pulso
Entropiacuteaexterna
RNG
respuestas
Pero iquestqueacute es exactamente un pulso iquestde donde proviene su aleatoriedad
1330
2 Faros de aleatoriedad mdash Formato
Algunos conceptos uacutetiles para esta charla
I Hash
mdash como una huella dactilar de datos (secuencia rdquouacutenicardquo de 512 bits)mdash parece aleatorio si se desconocen sus datos de origen
I Compromiso (Commitment)
mdash como una boacuteveda que oculta datos hasta que se abremdash una vez cerrado no se puede cambiar lo que hay dentro
I Firma [digital] (Signature)
mdash como una firma fiacutesica pero no se puede falsificarmdash la firma copiada no es vaacutelida para otro documento
1430
2 Faros de aleatoriedad mdash Formato
Algunos conceptos uacutetiles para esta charla
I Hashmdash como una huella dactilar de datos (secuencia rdquouacutenicardquo de 512 bits)mdash parece aleatorio si se desconocen sus datos de origen
I Compromiso (Commitment)mdash como una boacuteveda que oculta datos hasta que se abremdash una vez cerrado no se puede cambiar lo que hay dentro
I Firma [digital] (Signature)mdash como una firma fiacutesica pero no se puede falsificarmdash la firma copiada no es vaacutelida para otro documento
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido randOut encadenado
1530
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
3 Faros de aleatoriedad mdash Operaciones
Pauta 3
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1730
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten
1 Sin liberacioacuten avanzada de pulso (δ ge 0)
2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)4 Sin liberacioacuten retrasada (δ pequentildeo) rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo1930
3 Faros de aleatoriedad mdash Operaciones
Un posible diagrama de generacioacuten de pulso
HSM
Leyenda ndash BD base de datos ndash ∥ concatenacioacutenndash liberado no antes de la marca de tiempondash HSM moacutedulo de seguridad de hardwarendash NTP protocolo de red de tiempondash RNG generador de nuacutemeros aleatoriosndash UTC Tiempo Universal Coordinado
DB
NTP
MDi algunos metadatos (uri version cipher period certId chainId)
Pasti = (Riminus1 RH[iminus1] RD[iminus1] RM [iminus1] RY [iminus1]) previous (i minus 1)and 1st of hour (H) day (D) month (M) and year (Y ) of previous
Mi = MDi∥i∥Ti∥ri∥Ei∥Pasti∥Ci∥zi
Servidorde tiempo(remoto)
Reloj(on chip)
Hashdel valorexterno
Ri
Ri
i iacutendice de pulso (entero incrementado en 1 por cada pulso liberado)
Ti marca de tiempo (UTC precisioacuten ms eg ldquo2018-07-23T192600000Zrdquo)
ri randLocal (512 bits)Ei external (srcId status value) (todos ceros cuando no estaacuten disponibles)
Ci preCom (512 bits)zi status (32 bits)
Pi (pulso)pulsify
Pi =Mi∥Ri∥Si
RNG 2
(randLocaldel pulsosiguiente)
ρi2 (512 bits)
ρi1∥ρi2
[∥ρi3]
RNG 3(quantum)
Cachelocal
ri+1
ρi1
(512bits)
HashHashRNG 1(on chip)
ρi3
(512bits)
HashHashri+1
HashHash
HashHash
Ri randOut
Hi
Mi
Si firma
Moacutedulode firmalowast
Mi
Si
Si
Mi∥Si
Para simplificar el diagrama omite los detalles de serializacioacuten (por ejemplo longitudes de campo y relleno) y algunos campos de metadatos
2030
4 Faros de aleatoriedad mdash Uso
Pauta 4
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2130
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]
I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado
publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedad
I Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generados
I Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digital
I Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblico
I La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Una aplicacioacuten en Chile
I La Contraloriacutea General de la Repuacuteblica selecciona al azar a funcionariospuacuteblicos para auditoriacuteas financieras
I Es natural que una persona seleccionada cuestione como fueacute la seleccioacuten
I Junto con la Univ de Chile se ha desarrollado una aplicacioacuten quepermitiraacute hacer la seleccioacuten utilizando aleatoriedad puacuteblica
I En etapa de prueba en Contraloriacuteahttpsrandomuchileclprojectscontraloria
930
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
2 Faros de aleatoriedad mdash Formato
Pauta 2
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1130
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Arquitectura del servicio Beacon
HSM
Reloj
RNGFaroApp
RNG3
Motor del Faro
Servidorde
tiempo
BD(interfazweb)
Web(usuarios)
Cf
Leyenda- App aplicacioacuten (software)- BD base de datos- Cf cortafuegos- HSM moacutedulo de seguridad de hardware- RNG generador de nuacutemeros aleatorios
consultas
Firma
Pulso
Entropiacuteaexterna
RNG
respuestas
Pero iquestqueacute es exactamente un pulso iquestde donde proviene su aleatoriedad
1330
2 Faros de aleatoriedad mdash Formato
Arquitectura del servicio Beacon
HSM
Reloj
RNGFaroApp
RNG3
Motor del Faro
Servidorde
tiempo
BD(interfazweb)
Web(usuarios)
Cf
Leyenda- App aplicacioacuten (software)- BD base de datos- Cf cortafuegos- HSM moacutedulo de seguridad de hardware- RNG generador de nuacutemeros aleatorios
consultas
Firma
Pulso
Entropiacuteaexterna
RNG
respuestas
Pero iquestqueacute es exactamente un pulso iquestde donde proviene su aleatoriedad
1330
2 Faros de aleatoriedad mdash Formato
Algunos conceptos uacutetiles para esta charla
I Hash
mdash como una huella dactilar de datos (secuencia rdquouacutenicardquo de 512 bits)mdash parece aleatorio si se desconocen sus datos de origen
I Compromiso (Commitment)
mdash como una boacuteveda que oculta datos hasta que se abremdash una vez cerrado no se puede cambiar lo que hay dentro
I Firma [digital] (Signature)
mdash como una firma fiacutesica pero no se puede falsificarmdash la firma copiada no es vaacutelida para otro documento
1430
2 Faros de aleatoriedad mdash Formato
Algunos conceptos uacutetiles para esta charla
I Hashmdash como una huella dactilar de datos (secuencia rdquouacutenicardquo de 512 bits)mdash parece aleatorio si se desconocen sus datos de origen
I Compromiso (Commitment)mdash como una boacuteveda que oculta datos hasta que se abremdash una vez cerrado no se puede cambiar lo que hay dentro
I Firma [digital] (Signature)mdash como una firma fiacutesica pero no se puede falsificarmdash la firma copiada no es vaacutelida para otro documento
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido randOut encadenado
1530
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
3 Faros de aleatoriedad mdash Operaciones
Pauta 3
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1730
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten
1 Sin liberacioacuten avanzada de pulso (δ ge 0)
2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)4 Sin liberacioacuten retrasada (δ pequentildeo) rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo1930
3 Faros de aleatoriedad mdash Operaciones
Un posible diagrama de generacioacuten de pulso
HSM
Leyenda ndash BD base de datos ndash ∥ concatenacioacutenndash liberado no antes de la marca de tiempondash HSM moacutedulo de seguridad de hardwarendash NTP protocolo de red de tiempondash RNG generador de nuacutemeros aleatoriosndash UTC Tiempo Universal Coordinado
DB
NTP
MDi algunos metadatos (uri version cipher period certId chainId)
Pasti = (Riminus1 RH[iminus1] RD[iminus1] RM [iminus1] RY [iminus1]) previous (i minus 1)and 1st of hour (H) day (D) month (M) and year (Y ) of previous
Mi = MDi∥i∥Ti∥ri∥Ei∥Pasti∥Ci∥zi
Servidorde tiempo(remoto)
Reloj(on chip)
Hashdel valorexterno
Ri
Ri
i iacutendice de pulso (entero incrementado en 1 por cada pulso liberado)
Ti marca de tiempo (UTC precisioacuten ms eg ldquo2018-07-23T192600000Zrdquo)
ri randLocal (512 bits)Ei external (srcId status value) (todos ceros cuando no estaacuten disponibles)
Ci preCom (512 bits)zi status (32 bits)
Pi (pulso)pulsify
Pi =Mi∥Ri∥Si
RNG 2
(randLocaldel pulsosiguiente)
ρi2 (512 bits)
ρi1∥ρi2
[∥ρi3]
RNG 3(quantum)
Cachelocal
ri+1
ρi1
(512bits)
HashHashRNG 1(on chip)
ρi3
(512bits)
HashHashri+1
HashHash
HashHash
Ri randOut
Hi
Mi
Si firma
Moacutedulode firmalowast
Mi
Si
Si
Mi∥Si
Para simplificar el diagrama omite los detalles de serializacioacuten (por ejemplo longitudes de campo y relleno) y algunos campos de metadatos
2030
4 Faros de aleatoriedad mdash Uso
Pauta 4
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2130
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]
I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado
publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedad
I Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generados
I Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digital
I Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblico
I La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Una aplicacioacuten en Chile
I La Contraloriacutea General de la Repuacuteblica selecciona al azar a funcionariospuacuteblicos para auditoriacuteas financieras
I Es natural que una persona seleccionada cuestione como fueacute la seleccioacuten
I Junto con la Univ de Chile se ha desarrollado una aplicacioacuten quepermitiraacute hacer la seleccioacuten utilizando aleatoriedad puacuteblica
I En etapa de prueba en Contraloriacuteahttpsrandomuchileclprojectscontraloria
930
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
2 Faros de aleatoriedad mdash Formato
Pauta 2
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1130
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Arquitectura del servicio Beacon
HSM
Reloj
RNGFaroApp
RNG3
Motor del Faro
Servidorde
tiempo
BD(interfazweb)
Web(usuarios)
Cf
Leyenda- App aplicacioacuten (software)- BD base de datos- Cf cortafuegos- HSM moacutedulo de seguridad de hardware- RNG generador de nuacutemeros aleatorios
consultas
Firma
Pulso
Entropiacuteaexterna
RNG
respuestas
Pero iquestqueacute es exactamente un pulso iquestde donde proviene su aleatoriedad
1330
2 Faros de aleatoriedad mdash Formato
Arquitectura del servicio Beacon
HSM
Reloj
RNGFaroApp
RNG3
Motor del Faro
Servidorde
tiempo
BD(interfazweb)
Web(usuarios)
Cf
Leyenda- App aplicacioacuten (software)- BD base de datos- Cf cortafuegos- HSM moacutedulo de seguridad de hardware- RNG generador de nuacutemeros aleatorios
consultas
Firma
Pulso
Entropiacuteaexterna
RNG
respuestas
Pero iquestqueacute es exactamente un pulso iquestde donde proviene su aleatoriedad
1330
2 Faros de aleatoriedad mdash Formato
Algunos conceptos uacutetiles para esta charla
I Hash
mdash como una huella dactilar de datos (secuencia rdquouacutenicardquo de 512 bits)mdash parece aleatorio si se desconocen sus datos de origen
I Compromiso (Commitment)
mdash como una boacuteveda que oculta datos hasta que se abremdash una vez cerrado no se puede cambiar lo que hay dentro
I Firma [digital] (Signature)
mdash como una firma fiacutesica pero no se puede falsificarmdash la firma copiada no es vaacutelida para otro documento
1430
2 Faros de aleatoriedad mdash Formato
Algunos conceptos uacutetiles para esta charla
I Hashmdash como una huella dactilar de datos (secuencia rdquouacutenicardquo de 512 bits)mdash parece aleatorio si se desconocen sus datos de origen
I Compromiso (Commitment)mdash como una boacuteveda que oculta datos hasta que se abremdash una vez cerrado no se puede cambiar lo que hay dentro
I Firma [digital] (Signature)mdash como una firma fiacutesica pero no se puede falsificarmdash la firma copiada no es vaacutelida para otro documento
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido randOut encadenado
1530
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
3 Faros de aleatoriedad mdash Operaciones
Pauta 3
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1730
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten
1 Sin liberacioacuten avanzada de pulso (δ ge 0)
2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)4 Sin liberacioacuten retrasada (δ pequentildeo) rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo1930
3 Faros de aleatoriedad mdash Operaciones
Un posible diagrama de generacioacuten de pulso
HSM
Leyenda ndash BD base de datos ndash ∥ concatenacioacutenndash liberado no antes de la marca de tiempondash HSM moacutedulo de seguridad de hardwarendash NTP protocolo de red de tiempondash RNG generador de nuacutemeros aleatoriosndash UTC Tiempo Universal Coordinado
DB
NTP
MDi algunos metadatos (uri version cipher period certId chainId)
Pasti = (Riminus1 RH[iminus1] RD[iminus1] RM [iminus1] RY [iminus1]) previous (i minus 1)and 1st of hour (H) day (D) month (M) and year (Y ) of previous
Mi = MDi∥i∥Ti∥ri∥Ei∥Pasti∥Ci∥zi
Servidorde tiempo(remoto)
Reloj(on chip)
Hashdel valorexterno
Ri
Ri
i iacutendice de pulso (entero incrementado en 1 por cada pulso liberado)
Ti marca de tiempo (UTC precisioacuten ms eg ldquo2018-07-23T192600000Zrdquo)
ri randLocal (512 bits)Ei external (srcId status value) (todos ceros cuando no estaacuten disponibles)
Ci preCom (512 bits)zi status (32 bits)
Pi (pulso)pulsify
Pi =Mi∥Ri∥Si
RNG 2
(randLocaldel pulsosiguiente)
ρi2 (512 bits)
ρi1∥ρi2
[∥ρi3]
RNG 3(quantum)
Cachelocal
ri+1
ρi1
(512bits)
HashHashRNG 1(on chip)
ρi3
(512bits)
HashHashri+1
HashHash
HashHash
Ri randOut
Hi
Mi
Si firma
Moacutedulode firmalowast
Mi
Si
Si
Mi∥Si
Para simplificar el diagrama omite los detalles de serializacioacuten (por ejemplo longitudes de campo y relleno) y algunos campos de metadatos
2030
4 Faros de aleatoriedad mdash Uso
Pauta 4
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2130
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]
I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado
publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generados
I Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digital
I Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblico
I La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Una aplicacioacuten en Chile
I La Contraloriacutea General de la Repuacuteblica selecciona al azar a funcionariospuacuteblicos para auditoriacuteas financieras
I Es natural que una persona seleccionada cuestione como fueacute la seleccioacuten
I Junto con la Univ de Chile se ha desarrollado una aplicacioacuten quepermitiraacute hacer la seleccioacuten utilizando aleatoriedad puacuteblica
I En etapa de prueba en Contraloriacuteahttpsrandomuchileclprojectscontraloria
930
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
2 Faros de aleatoriedad mdash Formato
Pauta 2
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1130
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Arquitectura del servicio Beacon
HSM
Reloj
RNGFaroApp
RNG3
Motor del Faro
Servidorde
tiempo
BD(interfazweb)
Web(usuarios)
Cf
Leyenda- App aplicacioacuten (software)- BD base de datos- Cf cortafuegos- HSM moacutedulo de seguridad de hardware- RNG generador de nuacutemeros aleatorios
consultas
Firma
Pulso
Entropiacuteaexterna
RNG
respuestas
Pero iquestqueacute es exactamente un pulso iquestde donde proviene su aleatoriedad
1330
2 Faros de aleatoriedad mdash Formato
Arquitectura del servicio Beacon
HSM
Reloj
RNGFaroApp
RNG3
Motor del Faro
Servidorde
tiempo
BD(interfazweb)
Web(usuarios)
Cf
Leyenda- App aplicacioacuten (software)- BD base de datos- Cf cortafuegos- HSM moacutedulo de seguridad de hardware- RNG generador de nuacutemeros aleatorios
consultas
Firma
Pulso
Entropiacuteaexterna
RNG
respuestas
Pero iquestqueacute es exactamente un pulso iquestde donde proviene su aleatoriedad
1330
2 Faros de aleatoriedad mdash Formato
Algunos conceptos uacutetiles para esta charla
I Hash
mdash como una huella dactilar de datos (secuencia rdquouacutenicardquo de 512 bits)mdash parece aleatorio si se desconocen sus datos de origen
I Compromiso (Commitment)
mdash como una boacuteveda que oculta datos hasta que se abremdash una vez cerrado no se puede cambiar lo que hay dentro
I Firma [digital] (Signature)
mdash como una firma fiacutesica pero no se puede falsificarmdash la firma copiada no es vaacutelida para otro documento
1430
2 Faros de aleatoriedad mdash Formato
Algunos conceptos uacutetiles para esta charla
I Hashmdash como una huella dactilar de datos (secuencia rdquouacutenicardquo de 512 bits)mdash parece aleatorio si se desconocen sus datos de origen
I Compromiso (Commitment)mdash como una boacuteveda que oculta datos hasta que se abremdash una vez cerrado no se puede cambiar lo que hay dentro
I Firma [digital] (Signature)mdash como una firma fiacutesica pero no se puede falsificarmdash la firma copiada no es vaacutelida para otro documento
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido randOut encadenado
1530
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
3 Faros de aleatoriedad mdash Operaciones
Pauta 3
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1730
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten
1 Sin liberacioacuten avanzada de pulso (δ ge 0)
2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)4 Sin liberacioacuten retrasada (δ pequentildeo) rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo1930
3 Faros de aleatoriedad mdash Operaciones
Un posible diagrama de generacioacuten de pulso
HSM
Leyenda ndash BD base de datos ndash ∥ concatenacioacutenndash liberado no antes de la marca de tiempondash HSM moacutedulo de seguridad de hardwarendash NTP protocolo de red de tiempondash RNG generador de nuacutemeros aleatoriosndash UTC Tiempo Universal Coordinado
DB
NTP
MDi algunos metadatos (uri version cipher period certId chainId)
Pasti = (Riminus1 RH[iminus1] RD[iminus1] RM [iminus1] RY [iminus1]) previous (i minus 1)and 1st of hour (H) day (D) month (M) and year (Y ) of previous
Mi = MDi∥i∥Ti∥ri∥Ei∥Pasti∥Ci∥zi
Servidorde tiempo(remoto)
Reloj(on chip)
Hashdel valorexterno
Ri
Ri
i iacutendice de pulso (entero incrementado en 1 por cada pulso liberado)
Ti marca de tiempo (UTC precisioacuten ms eg ldquo2018-07-23T192600000Zrdquo)
ri randLocal (512 bits)Ei external (srcId status value) (todos ceros cuando no estaacuten disponibles)
Ci preCom (512 bits)zi status (32 bits)
Pi (pulso)pulsify
Pi =Mi∥Ri∥Si
RNG 2
(randLocaldel pulsosiguiente)
ρi2 (512 bits)
ρi1∥ρi2
[∥ρi3]
RNG 3(quantum)
Cachelocal
ri+1
ρi1
(512bits)
HashHashRNG 1(on chip)
ρi3
(512bits)
HashHashri+1
HashHash
HashHash
Ri randOut
Hi
Mi
Si firma
Moacutedulode firmalowast
Mi
Si
Si
Mi∥Si
Para simplificar el diagrama omite los detalles de serializacioacuten (por ejemplo longitudes de campo y relleno) y algunos campos de metadatos
2030
4 Faros de aleatoriedad mdash Uso
Pauta 4
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2130
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]
I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado
publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digital
I Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblico
I La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Una aplicacioacuten en Chile
I La Contraloriacutea General de la Repuacuteblica selecciona al azar a funcionariospuacuteblicos para auditoriacuteas financieras
I Es natural que una persona seleccionada cuestione como fueacute la seleccioacuten
I Junto con la Univ de Chile se ha desarrollado una aplicacioacuten quepermitiraacute hacer la seleccioacuten utilizando aleatoriedad puacuteblica
I En etapa de prueba en Contraloriacuteahttpsrandomuchileclprojectscontraloria
930
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
2 Faros de aleatoriedad mdash Formato
Pauta 2
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1130
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Arquitectura del servicio Beacon
HSM
Reloj
RNGFaroApp
RNG3
Motor del Faro
Servidorde
tiempo
BD(interfazweb)
Web(usuarios)
Cf
Leyenda- App aplicacioacuten (software)- BD base de datos- Cf cortafuegos- HSM moacutedulo de seguridad de hardware- RNG generador de nuacutemeros aleatorios
consultas
Firma
Pulso
Entropiacuteaexterna
RNG
respuestas
Pero iquestqueacute es exactamente un pulso iquestde donde proviene su aleatoriedad
1330
2 Faros de aleatoriedad mdash Formato
Arquitectura del servicio Beacon
HSM
Reloj
RNGFaroApp
RNG3
Motor del Faro
Servidorde
tiempo
BD(interfazweb)
Web(usuarios)
Cf
Leyenda- App aplicacioacuten (software)- BD base de datos- Cf cortafuegos- HSM moacutedulo de seguridad de hardware- RNG generador de nuacutemeros aleatorios
consultas
Firma
Pulso
Entropiacuteaexterna
RNG
respuestas
Pero iquestqueacute es exactamente un pulso iquestde donde proviene su aleatoriedad
1330
2 Faros de aleatoriedad mdash Formato
Algunos conceptos uacutetiles para esta charla
I Hash
mdash como una huella dactilar de datos (secuencia rdquouacutenicardquo de 512 bits)mdash parece aleatorio si se desconocen sus datos de origen
I Compromiso (Commitment)
mdash como una boacuteveda que oculta datos hasta que se abremdash una vez cerrado no se puede cambiar lo que hay dentro
I Firma [digital] (Signature)
mdash como una firma fiacutesica pero no se puede falsificarmdash la firma copiada no es vaacutelida para otro documento
1430
2 Faros de aleatoriedad mdash Formato
Algunos conceptos uacutetiles para esta charla
I Hashmdash como una huella dactilar de datos (secuencia rdquouacutenicardquo de 512 bits)mdash parece aleatorio si se desconocen sus datos de origen
I Compromiso (Commitment)mdash como una boacuteveda que oculta datos hasta que se abremdash una vez cerrado no se puede cambiar lo que hay dentro
I Firma [digital] (Signature)mdash como una firma fiacutesica pero no se puede falsificarmdash la firma copiada no es vaacutelida para otro documento
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido randOut encadenado
1530
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
3 Faros de aleatoriedad mdash Operaciones
Pauta 3
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1730
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten
1 Sin liberacioacuten avanzada de pulso (δ ge 0)
2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)4 Sin liberacioacuten retrasada (δ pequentildeo) rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo1930
3 Faros de aleatoriedad mdash Operaciones
Un posible diagrama de generacioacuten de pulso
HSM
Leyenda ndash BD base de datos ndash ∥ concatenacioacutenndash liberado no antes de la marca de tiempondash HSM moacutedulo de seguridad de hardwarendash NTP protocolo de red de tiempondash RNG generador de nuacutemeros aleatoriosndash UTC Tiempo Universal Coordinado
DB
NTP
MDi algunos metadatos (uri version cipher period certId chainId)
Pasti = (Riminus1 RH[iminus1] RD[iminus1] RM [iminus1] RY [iminus1]) previous (i minus 1)and 1st of hour (H) day (D) month (M) and year (Y ) of previous
Mi = MDi∥i∥Ti∥ri∥Ei∥Pasti∥Ci∥zi
Servidorde tiempo(remoto)
Reloj(on chip)
Hashdel valorexterno
Ri
Ri
i iacutendice de pulso (entero incrementado en 1 por cada pulso liberado)
Ti marca de tiempo (UTC precisioacuten ms eg ldquo2018-07-23T192600000Zrdquo)
ri randLocal (512 bits)Ei external (srcId status value) (todos ceros cuando no estaacuten disponibles)
Ci preCom (512 bits)zi status (32 bits)
Pi (pulso)pulsify
Pi =Mi∥Ri∥Si
RNG 2
(randLocaldel pulsosiguiente)
ρi2 (512 bits)
ρi1∥ρi2
[∥ρi3]
RNG 3(quantum)
Cachelocal
ri+1
ρi1
(512bits)
HashHashRNG 1(on chip)
ρi3
(512bits)
HashHashri+1
HashHash
HashHash
Ri randOut
Hi
Mi
Si firma
Moacutedulode firmalowast
Mi
Si
Si
Mi∥Si
Para simplificar el diagrama omite los detalles de serializacioacuten (por ejemplo longitudes de campo y relleno) y algunos campos de metadatos
2030
4 Faros de aleatoriedad mdash Uso
Pauta 4
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2130
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]
I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado
publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblico
I La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Una aplicacioacuten en Chile
I La Contraloriacutea General de la Repuacuteblica selecciona al azar a funcionariospuacuteblicos para auditoriacuteas financieras
I Es natural que una persona seleccionada cuestione como fueacute la seleccioacuten
I Junto con la Univ de Chile se ha desarrollado una aplicacioacuten quepermitiraacute hacer la seleccioacuten utilizando aleatoriedad puacuteblica
I En etapa de prueba en Contraloriacuteahttpsrandomuchileclprojectscontraloria
930
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
2 Faros de aleatoriedad mdash Formato
Pauta 2
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1130
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Arquitectura del servicio Beacon
HSM
Reloj
RNGFaroApp
RNG3
Motor del Faro
Servidorde
tiempo
BD(interfazweb)
Web(usuarios)
Cf
Leyenda- App aplicacioacuten (software)- BD base de datos- Cf cortafuegos- HSM moacutedulo de seguridad de hardware- RNG generador de nuacutemeros aleatorios
consultas
Firma
Pulso
Entropiacuteaexterna
RNG
respuestas
Pero iquestqueacute es exactamente un pulso iquestde donde proviene su aleatoriedad
1330
2 Faros de aleatoriedad mdash Formato
Arquitectura del servicio Beacon
HSM
Reloj
RNGFaroApp
RNG3
Motor del Faro
Servidorde
tiempo
BD(interfazweb)
Web(usuarios)
Cf
Leyenda- App aplicacioacuten (software)- BD base de datos- Cf cortafuegos- HSM moacutedulo de seguridad de hardware- RNG generador de nuacutemeros aleatorios
consultas
Firma
Pulso
Entropiacuteaexterna
RNG
respuestas
Pero iquestqueacute es exactamente un pulso iquestde donde proviene su aleatoriedad
1330
2 Faros de aleatoriedad mdash Formato
Algunos conceptos uacutetiles para esta charla
I Hash
mdash como una huella dactilar de datos (secuencia rdquouacutenicardquo de 512 bits)mdash parece aleatorio si se desconocen sus datos de origen
I Compromiso (Commitment)
mdash como una boacuteveda que oculta datos hasta que se abremdash una vez cerrado no se puede cambiar lo que hay dentro
I Firma [digital] (Signature)
mdash como una firma fiacutesica pero no se puede falsificarmdash la firma copiada no es vaacutelida para otro documento
1430
2 Faros de aleatoriedad mdash Formato
Algunos conceptos uacutetiles para esta charla
I Hashmdash como una huella dactilar de datos (secuencia rdquouacutenicardquo de 512 bits)mdash parece aleatorio si se desconocen sus datos de origen
I Compromiso (Commitment)mdash como una boacuteveda que oculta datos hasta que se abremdash una vez cerrado no se puede cambiar lo que hay dentro
I Firma [digital] (Signature)mdash como una firma fiacutesica pero no se puede falsificarmdash la firma copiada no es vaacutelida para otro documento
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido randOut encadenado
1530
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
3 Faros de aleatoriedad mdash Operaciones
Pauta 3
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1730
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten
1 Sin liberacioacuten avanzada de pulso (δ ge 0)
2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)4 Sin liberacioacuten retrasada (δ pequentildeo) rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo1930
3 Faros de aleatoriedad mdash Operaciones
Un posible diagrama de generacioacuten de pulso
HSM
Leyenda ndash BD base de datos ndash ∥ concatenacioacutenndash liberado no antes de la marca de tiempondash HSM moacutedulo de seguridad de hardwarendash NTP protocolo de red de tiempondash RNG generador de nuacutemeros aleatoriosndash UTC Tiempo Universal Coordinado
DB
NTP
MDi algunos metadatos (uri version cipher period certId chainId)
Pasti = (Riminus1 RH[iminus1] RD[iminus1] RM [iminus1] RY [iminus1]) previous (i minus 1)and 1st of hour (H) day (D) month (M) and year (Y ) of previous
Mi = MDi∥i∥Ti∥ri∥Ei∥Pasti∥Ci∥zi
Servidorde tiempo(remoto)
Reloj(on chip)
Hashdel valorexterno
Ri
Ri
i iacutendice de pulso (entero incrementado en 1 por cada pulso liberado)
Ti marca de tiempo (UTC precisioacuten ms eg ldquo2018-07-23T192600000Zrdquo)
ri randLocal (512 bits)Ei external (srcId status value) (todos ceros cuando no estaacuten disponibles)
Ci preCom (512 bits)zi status (32 bits)
Pi (pulso)pulsify
Pi =Mi∥Ri∥Si
RNG 2
(randLocaldel pulsosiguiente)
ρi2 (512 bits)
ρi1∥ρi2
[∥ρi3]
RNG 3(quantum)
Cachelocal
ri+1
ρi1
(512bits)
HashHashRNG 1(on chip)
ρi3
(512bits)
HashHashri+1
HashHash
HashHash
Ri randOut
Hi
Mi
Si firma
Moacutedulode firmalowast
Mi
Si
Si
Mi∥Si
Para simplificar el diagrama omite los detalles de serializacioacuten (por ejemplo longitudes de campo y relleno) y algunos campos de metadatos
2030
4 Faros de aleatoriedad mdash Uso
Pauta 4
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2130
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]
I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado
publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Una aplicacioacuten en Chile
I La Contraloriacutea General de la Repuacuteblica selecciona al azar a funcionariospuacuteblicos para auditoriacuteas financieras
I Es natural que una persona seleccionada cuestione como fueacute la seleccioacuten
I Junto con la Univ de Chile se ha desarrollado una aplicacioacuten quepermitiraacute hacer la seleccioacuten utilizando aleatoriedad puacuteblica
I En etapa de prueba en Contraloriacuteahttpsrandomuchileclprojectscontraloria
930
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
2 Faros de aleatoriedad mdash Formato
Pauta 2
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1130
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Arquitectura del servicio Beacon
HSM
Reloj
RNGFaroApp
RNG3
Motor del Faro
Servidorde
tiempo
BD(interfazweb)
Web(usuarios)
Cf
Leyenda- App aplicacioacuten (software)- BD base de datos- Cf cortafuegos- HSM moacutedulo de seguridad de hardware- RNG generador de nuacutemeros aleatorios
consultas
Firma
Pulso
Entropiacuteaexterna
RNG
respuestas
Pero iquestqueacute es exactamente un pulso iquestde donde proviene su aleatoriedad
1330
2 Faros de aleatoriedad mdash Formato
Arquitectura del servicio Beacon
HSM
Reloj
RNGFaroApp
RNG3
Motor del Faro
Servidorde
tiempo
BD(interfazweb)
Web(usuarios)
Cf
Leyenda- App aplicacioacuten (software)- BD base de datos- Cf cortafuegos- HSM moacutedulo de seguridad de hardware- RNG generador de nuacutemeros aleatorios
consultas
Firma
Pulso
Entropiacuteaexterna
RNG
respuestas
Pero iquestqueacute es exactamente un pulso iquestde donde proviene su aleatoriedad
1330
2 Faros de aleatoriedad mdash Formato
Algunos conceptos uacutetiles para esta charla
I Hash
mdash como una huella dactilar de datos (secuencia rdquouacutenicardquo de 512 bits)mdash parece aleatorio si se desconocen sus datos de origen
I Compromiso (Commitment)
mdash como una boacuteveda que oculta datos hasta que se abremdash una vez cerrado no se puede cambiar lo que hay dentro
I Firma [digital] (Signature)
mdash como una firma fiacutesica pero no se puede falsificarmdash la firma copiada no es vaacutelida para otro documento
1430
2 Faros de aleatoriedad mdash Formato
Algunos conceptos uacutetiles para esta charla
I Hashmdash como una huella dactilar de datos (secuencia rdquouacutenicardquo de 512 bits)mdash parece aleatorio si se desconocen sus datos de origen
I Compromiso (Commitment)mdash como una boacuteveda que oculta datos hasta que se abremdash una vez cerrado no se puede cambiar lo que hay dentro
I Firma [digital] (Signature)mdash como una firma fiacutesica pero no se puede falsificarmdash la firma copiada no es vaacutelida para otro documento
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido randOut encadenado
1530
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
3 Faros de aleatoriedad mdash Operaciones
Pauta 3
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1730
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten
1 Sin liberacioacuten avanzada de pulso (δ ge 0)
2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)4 Sin liberacioacuten retrasada (δ pequentildeo) rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo1930
3 Faros de aleatoriedad mdash Operaciones
Un posible diagrama de generacioacuten de pulso
HSM
Leyenda ndash BD base de datos ndash ∥ concatenacioacutenndash liberado no antes de la marca de tiempondash HSM moacutedulo de seguridad de hardwarendash NTP protocolo de red de tiempondash RNG generador de nuacutemeros aleatoriosndash UTC Tiempo Universal Coordinado
DB
NTP
MDi algunos metadatos (uri version cipher period certId chainId)
Pasti = (Riminus1 RH[iminus1] RD[iminus1] RM [iminus1] RY [iminus1]) previous (i minus 1)and 1st of hour (H) day (D) month (M) and year (Y ) of previous
Mi = MDi∥i∥Ti∥ri∥Ei∥Pasti∥Ci∥zi
Servidorde tiempo(remoto)
Reloj(on chip)
Hashdel valorexterno
Ri
Ri
i iacutendice de pulso (entero incrementado en 1 por cada pulso liberado)
Ti marca de tiempo (UTC precisioacuten ms eg ldquo2018-07-23T192600000Zrdquo)
ri randLocal (512 bits)Ei external (srcId status value) (todos ceros cuando no estaacuten disponibles)
Ci preCom (512 bits)zi status (32 bits)
Pi (pulso)pulsify
Pi =Mi∥Ri∥Si
RNG 2
(randLocaldel pulsosiguiente)
ρi2 (512 bits)
ρi1∥ρi2
[∥ρi3]
RNG 3(quantum)
Cachelocal
ri+1
ρi1
(512bits)
HashHashRNG 1(on chip)
ρi3
(512bits)
HashHashri+1
HashHash
HashHash
Ri randOut
Hi
Mi
Si firma
Moacutedulode firmalowast
Mi
Si
Si
Mi∥Si
Para simplificar el diagrama omite los detalles de serializacioacuten (por ejemplo longitudes de campo y relleno) y algunos campos de metadatos
2030
4 Faros de aleatoriedad mdash Uso
Pauta 4
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2130
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]
I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado
publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Un Faro de Aleatoriedad
Un servicio que produce aleatoriedad puacuteblica en forma perioacutedica
A grandes rasgosI Pulso perioacutedico de aleatoriedadI Cada pulso contiene una secuencia de 512 bits aleatorios recieacuten generadosI Los pulsos estaacuten indexados tienen un sello de tiempo y una firma digitalI Pulsos pasados son de acceso puacuteblicoI La secuencia de pulsos forma una cadena de hash
UsosI auditabilidad puacuteblica de procesos aleatoriosI muestreos de seleccioacuten externaI acotar un evento en el tiempoI
830
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Una aplicacioacuten en Chile
I La Contraloriacutea General de la Repuacuteblica selecciona al azar a funcionariospuacuteblicos para auditoriacuteas financieras
I Es natural que una persona seleccionada cuestione como fueacute la seleccioacuten
I Junto con la Univ de Chile se ha desarrollado una aplicacioacuten quepermitiraacute hacer la seleccioacuten utilizando aleatoriedad puacuteblica
I En etapa de prueba en Contraloriacuteahttpsrandomuchileclprojectscontraloria
930
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
2 Faros de aleatoriedad mdash Formato
Pauta 2
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1130
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Arquitectura del servicio Beacon
HSM
Reloj
RNGFaroApp
RNG3
Motor del Faro
Servidorde
tiempo
BD(interfazweb)
Web(usuarios)
Cf
Leyenda- App aplicacioacuten (software)- BD base de datos- Cf cortafuegos- HSM moacutedulo de seguridad de hardware- RNG generador de nuacutemeros aleatorios
consultas
Firma
Pulso
Entropiacuteaexterna
RNG
respuestas
Pero iquestqueacute es exactamente un pulso iquestde donde proviene su aleatoriedad
1330
2 Faros de aleatoriedad mdash Formato
Arquitectura del servicio Beacon
HSM
Reloj
RNGFaroApp
RNG3
Motor del Faro
Servidorde
tiempo
BD(interfazweb)
Web(usuarios)
Cf
Leyenda- App aplicacioacuten (software)- BD base de datos- Cf cortafuegos- HSM moacutedulo de seguridad de hardware- RNG generador de nuacutemeros aleatorios
consultas
Firma
Pulso
Entropiacuteaexterna
RNG
respuestas
Pero iquestqueacute es exactamente un pulso iquestde donde proviene su aleatoriedad
1330
2 Faros de aleatoriedad mdash Formato
Algunos conceptos uacutetiles para esta charla
I Hash
mdash como una huella dactilar de datos (secuencia rdquouacutenicardquo de 512 bits)mdash parece aleatorio si se desconocen sus datos de origen
I Compromiso (Commitment)
mdash como una boacuteveda que oculta datos hasta que se abremdash una vez cerrado no se puede cambiar lo que hay dentro
I Firma [digital] (Signature)
mdash como una firma fiacutesica pero no se puede falsificarmdash la firma copiada no es vaacutelida para otro documento
1430
2 Faros de aleatoriedad mdash Formato
Algunos conceptos uacutetiles para esta charla
I Hashmdash como una huella dactilar de datos (secuencia rdquouacutenicardquo de 512 bits)mdash parece aleatorio si se desconocen sus datos de origen
I Compromiso (Commitment)mdash como una boacuteveda que oculta datos hasta que se abremdash una vez cerrado no se puede cambiar lo que hay dentro
I Firma [digital] (Signature)mdash como una firma fiacutesica pero no se puede falsificarmdash la firma copiada no es vaacutelida para otro documento
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido randOut encadenado
1530
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
3 Faros de aleatoriedad mdash Operaciones
Pauta 3
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1730
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten
1 Sin liberacioacuten avanzada de pulso (δ ge 0)
2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)4 Sin liberacioacuten retrasada (δ pequentildeo) rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo1930
3 Faros de aleatoriedad mdash Operaciones
Un posible diagrama de generacioacuten de pulso
HSM
Leyenda ndash BD base de datos ndash ∥ concatenacioacutenndash liberado no antes de la marca de tiempondash HSM moacutedulo de seguridad de hardwarendash NTP protocolo de red de tiempondash RNG generador de nuacutemeros aleatoriosndash UTC Tiempo Universal Coordinado
DB
NTP
MDi algunos metadatos (uri version cipher period certId chainId)
Pasti = (Riminus1 RH[iminus1] RD[iminus1] RM [iminus1] RY [iminus1]) previous (i minus 1)and 1st of hour (H) day (D) month (M) and year (Y ) of previous
Mi = MDi∥i∥Ti∥ri∥Ei∥Pasti∥Ci∥zi
Servidorde tiempo(remoto)
Reloj(on chip)
Hashdel valorexterno
Ri
Ri
i iacutendice de pulso (entero incrementado en 1 por cada pulso liberado)
Ti marca de tiempo (UTC precisioacuten ms eg ldquo2018-07-23T192600000Zrdquo)
ri randLocal (512 bits)Ei external (srcId status value) (todos ceros cuando no estaacuten disponibles)
Ci preCom (512 bits)zi status (32 bits)
Pi (pulso)pulsify
Pi =Mi∥Ri∥Si
RNG 2
(randLocaldel pulsosiguiente)
ρi2 (512 bits)
ρi1∥ρi2
[∥ρi3]
RNG 3(quantum)
Cachelocal
ri+1
ρi1
(512bits)
HashHashRNG 1(on chip)
ρi3
(512bits)
HashHashri+1
HashHash
HashHash
Ri randOut
Hi
Mi
Si firma
Moacutedulode firmalowast
Mi
Si
Si
Mi∥Si
Para simplificar el diagrama omite los detalles de serializacioacuten (por ejemplo longitudes de campo y relleno) y algunos campos de metadatos
2030
4 Faros de aleatoriedad mdash Uso
Pauta 4
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2130
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]
I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado
publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Una aplicacioacuten en Chile
I La Contraloriacutea General de la Repuacuteblica selecciona al azar a funcionariospuacuteblicos para auditoriacuteas financieras
I Es natural que una persona seleccionada cuestione como fueacute la seleccioacuten
I Junto con la Univ de Chile se ha desarrollado una aplicacioacuten quepermitiraacute hacer la seleccioacuten utilizando aleatoriedad puacuteblica
I En etapa de prueba en Contraloriacuteahttpsrandomuchileclprojectscontraloria
930
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
2 Faros de aleatoriedad mdash Formato
Pauta 2
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1130
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Arquitectura del servicio Beacon
HSM
Reloj
RNGFaroApp
RNG3
Motor del Faro
Servidorde
tiempo
BD(interfazweb)
Web(usuarios)
Cf
Leyenda- App aplicacioacuten (software)- BD base de datos- Cf cortafuegos- HSM moacutedulo de seguridad de hardware- RNG generador de nuacutemeros aleatorios
consultas
Firma
Pulso
Entropiacuteaexterna
RNG
respuestas
Pero iquestqueacute es exactamente un pulso iquestde donde proviene su aleatoriedad
1330
2 Faros de aleatoriedad mdash Formato
Arquitectura del servicio Beacon
HSM
Reloj
RNGFaroApp
RNG3
Motor del Faro
Servidorde
tiempo
BD(interfazweb)
Web(usuarios)
Cf
Leyenda- App aplicacioacuten (software)- BD base de datos- Cf cortafuegos- HSM moacutedulo de seguridad de hardware- RNG generador de nuacutemeros aleatorios
consultas
Firma
Pulso
Entropiacuteaexterna
RNG
respuestas
Pero iquestqueacute es exactamente un pulso iquestde donde proviene su aleatoriedad
1330
2 Faros de aleatoriedad mdash Formato
Algunos conceptos uacutetiles para esta charla
I Hash
mdash como una huella dactilar de datos (secuencia rdquouacutenicardquo de 512 bits)mdash parece aleatorio si se desconocen sus datos de origen
I Compromiso (Commitment)
mdash como una boacuteveda que oculta datos hasta que se abremdash una vez cerrado no se puede cambiar lo que hay dentro
I Firma [digital] (Signature)
mdash como una firma fiacutesica pero no se puede falsificarmdash la firma copiada no es vaacutelida para otro documento
1430
2 Faros de aleatoriedad mdash Formato
Algunos conceptos uacutetiles para esta charla
I Hashmdash como una huella dactilar de datos (secuencia rdquouacutenicardquo de 512 bits)mdash parece aleatorio si se desconocen sus datos de origen
I Compromiso (Commitment)mdash como una boacuteveda que oculta datos hasta que se abremdash una vez cerrado no se puede cambiar lo que hay dentro
I Firma [digital] (Signature)mdash como una firma fiacutesica pero no se puede falsificarmdash la firma copiada no es vaacutelida para otro documento
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido randOut encadenado
1530
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
3 Faros de aleatoriedad mdash Operaciones
Pauta 3
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1730
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten
1 Sin liberacioacuten avanzada de pulso (δ ge 0)
2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)4 Sin liberacioacuten retrasada (δ pequentildeo) rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo1930
3 Faros de aleatoriedad mdash Operaciones
Un posible diagrama de generacioacuten de pulso
HSM
Leyenda ndash BD base de datos ndash ∥ concatenacioacutenndash liberado no antes de la marca de tiempondash HSM moacutedulo de seguridad de hardwarendash NTP protocolo de red de tiempondash RNG generador de nuacutemeros aleatoriosndash UTC Tiempo Universal Coordinado
DB
NTP
MDi algunos metadatos (uri version cipher period certId chainId)
Pasti = (Riminus1 RH[iminus1] RD[iminus1] RM [iminus1] RY [iminus1]) previous (i minus 1)and 1st of hour (H) day (D) month (M) and year (Y ) of previous
Mi = MDi∥i∥Ti∥ri∥Ei∥Pasti∥Ci∥zi
Servidorde tiempo(remoto)
Reloj(on chip)
Hashdel valorexterno
Ri
Ri
i iacutendice de pulso (entero incrementado en 1 por cada pulso liberado)
Ti marca de tiempo (UTC precisioacuten ms eg ldquo2018-07-23T192600000Zrdquo)
ri randLocal (512 bits)Ei external (srcId status value) (todos ceros cuando no estaacuten disponibles)
Ci preCom (512 bits)zi status (32 bits)
Pi (pulso)pulsify
Pi =Mi∥Ri∥Si
RNG 2
(randLocaldel pulsosiguiente)
ρi2 (512 bits)
ρi1∥ρi2
[∥ρi3]
RNG 3(quantum)
Cachelocal
ri+1
ρi1
(512bits)
HashHashRNG 1(on chip)
ρi3
(512bits)
HashHashri+1
HashHash
HashHash
Ri randOut
Hi
Mi
Si firma
Moacutedulode firmalowast
Mi
Si
Si
Mi∥Si
Para simplificar el diagrama omite los detalles de serializacioacuten (por ejemplo longitudes de campo y relleno) y algunos campos de metadatos
2030
4 Faros de aleatoriedad mdash Uso
Pauta 4
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2130
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]
I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado
publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
2 Faros de aleatoriedad mdash Formato
Pauta 2
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1130
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Arquitectura del servicio Beacon
HSM
Reloj
RNGFaroApp
RNG3
Motor del Faro
Servidorde
tiempo
BD(interfazweb)
Web(usuarios)
Cf
Leyenda- App aplicacioacuten (software)- BD base de datos- Cf cortafuegos- HSM moacutedulo de seguridad de hardware- RNG generador de nuacutemeros aleatorios
consultas
Firma
Pulso
Entropiacuteaexterna
RNG
respuestas
Pero iquestqueacute es exactamente un pulso iquestde donde proviene su aleatoriedad
1330
2 Faros de aleatoriedad mdash Formato
Arquitectura del servicio Beacon
HSM
Reloj
RNGFaroApp
RNG3
Motor del Faro
Servidorde
tiempo
BD(interfazweb)
Web(usuarios)
Cf
Leyenda- App aplicacioacuten (software)- BD base de datos- Cf cortafuegos- HSM moacutedulo de seguridad de hardware- RNG generador de nuacutemeros aleatorios
consultas
Firma
Pulso
Entropiacuteaexterna
RNG
respuestas
Pero iquestqueacute es exactamente un pulso iquestde donde proviene su aleatoriedad
1330
2 Faros de aleatoriedad mdash Formato
Algunos conceptos uacutetiles para esta charla
I Hash
mdash como una huella dactilar de datos (secuencia rdquouacutenicardquo de 512 bits)mdash parece aleatorio si se desconocen sus datos de origen
I Compromiso (Commitment)
mdash como una boacuteveda que oculta datos hasta que se abremdash una vez cerrado no se puede cambiar lo que hay dentro
I Firma [digital] (Signature)
mdash como una firma fiacutesica pero no se puede falsificarmdash la firma copiada no es vaacutelida para otro documento
1430
2 Faros de aleatoriedad mdash Formato
Algunos conceptos uacutetiles para esta charla
I Hashmdash como una huella dactilar de datos (secuencia rdquouacutenicardquo de 512 bits)mdash parece aleatorio si se desconocen sus datos de origen
I Compromiso (Commitment)mdash como una boacuteveda que oculta datos hasta que se abremdash una vez cerrado no se puede cambiar lo que hay dentro
I Firma [digital] (Signature)mdash como una firma fiacutesica pero no se puede falsificarmdash la firma copiada no es vaacutelida para otro documento
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido randOut encadenado
1530
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
3 Faros de aleatoriedad mdash Operaciones
Pauta 3
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1730
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten
1 Sin liberacioacuten avanzada de pulso (δ ge 0)
2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)4 Sin liberacioacuten retrasada (δ pequentildeo) rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo1930
3 Faros de aleatoriedad mdash Operaciones
Un posible diagrama de generacioacuten de pulso
HSM
Leyenda ndash BD base de datos ndash ∥ concatenacioacutenndash liberado no antes de la marca de tiempondash HSM moacutedulo de seguridad de hardwarendash NTP protocolo de red de tiempondash RNG generador de nuacutemeros aleatoriosndash UTC Tiempo Universal Coordinado
DB
NTP
MDi algunos metadatos (uri version cipher period certId chainId)
Pasti = (Riminus1 RH[iminus1] RD[iminus1] RM [iminus1] RY [iminus1]) previous (i minus 1)and 1st of hour (H) day (D) month (M) and year (Y ) of previous
Mi = MDi∥i∥Ti∥ri∥Ei∥Pasti∥Ci∥zi
Servidorde tiempo(remoto)
Reloj(on chip)
Hashdel valorexterno
Ri
Ri
i iacutendice de pulso (entero incrementado en 1 por cada pulso liberado)
Ti marca de tiempo (UTC precisioacuten ms eg ldquo2018-07-23T192600000Zrdquo)
ri randLocal (512 bits)Ei external (srcId status value) (todos ceros cuando no estaacuten disponibles)
Ci preCom (512 bits)zi status (32 bits)
Pi (pulso)pulsify
Pi =Mi∥Ri∥Si
RNG 2
(randLocaldel pulsosiguiente)
ρi2 (512 bits)
ρi1∥ρi2
[∥ρi3]
RNG 3(quantum)
Cachelocal
ri+1
ρi1
(512bits)
HashHashRNG 1(on chip)
ρi3
(512bits)
HashHashri+1
HashHash
HashHash
Ri randOut
Hi
Mi
Si firma
Moacutedulode firmalowast
Mi
Si
Si
Mi∥Si
Para simplificar el diagrama omite los detalles de serializacioacuten (por ejemplo longitudes de campo y relleno) y algunos campos de metadatos
2030
4 Faros de aleatoriedad mdash Uso
Pauta 4
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2130
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]
I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado
publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
2 Faros de aleatoriedad mdash Formato
Pauta 2
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1130
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Arquitectura del servicio Beacon
HSM
Reloj
RNGFaroApp
RNG3
Motor del Faro
Servidorde
tiempo
BD(interfazweb)
Web(usuarios)
Cf
Leyenda- App aplicacioacuten (software)- BD base de datos- Cf cortafuegos- HSM moacutedulo de seguridad de hardware- RNG generador de nuacutemeros aleatorios
consultas
Firma
Pulso
Entropiacuteaexterna
RNG
respuestas
Pero iquestqueacute es exactamente un pulso iquestde donde proviene su aleatoriedad
1330
2 Faros de aleatoriedad mdash Formato
Arquitectura del servicio Beacon
HSM
Reloj
RNGFaroApp
RNG3
Motor del Faro
Servidorde
tiempo
BD(interfazweb)
Web(usuarios)
Cf
Leyenda- App aplicacioacuten (software)- BD base de datos- Cf cortafuegos- HSM moacutedulo de seguridad de hardware- RNG generador de nuacutemeros aleatorios
consultas
Firma
Pulso
Entropiacuteaexterna
RNG
respuestas
Pero iquestqueacute es exactamente un pulso iquestde donde proviene su aleatoriedad
1330
2 Faros de aleatoriedad mdash Formato
Algunos conceptos uacutetiles para esta charla
I Hash
mdash como una huella dactilar de datos (secuencia rdquouacutenicardquo de 512 bits)mdash parece aleatorio si se desconocen sus datos de origen
I Compromiso (Commitment)
mdash como una boacuteveda que oculta datos hasta que se abremdash una vez cerrado no se puede cambiar lo que hay dentro
I Firma [digital] (Signature)
mdash como una firma fiacutesica pero no se puede falsificarmdash la firma copiada no es vaacutelida para otro documento
1430
2 Faros de aleatoriedad mdash Formato
Algunos conceptos uacutetiles para esta charla
I Hashmdash como una huella dactilar de datos (secuencia rdquouacutenicardquo de 512 bits)mdash parece aleatorio si se desconocen sus datos de origen
I Compromiso (Commitment)mdash como una boacuteveda que oculta datos hasta que se abremdash una vez cerrado no se puede cambiar lo que hay dentro
I Firma [digital] (Signature)mdash como una firma fiacutesica pero no se puede falsificarmdash la firma copiada no es vaacutelida para otro documento
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido randOut encadenado
1530
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
3 Faros de aleatoriedad mdash Operaciones
Pauta 3
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1730
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten
1 Sin liberacioacuten avanzada de pulso (δ ge 0)
2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)4 Sin liberacioacuten retrasada (δ pequentildeo) rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo1930
3 Faros de aleatoriedad mdash Operaciones
Un posible diagrama de generacioacuten de pulso
HSM
Leyenda ndash BD base de datos ndash ∥ concatenacioacutenndash liberado no antes de la marca de tiempondash HSM moacutedulo de seguridad de hardwarendash NTP protocolo de red de tiempondash RNG generador de nuacutemeros aleatoriosndash UTC Tiempo Universal Coordinado
DB
NTP
MDi algunos metadatos (uri version cipher period certId chainId)
Pasti = (Riminus1 RH[iminus1] RD[iminus1] RM [iminus1] RY [iminus1]) previous (i minus 1)and 1st of hour (H) day (D) month (M) and year (Y ) of previous
Mi = MDi∥i∥Ti∥ri∥Ei∥Pasti∥Ci∥zi
Servidorde tiempo(remoto)
Reloj(on chip)
Hashdel valorexterno
Ri
Ri
i iacutendice de pulso (entero incrementado en 1 por cada pulso liberado)
Ti marca de tiempo (UTC precisioacuten ms eg ldquo2018-07-23T192600000Zrdquo)
ri randLocal (512 bits)Ei external (srcId status value) (todos ceros cuando no estaacuten disponibles)
Ci preCom (512 bits)zi status (32 bits)
Pi (pulso)pulsify
Pi =Mi∥Ri∥Si
RNG 2
(randLocaldel pulsosiguiente)
ρi2 (512 bits)
ρi1∥ρi2
[∥ρi3]
RNG 3(quantum)
Cachelocal
ri+1
ρi1
(512bits)
HashHashRNG 1(on chip)
ρi3
(512bits)
HashHashri+1
HashHash
HashHash
Ri randOut
Hi
Mi
Si firma
Moacutedulode firmalowast
Mi
Si
Si
Mi∥Si
Para simplificar el diagrama omite los detalles de serializacioacuten (por ejemplo longitudes de campo y relleno) y algunos campos de metadatos
2030
4 Faros de aleatoriedad mdash Uso
Pauta 4
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2130
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]
I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado
publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
2 Faros de aleatoriedad mdash Formato
Pauta 2
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1130
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Arquitectura del servicio Beacon
HSM
Reloj
RNGFaroApp
RNG3
Motor del Faro
Servidorde
tiempo
BD(interfazweb)
Web(usuarios)
Cf
Leyenda- App aplicacioacuten (software)- BD base de datos- Cf cortafuegos- HSM moacutedulo de seguridad de hardware- RNG generador de nuacutemeros aleatorios
consultas
Firma
Pulso
Entropiacuteaexterna
RNG
respuestas
Pero iquestqueacute es exactamente un pulso iquestde donde proviene su aleatoriedad
1330
2 Faros de aleatoriedad mdash Formato
Arquitectura del servicio Beacon
HSM
Reloj
RNGFaroApp
RNG3
Motor del Faro
Servidorde
tiempo
BD(interfazweb)
Web(usuarios)
Cf
Leyenda- App aplicacioacuten (software)- BD base de datos- Cf cortafuegos- HSM moacutedulo de seguridad de hardware- RNG generador de nuacutemeros aleatorios
consultas
Firma
Pulso
Entropiacuteaexterna
RNG
respuestas
Pero iquestqueacute es exactamente un pulso iquestde donde proviene su aleatoriedad
1330
2 Faros de aleatoriedad mdash Formato
Algunos conceptos uacutetiles para esta charla
I Hash
mdash como una huella dactilar de datos (secuencia rdquouacutenicardquo de 512 bits)mdash parece aleatorio si se desconocen sus datos de origen
I Compromiso (Commitment)
mdash como una boacuteveda que oculta datos hasta que se abremdash una vez cerrado no se puede cambiar lo que hay dentro
I Firma [digital] (Signature)
mdash como una firma fiacutesica pero no se puede falsificarmdash la firma copiada no es vaacutelida para otro documento
1430
2 Faros de aleatoriedad mdash Formato
Algunos conceptos uacutetiles para esta charla
I Hashmdash como una huella dactilar de datos (secuencia rdquouacutenicardquo de 512 bits)mdash parece aleatorio si se desconocen sus datos de origen
I Compromiso (Commitment)mdash como una boacuteveda que oculta datos hasta que se abremdash una vez cerrado no se puede cambiar lo que hay dentro
I Firma [digital] (Signature)mdash como una firma fiacutesica pero no se puede falsificarmdash la firma copiada no es vaacutelida para otro documento
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido randOut encadenado
1530
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
3 Faros de aleatoriedad mdash Operaciones
Pauta 3
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1730
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten
1 Sin liberacioacuten avanzada de pulso (δ ge 0)
2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)4 Sin liberacioacuten retrasada (δ pequentildeo) rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo1930
3 Faros de aleatoriedad mdash Operaciones
Un posible diagrama de generacioacuten de pulso
HSM
Leyenda ndash BD base de datos ndash ∥ concatenacioacutenndash liberado no antes de la marca de tiempondash HSM moacutedulo de seguridad de hardwarendash NTP protocolo de red de tiempondash RNG generador de nuacutemeros aleatoriosndash UTC Tiempo Universal Coordinado
DB
NTP
MDi algunos metadatos (uri version cipher period certId chainId)
Pasti = (Riminus1 RH[iminus1] RD[iminus1] RM [iminus1] RY [iminus1]) previous (i minus 1)and 1st of hour (H) day (D) month (M) and year (Y ) of previous
Mi = MDi∥i∥Ti∥ri∥Ei∥Pasti∥Ci∥zi
Servidorde tiempo(remoto)
Reloj(on chip)
Hashdel valorexterno
Ri
Ri
i iacutendice de pulso (entero incrementado en 1 por cada pulso liberado)
Ti marca de tiempo (UTC precisioacuten ms eg ldquo2018-07-23T192600000Zrdquo)
ri randLocal (512 bits)Ei external (srcId status value) (todos ceros cuando no estaacuten disponibles)
Ci preCom (512 bits)zi status (32 bits)
Pi (pulso)pulsify
Pi =Mi∥Ri∥Si
RNG 2
(randLocaldel pulsosiguiente)
ρi2 (512 bits)
ρi1∥ρi2
[∥ρi3]
RNG 3(quantum)
Cachelocal
ri+1
ρi1
(512bits)
HashHashRNG 1(on chip)
ρi3
(512bits)
HashHashri+1
HashHash
HashHash
Ri randOut
Hi
Mi
Si firma
Moacutedulode firmalowast
Mi
Si
Si
Mi∥Si
Para simplificar el diagrama omite los detalles de serializacioacuten (por ejemplo longitudes de campo y relleno) y algunos campos de metadatos
2030
4 Faros de aleatoriedad mdash Uso
Pauta 4
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2130
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]
I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado
publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Aspectos de seguridad
I iquestEs posible influenciar al servicio de aleatoriedad para elegir o no elegira un funcionario dado
I iquestEs posible atacar al servidor de aleatoriedad para saber con antelacioacutencuales funcionarios seraacuten seleccionados
I iquestQueacute intereses estaacuten en juego iquestDe queacute recursos dispone un adversario
I El caso Dual_EC_DRBG
I El caso de las uvas envenenadas
1030
2 Faros de aleatoriedad mdash Formato
Pauta 2
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1130
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Arquitectura del servicio Beacon
HSM
Reloj
RNGFaroApp
RNG3
Motor del Faro
Servidorde
tiempo
BD(interfazweb)
Web(usuarios)
Cf
Leyenda- App aplicacioacuten (software)- BD base de datos- Cf cortafuegos- HSM moacutedulo de seguridad de hardware- RNG generador de nuacutemeros aleatorios
consultas
Firma
Pulso
Entropiacuteaexterna
RNG
respuestas
Pero iquestqueacute es exactamente un pulso iquestde donde proviene su aleatoriedad
1330
2 Faros de aleatoriedad mdash Formato
Arquitectura del servicio Beacon
HSM
Reloj
RNGFaroApp
RNG3
Motor del Faro
Servidorde
tiempo
BD(interfazweb)
Web(usuarios)
Cf
Leyenda- App aplicacioacuten (software)- BD base de datos- Cf cortafuegos- HSM moacutedulo de seguridad de hardware- RNG generador de nuacutemeros aleatorios
consultas
Firma
Pulso
Entropiacuteaexterna
RNG
respuestas
Pero iquestqueacute es exactamente un pulso iquestde donde proviene su aleatoriedad
1330
2 Faros de aleatoriedad mdash Formato
Algunos conceptos uacutetiles para esta charla
I Hash
mdash como una huella dactilar de datos (secuencia rdquouacutenicardquo de 512 bits)mdash parece aleatorio si se desconocen sus datos de origen
I Compromiso (Commitment)
mdash como una boacuteveda que oculta datos hasta que se abremdash una vez cerrado no se puede cambiar lo que hay dentro
I Firma [digital] (Signature)
mdash como una firma fiacutesica pero no se puede falsificarmdash la firma copiada no es vaacutelida para otro documento
1430
2 Faros de aleatoriedad mdash Formato
Algunos conceptos uacutetiles para esta charla
I Hashmdash como una huella dactilar de datos (secuencia rdquouacutenicardquo de 512 bits)mdash parece aleatorio si se desconocen sus datos de origen
I Compromiso (Commitment)mdash como una boacuteveda que oculta datos hasta que se abremdash una vez cerrado no se puede cambiar lo que hay dentro
I Firma [digital] (Signature)mdash como una firma fiacutesica pero no se puede falsificarmdash la firma copiada no es vaacutelida para otro documento
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido randOut encadenado
1530
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
3 Faros de aleatoriedad mdash Operaciones
Pauta 3
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1730
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten
1 Sin liberacioacuten avanzada de pulso (δ ge 0)
2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)4 Sin liberacioacuten retrasada (δ pequentildeo) rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo1930
3 Faros de aleatoriedad mdash Operaciones
Un posible diagrama de generacioacuten de pulso
HSM
Leyenda ndash BD base de datos ndash ∥ concatenacioacutenndash liberado no antes de la marca de tiempondash HSM moacutedulo de seguridad de hardwarendash NTP protocolo de red de tiempondash RNG generador de nuacutemeros aleatoriosndash UTC Tiempo Universal Coordinado
DB
NTP
MDi algunos metadatos (uri version cipher period certId chainId)
Pasti = (Riminus1 RH[iminus1] RD[iminus1] RM [iminus1] RY [iminus1]) previous (i minus 1)and 1st of hour (H) day (D) month (M) and year (Y ) of previous
Mi = MDi∥i∥Ti∥ri∥Ei∥Pasti∥Ci∥zi
Servidorde tiempo(remoto)
Reloj(on chip)
Hashdel valorexterno
Ri
Ri
i iacutendice de pulso (entero incrementado en 1 por cada pulso liberado)
Ti marca de tiempo (UTC precisioacuten ms eg ldquo2018-07-23T192600000Zrdquo)
ri randLocal (512 bits)Ei external (srcId status value) (todos ceros cuando no estaacuten disponibles)
Ci preCom (512 bits)zi status (32 bits)
Pi (pulso)pulsify
Pi =Mi∥Ri∥Si
RNG 2
(randLocaldel pulsosiguiente)
ρi2 (512 bits)
ρi1∥ρi2
[∥ρi3]
RNG 3(quantum)
Cachelocal
ri+1
ρi1
(512bits)
HashHashRNG 1(on chip)
ρi3
(512bits)
HashHashri+1
HashHash
HashHash
Ri randOut
Hi
Mi
Si firma
Moacutedulode firmalowast
Mi
Si
Si
Mi∥Si
Para simplificar el diagrama omite los detalles de serializacioacuten (por ejemplo longitudes de campo y relleno) y algunos campos de metadatos
2030
4 Faros de aleatoriedad mdash Uso
Pauta 4
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2130
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]
I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado
publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
2 Faros de aleatoriedad mdash Formato
Pauta 2
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1130
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Arquitectura del servicio Beacon
HSM
Reloj
RNGFaroApp
RNG3
Motor del Faro
Servidorde
tiempo
BD(interfazweb)
Web(usuarios)
Cf
Leyenda- App aplicacioacuten (software)- BD base de datos- Cf cortafuegos- HSM moacutedulo de seguridad de hardware- RNG generador de nuacutemeros aleatorios
consultas
Firma
Pulso
Entropiacuteaexterna
RNG
respuestas
Pero iquestqueacute es exactamente un pulso iquestde donde proviene su aleatoriedad
1330
2 Faros de aleatoriedad mdash Formato
Arquitectura del servicio Beacon
HSM
Reloj
RNGFaroApp
RNG3
Motor del Faro
Servidorde
tiempo
BD(interfazweb)
Web(usuarios)
Cf
Leyenda- App aplicacioacuten (software)- BD base de datos- Cf cortafuegos- HSM moacutedulo de seguridad de hardware- RNG generador de nuacutemeros aleatorios
consultas
Firma
Pulso
Entropiacuteaexterna
RNG
respuestas
Pero iquestqueacute es exactamente un pulso iquestde donde proviene su aleatoriedad
1330
2 Faros de aleatoriedad mdash Formato
Algunos conceptos uacutetiles para esta charla
I Hash
mdash como una huella dactilar de datos (secuencia rdquouacutenicardquo de 512 bits)mdash parece aleatorio si se desconocen sus datos de origen
I Compromiso (Commitment)
mdash como una boacuteveda que oculta datos hasta que se abremdash una vez cerrado no se puede cambiar lo que hay dentro
I Firma [digital] (Signature)
mdash como una firma fiacutesica pero no se puede falsificarmdash la firma copiada no es vaacutelida para otro documento
1430
2 Faros de aleatoriedad mdash Formato
Algunos conceptos uacutetiles para esta charla
I Hashmdash como una huella dactilar de datos (secuencia rdquouacutenicardquo de 512 bits)mdash parece aleatorio si se desconocen sus datos de origen
I Compromiso (Commitment)mdash como una boacuteveda que oculta datos hasta que se abremdash una vez cerrado no se puede cambiar lo que hay dentro
I Firma [digital] (Signature)mdash como una firma fiacutesica pero no se puede falsificarmdash la firma copiada no es vaacutelida para otro documento
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido randOut encadenado
1530
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
3 Faros de aleatoriedad mdash Operaciones
Pauta 3
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1730
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten
1 Sin liberacioacuten avanzada de pulso (δ ge 0)
2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)4 Sin liberacioacuten retrasada (δ pequentildeo) rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo1930
3 Faros de aleatoriedad mdash Operaciones
Un posible diagrama de generacioacuten de pulso
HSM
Leyenda ndash BD base de datos ndash ∥ concatenacioacutenndash liberado no antes de la marca de tiempondash HSM moacutedulo de seguridad de hardwarendash NTP protocolo de red de tiempondash RNG generador de nuacutemeros aleatoriosndash UTC Tiempo Universal Coordinado
DB
NTP
MDi algunos metadatos (uri version cipher period certId chainId)
Pasti = (Riminus1 RH[iminus1] RD[iminus1] RM [iminus1] RY [iminus1]) previous (i minus 1)and 1st of hour (H) day (D) month (M) and year (Y ) of previous
Mi = MDi∥i∥Ti∥ri∥Ei∥Pasti∥Ci∥zi
Servidorde tiempo(remoto)
Reloj(on chip)
Hashdel valorexterno
Ri
Ri
i iacutendice de pulso (entero incrementado en 1 por cada pulso liberado)
Ti marca de tiempo (UTC precisioacuten ms eg ldquo2018-07-23T192600000Zrdquo)
ri randLocal (512 bits)Ei external (srcId status value) (todos ceros cuando no estaacuten disponibles)
Ci preCom (512 bits)zi status (32 bits)
Pi (pulso)pulsify
Pi =Mi∥Ri∥Si
RNG 2
(randLocaldel pulsosiguiente)
ρi2 (512 bits)
ρi1∥ρi2
[∥ρi3]
RNG 3(quantum)
Cachelocal
ri+1
ρi1
(512bits)
HashHashRNG 1(on chip)
ρi3
(512bits)
HashHashri+1
HashHash
HashHash
Ri randOut
Hi
Mi
Si firma
Moacutedulode firmalowast
Mi
Si
Si
Mi∥Si
Para simplificar el diagrama omite los detalles de serializacioacuten (por ejemplo longitudes de campo y relleno) y algunos campos de metadatos
2030
4 Faros de aleatoriedad mdash Uso
Pauta 4
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2130
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]
I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado
publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Arquitectura del servicio Beacon
HSM
Reloj
RNGFaroApp
RNG3
Motor del Faro
Servidorde
tiempo
BD(interfazweb)
Web(usuarios)
Cf
Leyenda- App aplicacioacuten (software)- BD base de datos- Cf cortafuegos- HSM moacutedulo de seguridad de hardware- RNG generador de nuacutemeros aleatorios
consultas
Firma
Pulso
Entropiacuteaexterna
RNG
respuestas
Pero iquestqueacute es exactamente un pulso iquestde donde proviene su aleatoriedad
1330
2 Faros de aleatoriedad mdash Formato
Arquitectura del servicio Beacon
HSM
Reloj
RNGFaroApp
RNG3
Motor del Faro
Servidorde
tiempo
BD(interfazweb)
Web(usuarios)
Cf
Leyenda- App aplicacioacuten (software)- BD base de datos- Cf cortafuegos- HSM moacutedulo de seguridad de hardware- RNG generador de nuacutemeros aleatorios
consultas
Firma
Pulso
Entropiacuteaexterna
RNG
respuestas
Pero iquestqueacute es exactamente un pulso iquestde donde proviene su aleatoriedad
1330
2 Faros de aleatoriedad mdash Formato
Algunos conceptos uacutetiles para esta charla
I Hash
mdash como una huella dactilar de datos (secuencia rdquouacutenicardquo de 512 bits)mdash parece aleatorio si se desconocen sus datos de origen
I Compromiso (Commitment)
mdash como una boacuteveda que oculta datos hasta que se abremdash una vez cerrado no se puede cambiar lo que hay dentro
I Firma [digital] (Signature)
mdash como una firma fiacutesica pero no se puede falsificarmdash la firma copiada no es vaacutelida para otro documento
1430
2 Faros de aleatoriedad mdash Formato
Algunos conceptos uacutetiles para esta charla
I Hashmdash como una huella dactilar de datos (secuencia rdquouacutenicardquo de 512 bits)mdash parece aleatorio si se desconocen sus datos de origen
I Compromiso (Commitment)mdash como una boacuteveda que oculta datos hasta que se abremdash una vez cerrado no se puede cambiar lo que hay dentro
I Firma [digital] (Signature)mdash como una firma fiacutesica pero no se puede falsificarmdash la firma copiada no es vaacutelida para otro documento
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido randOut encadenado
1530
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
3 Faros de aleatoriedad mdash Operaciones
Pauta 3
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1730
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten
1 Sin liberacioacuten avanzada de pulso (δ ge 0)
2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)4 Sin liberacioacuten retrasada (δ pequentildeo) rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo1930
3 Faros de aleatoriedad mdash Operaciones
Un posible diagrama de generacioacuten de pulso
HSM
Leyenda ndash BD base de datos ndash ∥ concatenacioacutenndash liberado no antes de la marca de tiempondash HSM moacutedulo de seguridad de hardwarendash NTP protocolo de red de tiempondash RNG generador de nuacutemeros aleatoriosndash UTC Tiempo Universal Coordinado
DB
NTP
MDi algunos metadatos (uri version cipher period certId chainId)
Pasti = (Riminus1 RH[iminus1] RD[iminus1] RM [iminus1] RY [iminus1]) previous (i minus 1)and 1st of hour (H) day (D) month (M) and year (Y ) of previous
Mi = MDi∥i∥Ti∥ri∥Ei∥Pasti∥Ci∥zi
Servidorde tiempo(remoto)
Reloj(on chip)
Hashdel valorexterno
Ri
Ri
i iacutendice de pulso (entero incrementado en 1 por cada pulso liberado)
Ti marca de tiempo (UTC precisioacuten ms eg ldquo2018-07-23T192600000Zrdquo)
ri randLocal (512 bits)Ei external (srcId status value) (todos ceros cuando no estaacuten disponibles)
Ci preCom (512 bits)zi status (32 bits)
Pi (pulso)pulsify
Pi =Mi∥Ri∥Si
RNG 2
(randLocaldel pulsosiguiente)
ρi2 (512 bits)
ρi1∥ρi2
[∥ρi3]
RNG 3(quantum)
Cachelocal
ri+1
ρi1
(512bits)
HashHashRNG 1(on chip)
ρi3
(512bits)
HashHashri+1
HashHash
HashHash
Ri randOut
Hi
Mi
Si firma
Moacutedulode firmalowast
Mi
Si
Si
Mi∥Si
Para simplificar el diagrama omite los detalles de serializacioacuten (por ejemplo longitudes de campo y relleno) y algunos campos de metadatos
2030
4 Faros de aleatoriedad mdash Uso
Pauta 4
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2130
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]
I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado
publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Arquitectura del servicio Beacon
HSM
Reloj
RNGFaroApp
RNG3
Motor del Faro
Servidorde
tiempo
BD(interfazweb)
Web(usuarios)
Cf
Leyenda- App aplicacioacuten (software)- BD base de datos- Cf cortafuegos- HSM moacutedulo de seguridad de hardware- RNG generador de nuacutemeros aleatorios
consultas
Firma
Pulso
Entropiacuteaexterna
RNG
respuestas
Pero iquestqueacute es exactamente un pulso iquestde donde proviene su aleatoriedad
1330
2 Faros de aleatoriedad mdash Formato
Arquitectura del servicio Beacon
HSM
Reloj
RNGFaroApp
RNG3
Motor del Faro
Servidorde
tiempo
BD(interfazweb)
Web(usuarios)
Cf
Leyenda- App aplicacioacuten (software)- BD base de datos- Cf cortafuegos- HSM moacutedulo de seguridad de hardware- RNG generador de nuacutemeros aleatorios
consultas
Firma
Pulso
Entropiacuteaexterna
RNG
respuestas
Pero iquestqueacute es exactamente un pulso iquestde donde proviene su aleatoriedad
1330
2 Faros de aleatoriedad mdash Formato
Algunos conceptos uacutetiles para esta charla
I Hash
mdash como una huella dactilar de datos (secuencia rdquouacutenicardquo de 512 bits)mdash parece aleatorio si se desconocen sus datos de origen
I Compromiso (Commitment)
mdash como una boacuteveda que oculta datos hasta que se abremdash una vez cerrado no se puede cambiar lo que hay dentro
I Firma [digital] (Signature)
mdash como una firma fiacutesica pero no se puede falsificarmdash la firma copiada no es vaacutelida para otro documento
1430
2 Faros de aleatoriedad mdash Formato
Algunos conceptos uacutetiles para esta charla
I Hashmdash como una huella dactilar de datos (secuencia rdquouacutenicardquo de 512 bits)mdash parece aleatorio si se desconocen sus datos de origen
I Compromiso (Commitment)mdash como una boacuteveda que oculta datos hasta que se abremdash una vez cerrado no se puede cambiar lo que hay dentro
I Firma [digital] (Signature)mdash como una firma fiacutesica pero no se puede falsificarmdash la firma copiada no es vaacutelida para otro documento
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido randOut encadenado
1530
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
3 Faros de aleatoriedad mdash Operaciones
Pauta 3
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1730
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten
1 Sin liberacioacuten avanzada de pulso (δ ge 0)
2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)4 Sin liberacioacuten retrasada (δ pequentildeo) rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo1930
3 Faros de aleatoriedad mdash Operaciones
Un posible diagrama de generacioacuten de pulso
HSM
Leyenda ndash BD base de datos ndash ∥ concatenacioacutenndash liberado no antes de la marca de tiempondash HSM moacutedulo de seguridad de hardwarendash NTP protocolo de red de tiempondash RNG generador de nuacutemeros aleatoriosndash UTC Tiempo Universal Coordinado
DB
NTP
MDi algunos metadatos (uri version cipher period certId chainId)
Pasti = (Riminus1 RH[iminus1] RD[iminus1] RM [iminus1] RY [iminus1]) previous (i minus 1)and 1st of hour (H) day (D) month (M) and year (Y ) of previous
Mi = MDi∥i∥Ti∥ri∥Ei∥Pasti∥Ci∥zi
Servidorde tiempo(remoto)
Reloj(on chip)
Hashdel valorexterno
Ri
Ri
i iacutendice de pulso (entero incrementado en 1 por cada pulso liberado)
Ti marca de tiempo (UTC precisioacuten ms eg ldquo2018-07-23T192600000Zrdquo)
ri randLocal (512 bits)Ei external (srcId status value) (todos ceros cuando no estaacuten disponibles)
Ci preCom (512 bits)zi status (32 bits)
Pi (pulso)pulsify
Pi =Mi∥Ri∥Si
RNG 2
(randLocaldel pulsosiguiente)
ρi2 (512 bits)
ρi1∥ρi2
[∥ρi3]
RNG 3(quantum)
Cachelocal
ri+1
ρi1
(512bits)
HashHashRNG 1(on chip)
ρi3
(512bits)
HashHashri+1
HashHash
HashHash
Ri randOut
Hi
Mi
Si firma
Moacutedulode firmalowast
Mi
Si
Si
Mi∥Si
Para simplificar el diagrama omite los detalles de serializacioacuten (por ejemplo longitudes de campo y relleno) y algunos campos de metadatos
2030
4 Faros de aleatoriedad mdash Uso
Pauta 4
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2130
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]
I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado
publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
2 Faros de aleatoriedad mdash Formato
Publicacioacuten NISTIR 8213Una Referencia para Faros de Aleatoriedad Formato y Protocolo Versioacuten 2
(A Reference for Randomness Beacons Format and Protocol Version 2)
httpsdoiorg106028NISTIR8213-draft
Algunos temas en el informeI formato para pulsosI protocolo para operaciones de un faroI utilizacioacuten de faros de aleatoriedadI consideraciones de seguridad
Draft NISTIR 82131
2
A Reference for Randomness Beacons3
Format and Protocol Version 24
John Kelsey5
Luıs T A N Brandao6
Rene Peralta7
Harold Booth8
This publication is available free of charge from9
httpsdoiorg106028NISTIR8213-draft10
11
Dos objetivos en esta presentacioacutenI dar una visioacuten general de la nueva referenciaI motivar nuevas implementaciones de aleatoriedad
puacuteblica y nuevas aplicaciones para las mismas
1230
2 Faros de aleatoriedad mdash Formato
Arquitectura del servicio Beacon
HSM
Reloj
RNGFaroApp
RNG3
Motor del Faro
Servidorde
tiempo
BD(interfazweb)
Web(usuarios)
Cf
Leyenda- App aplicacioacuten (software)- BD base de datos- Cf cortafuegos- HSM moacutedulo de seguridad de hardware- RNG generador de nuacutemeros aleatorios
consultas
Firma
Pulso
Entropiacuteaexterna
RNG
respuestas
Pero iquestqueacute es exactamente un pulso iquestde donde proviene su aleatoriedad
1330
2 Faros de aleatoriedad mdash Formato
Arquitectura del servicio Beacon
HSM
Reloj
RNGFaroApp
RNG3
Motor del Faro
Servidorde
tiempo
BD(interfazweb)
Web(usuarios)
Cf
Leyenda- App aplicacioacuten (software)- BD base de datos- Cf cortafuegos- HSM moacutedulo de seguridad de hardware- RNG generador de nuacutemeros aleatorios
consultas
Firma
Pulso
Entropiacuteaexterna
RNG
respuestas
Pero iquestqueacute es exactamente un pulso iquestde donde proviene su aleatoriedad
1330
2 Faros de aleatoriedad mdash Formato
Algunos conceptos uacutetiles para esta charla
I Hash
mdash como una huella dactilar de datos (secuencia rdquouacutenicardquo de 512 bits)mdash parece aleatorio si se desconocen sus datos de origen
I Compromiso (Commitment)
mdash como una boacuteveda que oculta datos hasta que se abremdash una vez cerrado no se puede cambiar lo que hay dentro
I Firma [digital] (Signature)
mdash como una firma fiacutesica pero no se puede falsificarmdash la firma copiada no es vaacutelida para otro documento
1430
2 Faros de aleatoriedad mdash Formato
Algunos conceptos uacutetiles para esta charla
I Hashmdash como una huella dactilar de datos (secuencia rdquouacutenicardquo de 512 bits)mdash parece aleatorio si se desconocen sus datos de origen
I Compromiso (Commitment)mdash como una boacuteveda que oculta datos hasta que se abremdash una vez cerrado no se puede cambiar lo que hay dentro
I Firma [digital] (Signature)mdash como una firma fiacutesica pero no se puede falsificarmdash la firma copiada no es vaacutelida para otro documento
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido randOut encadenado
1530
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
3 Faros de aleatoriedad mdash Operaciones
Pauta 3
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1730
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten
1 Sin liberacioacuten avanzada de pulso (δ ge 0)
2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)4 Sin liberacioacuten retrasada (δ pequentildeo) rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo1930
3 Faros de aleatoriedad mdash Operaciones
Un posible diagrama de generacioacuten de pulso
HSM
Leyenda ndash BD base de datos ndash ∥ concatenacioacutenndash liberado no antes de la marca de tiempondash HSM moacutedulo de seguridad de hardwarendash NTP protocolo de red de tiempondash RNG generador de nuacutemeros aleatoriosndash UTC Tiempo Universal Coordinado
DB
NTP
MDi algunos metadatos (uri version cipher period certId chainId)
Pasti = (Riminus1 RH[iminus1] RD[iminus1] RM [iminus1] RY [iminus1]) previous (i minus 1)and 1st of hour (H) day (D) month (M) and year (Y ) of previous
Mi = MDi∥i∥Ti∥ri∥Ei∥Pasti∥Ci∥zi
Servidorde tiempo(remoto)
Reloj(on chip)
Hashdel valorexterno
Ri
Ri
i iacutendice de pulso (entero incrementado en 1 por cada pulso liberado)
Ti marca de tiempo (UTC precisioacuten ms eg ldquo2018-07-23T192600000Zrdquo)
ri randLocal (512 bits)Ei external (srcId status value) (todos ceros cuando no estaacuten disponibles)
Ci preCom (512 bits)zi status (32 bits)
Pi (pulso)pulsify
Pi =Mi∥Ri∥Si
RNG 2
(randLocaldel pulsosiguiente)
ρi2 (512 bits)
ρi1∥ρi2
[∥ρi3]
RNG 3(quantum)
Cachelocal
ri+1
ρi1
(512bits)
HashHashRNG 1(on chip)
ρi3
(512bits)
HashHashri+1
HashHash
HashHash
Ri randOut
Hi
Mi
Si firma
Moacutedulode firmalowast
Mi
Si
Si
Mi∥Si
Para simplificar el diagrama omite los detalles de serializacioacuten (por ejemplo longitudes de campo y relleno) y algunos campos de metadatos
2030
4 Faros de aleatoriedad mdash Uso
Pauta 4
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2130
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]
I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado
publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
2 Faros de aleatoriedad mdash Formato
Arquitectura del servicio Beacon
HSM
Reloj
RNGFaroApp
RNG3
Motor del Faro
Servidorde
tiempo
BD(interfazweb)
Web(usuarios)
Cf
Leyenda- App aplicacioacuten (software)- BD base de datos- Cf cortafuegos- HSM moacutedulo de seguridad de hardware- RNG generador de nuacutemeros aleatorios
consultas
Firma
Pulso
Entropiacuteaexterna
RNG
respuestas
Pero iquestqueacute es exactamente un pulso iquestde donde proviene su aleatoriedad
1330
2 Faros de aleatoriedad mdash Formato
Arquitectura del servicio Beacon
HSM
Reloj
RNGFaroApp
RNG3
Motor del Faro
Servidorde
tiempo
BD(interfazweb)
Web(usuarios)
Cf
Leyenda- App aplicacioacuten (software)- BD base de datos- Cf cortafuegos- HSM moacutedulo de seguridad de hardware- RNG generador de nuacutemeros aleatorios
consultas
Firma
Pulso
Entropiacuteaexterna
RNG
respuestas
Pero iquestqueacute es exactamente un pulso iquestde donde proviene su aleatoriedad
1330
2 Faros de aleatoriedad mdash Formato
Algunos conceptos uacutetiles para esta charla
I Hash
mdash como una huella dactilar de datos (secuencia rdquouacutenicardquo de 512 bits)mdash parece aleatorio si se desconocen sus datos de origen
I Compromiso (Commitment)
mdash como una boacuteveda que oculta datos hasta que se abremdash una vez cerrado no se puede cambiar lo que hay dentro
I Firma [digital] (Signature)
mdash como una firma fiacutesica pero no se puede falsificarmdash la firma copiada no es vaacutelida para otro documento
1430
2 Faros de aleatoriedad mdash Formato
Algunos conceptos uacutetiles para esta charla
I Hashmdash como una huella dactilar de datos (secuencia rdquouacutenicardquo de 512 bits)mdash parece aleatorio si se desconocen sus datos de origen
I Compromiso (Commitment)mdash como una boacuteveda que oculta datos hasta que se abremdash una vez cerrado no se puede cambiar lo que hay dentro
I Firma [digital] (Signature)mdash como una firma fiacutesica pero no se puede falsificarmdash la firma copiada no es vaacutelida para otro documento
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido randOut encadenado
1530
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
3 Faros de aleatoriedad mdash Operaciones
Pauta 3
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1730
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten
1 Sin liberacioacuten avanzada de pulso (δ ge 0)
2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)4 Sin liberacioacuten retrasada (δ pequentildeo) rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo1930
3 Faros de aleatoriedad mdash Operaciones
Un posible diagrama de generacioacuten de pulso
HSM
Leyenda ndash BD base de datos ndash ∥ concatenacioacutenndash liberado no antes de la marca de tiempondash HSM moacutedulo de seguridad de hardwarendash NTP protocolo de red de tiempondash RNG generador de nuacutemeros aleatoriosndash UTC Tiempo Universal Coordinado
DB
NTP
MDi algunos metadatos (uri version cipher period certId chainId)
Pasti = (Riminus1 RH[iminus1] RD[iminus1] RM [iminus1] RY [iminus1]) previous (i minus 1)and 1st of hour (H) day (D) month (M) and year (Y ) of previous
Mi = MDi∥i∥Ti∥ri∥Ei∥Pasti∥Ci∥zi
Servidorde tiempo(remoto)
Reloj(on chip)
Hashdel valorexterno
Ri
Ri
i iacutendice de pulso (entero incrementado en 1 por cada pulso liberado)
Ti marca de tiempo (UTC precisioacuten ms eg ldquo2018-07-23T192600000Zrdquo)
ri randLocal (512 bits)Ei external (srcId status value) (todos ceros cuando no estaacuten disponibles)
Ci preCom (512 bits)zi status (32 bits)
Pi (pulso)pulsify
Pi =Mi∥Ri∥Si
RNG 2
(randLocaldel pulsosiguiente)
ρi2 (512 bits)
ρi1∥ρi2
[∥ρi3]
RNG 3(quantum)
Cachelocal
ri+1
ρi1
(512bits)
HashHashRNG 1(on chip)
ρi3
(512bits)
HashHashri+1
HashHash
HashHash
Ri randOut
Hi
Mi
Si firma
Moacutedulode firmalowast
Mi
Si
Si
Mi∥Si
Para simplificar el diagrama omite los detalles de serializacioacuten (por ejemplo longitudes de campo y relleno) y algunos campos de metadatos
2030
4 Faros de aleatoriedad mdash Uso
Pauta 4
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2130
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]
I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado
publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
2 Faros de aleatoriedad mdash Formato
Arquitectura del servicio Beacon
HSM
Reloj
RNGFaroApp
RNG3
Motor del Faro
Servidorde
tiempo
BD(interfazweb)
Web(usuarios)
Cf
Leyenda- App aplicacioacuten (software)- BD base de datos- Cf cortafuegos- HSM moacutedulo de seguridad de hardware- RNG generador de nuacutemeros aleatorios
consultas
Firma
Pulso
Entropiacuteaexterna
RNG
respuestas
Pero iquestqueacute es exactamente un pulso iquestde donde proviene su aleatoriedad
1330
2 Faros de aleatoriedad mdash Formato
Algunos conceptos uacutetiles para esta charla
I Hash
mdash como una huella dactilar de datos (secuencia rdquouacutenicardquo de 512 bits)mdash parece aleatorio si se desconocen sus datos de origen
I Compromiso (Commitment)
mdash como una boacuteveda que oculta datos hasta que se abremdash una vez cerrado no se puede cambiar lo que hay dentro
I Firma [digital] (Signature)
mdash como una firma fiacutesica pero no se puede falsificarmdash la firma copiada no es vaacutelida para otro documento
1430
2 Faros de aleatoriedad mdash Formato
Algunos conceptos uacutetiles para esta charla
I Hashmdash como una huella dactilar de datos (secuencia rdquouacutenicardquo de 512 bits)mdash parece aleatorio si se desconocen sus datos de origen
I Compromiso (Commitment)mdash como una boacuteveda que oculta datos hasta que se abremdash una vez cerrado no se puede cambiar lo que hay dentro
I Firma [digital] (Signature)mdash como una firma fiacutesica pero no se puede falsificarmdash la firma copiada no es vaacutelida para otro documento
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido randOut encadenado
1530
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
3 Faros de aleatoriedad mdash Operaciones
Pauta 3
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1730
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten
1 Sin liberacioacuten avanzada de pulso (δ ge 0)
2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)4 Sin liberacioacuten retrasada (δ pequentildeo) rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo1930
3 Faros de aleatoriedad mdash Operaciones
Un posible diagrama de generacioacuten de pulso
HSM
Leyenda ndash BD base de datos ndash ∥ concatenacioacutenndash liberado no antes de la marca de tiempondash HSM moacutedulo de seguridad de hardwarendash NTP protocolo de red de tiempondash RNG generador de nuacutemeros aleatoriosndash UTC Tiempo Universal Coordinado
DB
NTP
MDi algunos metadatos (uri version cipher period certId chainId)
Pasti = (Riminus1 RH[iminus1] RD[iminus1] RM [iminus1] RY [iminus1]) previous (i minus 1)and 1st of hour (H) day (D) month (M) and year (Y ) of previous
Mi = MDi∥i∥Ti∥ri∥Ei∥Pasti∥Ci∥zi
Servidorde tiempo(remoto)
Reloj(on chip)
Hashdel valorexterno
Ri
Ri
i iacutendice de pulso (entero incrementado en 1 por cada pulso liberado)
Ti marca de tiempo (UTC precisioacuten ms eg ldquo2018-07-23T192600000Zrdquo)
ri randLocal (512 bits)Ei external (srcId status value) (todos ceros cuando no estaacuten disponibles)
Ci preCom (512 bits)zi status (32 bits)
Pi (pulso)pulsify
Pi =Mi∥Ri∥Si
RNG 2
(randLocaldel pulsosiguiente)
ρi2 (512 bits)
ρi1∥ρi2
[∥ρi3]
RNG 3(quantum)
Cachelocal
ri+1
ρi1
(512bits)
HashHashRNG 1(on chip)
ρi3
(512bits)
HashHashri+1
HashHash
HashHash
Ri randOut
Hi
Mi
Si firma
Moacutedulode firmalowast
Mi
Si
Si
Mi∥Si
Para simplificar el diagrama omite los detalles de serializacioacuten (por ejemplo longitudes de campo y relleno) y algunos campos de metadatos
2030
4 Faros de aleatoriedad mdash Uso
Pauta 4
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2130
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]
I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado
publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
2 Faros de aleatoriedad mdash Formato
Algunos conceptos uacutetiles para esta charla
I Hash
mdash como una huella dactilar de datos (secuencia rdquouacutenicardquo de 512 bits)mdash parece aleatorio si se desconocen sus datos de origen
I Compromiso (Commitment)
mdash como una boacuteveda que oculta datos hasta que se abremdash una vez cerrado no se puede cambiar lo que hay dentro
I Firma [digital] (Signature)
mdash como una firma fiacutesica pero no se puede falsificarmdash la firma copiada no es vaacutelida para otro documento
1430
2 Faros de aleatoriedad mdash Formato
Algunos conceptos uacutetiles para esta charla
I Hashmdash como una huella dactilar de datos (secuencia rdquouacutenicardquo de 512 bits)mdash parece aleatorio si se desconocen sus datos de origen
I Compromiso (Commitment)mdash como una boacuteveda que oculta datos hasta que se abremdash una vez cerrado no se puede cambiar lo que hay dentro
I Firma [digital] (Signature)mdash como una firma fiacutesica pero no se puede falsificarmdash la firma copiada no es vaacutelida para otro documento
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido randOut encadenado
1530
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
3 Faros de aleatoriedad mdash Operaciones
Pauta 3
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1730
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten
1 Sin liberacioacuten avanzada de pulso (δ ge 0)
2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)4 Sin liberacioacuten retrasada (δ pequentildeo) rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo1930
3 Faros de aleatoriedad mdash Operaciones
Un posible diagrama de generacioacuten de pulso
HSM
Leyenda ndash BD base de datos ndash ∥ concatenacioacutenndash liberado no antes de la marca de tiempondash HSM moacutedulo de seguridad de hardwarendash NTP protocolo de red de tiempondash RNG generador de nuacutemeros aleatoriosndash UTC Tiempo Universal Coordinado
DB
NTP
MDi algunos metadatos (uri version cipher period certId chainId)
Pasti = (Riminus1 RH[iminus1] RD[iminus1] RM [iminus1] RY [iminus1]) previous (i minus 1)and 1st of hour (H) day (D) month (M) and year (Y ) of previous
Mi = MDi∥i∥Ti∥ri∥Ei∥Pasti∥Ci∥zi
Servidorde tiempo(remoto)
Reloj(on chip)
Hashdel valorexterno
Ri
Ri
i iacutendice de pulso (entero incrementado en 1 por cada pulso liberado)
Ti marca de tiempo (UTC precisioacuten ms eg ldquo2018-07-23T192600000Zrdquo)
ri randLocal (512 bits)Ei external (srcId status value) (todos ceros cuando no estaacuten disponibles)
Ci preCom (512 bits)zi status (32 bits)
Pi (pulso)pulsify
Pi =Mi∥Ri∥Si
RNG 2
(randLocaldel pulsosiguiente)
ρi2 (512 bits)
ρi1∥ρi2
[∥ρi3]
RNG 3(quantum)
Cachelocal
ri+1
ρi1
(512bits)
HashHashRNG 1(on chip)
ρi3
(512bits)
HashHashri+1
HashHash
HashHash
Ri randOut
Hi
Mi
Si firma
Moacutedulode firmalowast
Mi
Si
Si
Mi∥Si
Para simplificar el diagrama omite los detalles de serializacioacuten (por ejemplo longitudes de campo y relleno) y algunos campos de metadatos
2030
4 Faros de aleatoriedad mdash Uso
Pauta 4
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2130
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]
I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado
publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
2 Faros de aleatoriedad mdash Formato
Algunos conceptos uacutetiles para esta charla
I Hashmdash como una huella dactilar de datos (secuencia rdquouacutenicardquo de 512 bits)mdash parece aleatorio si se desconocen sus datos de origen
I Compromiso (Commitment)mdash como una boacuteveda que oculta datos hasta que se abremdash una vez cerrado no se puede cambiar lo que hay dentro
I Firma [digital] (Signature)mdash como una firma fiacutesica pero no se puede falsificarmdash la firma copiada no es vaacutelida para otro documento
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido randOut encadenado
1530
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
3 Faros de aleatoriedad mdash Operaciones
Pauta 3
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1730
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten
1 Sin liberacioacuten avanzada de pulso (δ ge 0)
2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)4 Sin liberacioacuten retrasada (δ pequentildeo) rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo1930
3 Faros de aleatoriedad mdash Operaciones
Un posible diagrama de generacioacuten de pulso
HSM
Leyenda ndash BD base de datos ndash ∥ concatenacioacutenndash liberado no antes de la marca de tiempondash HSM moacutedulo de seguridad de hardwarendash NTP protocolo de red de tiempondash RNG generador de nuacutemeros aleatoriosndash UTC Tiempo Universal Coordinado
DB
NTP
MDi algunos metadatos (uri version cipher period certId chainId)
Pasti = (Riminus1 RH[iminus1] RD[iminus1] RM [iminus1] RY [iminus1]) previous (i minus 1)and 1st of hour (H) day (D) month (M) and year (Y ) of previous
Mi = MDi∥i∥Ti∥ri∥Ei∥Pasti∥Ci∥zi
Servidorde tiempo(remoto)
Reloj(on chip)
Hashdel valorexterno
Ri
Ri
i iacutendice de pulso (entero incrementado en 1 por cada pulso liberado)
Ti marca de tiempo (UTC precisioacuten ms eg ldquo2018-07-23T192600000Zrdquo)
ri randLocal (512 bits)Ei external (srcId status value) (todos ceros cuando no estaacuten disponibles)
Ci preCom (512 bits)zi status (32 bits)
Pi (pulso)pulsify
Pi =Mi∥Ri∥Si
RNG 2
(randLocaldel pulsosiguiente)
ρi2 (512 bits)
ρi1∥ρi2
[∥ρi3]
RNG 3(quantum)
Cachelocal
ri+1
ρi1
(512bits)
HashHashRNG 1(on chip)
ρi3
(512bits)
HashHashri+1
HashHash
HashHash
Ri randOut
Hi
Mi
Si firma
Moacutedulode firmalowast
Mi
Si
Si
Mi∥Si
Para simplificar el diagrama omite los detalles de serializacioacuten (por ejemplo longitudes de campo y relleno) y algunos campos de metadatos
2030
4 Faros de aleatoriedad mdash Uso
Pauta 4
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2130
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]
I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado
publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido randOut encadenado
1530
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
3 Faros de aleatoriedad mdash Operaciones
Pauta 3
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1730
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten
1 Sin liberacioacuten avanzada de pulso (δ ge 0)
2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)4 Sin liberacioacuten retrasada (δ pequentildeo) rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo1930
3 Faros de aleatoriedad mdash Operaciones
Un posible diagrama de generacioacuten de pulso
HSM
Leyenda ndash BD base de datos ndash ∥ concatenacioacutenndash liberado no antes de la marca de tiempondash HSM moacutedulo de seguridad de hardwarendash NTP protocolo de red de tiempondash RNG generador de nuacutemeros aleatoriosndash UTC Tiempo Universal Coordinado
DB
NTP
MDi algunos metadatos (uri version cipher period certId chainId)
Pasti = (Riminus1 RH[iminus1] RD[iminus1] RM [iminus1] RY [iminus1]) previous (i minus 1)and 1st of hour (H) day (D) month (M) and year (Y ) of previous
Mi = MDi∥i∥Ti∥ri∥Ei∥Pasti∥Ci∥zi
Servidorde tiempo(remoto)
Reloj(on chip)
Hashdel valorexterno
Ri
Ri
i iacutendice de pulso (entero incrementado en 1 por cada pulso liberado)
Ti marca de tiempo (UTC precisioacuten ms eg ldquo2018-07-23T192600000Zrdquo)
ri randLocal (512 bits)Ei external (srcId status value) (todos ceros cuando no estaacuten disponibles)
Ci preCom (512 bits)zi status (32 bits)
Pi (pulso)pulsify
Pi =Mi∥Ri∥Si
RNG 2
(randLocaldel pulsosiguiente)
ρi2 (512 bits)
ρi1∥ρi2
[∥ρi3]
RNG 3(quantum)
Cachelocal
ri+1
ρi1
(512bits)
HashHashRNG 1(on chip)
ρi3
(512bits)
HashHashri+1
HashHash
HashHash
Ri randOut
Hi
Mi
Si firma
Moacutedulode firmalowast
Mi
Si
Si
Mi∥Si
Para simplificar el diagrama omite los detalles de serializacioacuten (por ejemplo longitudes de campo y relleno) y algunos campos de metadatos
2030
4 Faros de aleatoriedad mdash Uso
Pauta 4
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2130
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]
I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado
publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido randOut encadenado
1530
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
3 Faros de aleatoriedad mdash Operaciones
Pauta 3
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1730
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten
1 Sin liberacioacuten avanzada de pulso (δ ge 0)
2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)4 Sin liberacioacuten retrasada (δ pequentildeo) rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo1930
3 Faros de aleatoriedad mdash Operaciones
Un posible diagrama de generacioacuten de pulso
HSM
Leyenda ndash BD base de datos ndash ∥ concatenacioacutenndash liberado no antes de la marca de tiempondash HSM moacutedulo de seguridad de hardwarendash NTP protocolo de red de tiempondash RNG generador de nuacutemeros aleatoriosndash UTC Tiempo Universal Coordinado
DB
NTP
MDi algunos metadatos (uri version cipher period certId chainId)
Pasti = (Riminus1 RH[iminus1] RD[iminus1] RM [iminus1] RY [iminus1]) previous (i minus 1)and 1st of hour (H) day (D) month (M) and year (Y ) of previous
Mi = MDi∥i∥Ti∥ri∥Ei∥Pasti∥Ci∥zi
Servidorde tiempo(remoto)
Reloj(on chip)
Hashdel valorexterno
Ri
Ri
i iacutendice de pulso (entero incrementado en 1 por cada pulso liberado)
Ti marca de tiempo (UTC precisioacuten ms eg ldquo2018-07-23T192600000Zrdquo)
ri randLocal (512 bits)Ei external (srcId status value) (todos ceros cuando no estaacuten disponibles)
Ci preCom (512 bits)zi status (32 bits)
Pi (pulso)pulsify
Pi =Mi∥Ri∥Si
RNG 2
(randLocaldel pulsosiguiente)
ρi2 (512 bits)
ρi1∥ρi2
[∥ρi3]
RNG 3(quantum)
Cachelocal
ri+1
ρi1
(512bits)
HashHashRNG 1(on chip)
ρi3
(512bits)
HashHashri+1
HashHash
HashHash
Ri randOut
Hi
Mi
Si firma
Moacutedulode firmalowast
Mi
Si
Si
Mi∥Si
Para simplificar el diagrama omite los detalles de serializacioacuten (por ejemplo longitudes de campo y relleno) y algunos campos de metadatos
2030
4 Faros de aleatoriedad mdash Uso
Pauta 4
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2130
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]
I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado
publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido randOut encadenado
1530
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
3 Faros de aleatoriedad mdash Operaciones
Pauta 3
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1730
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten
1 Sin liberacioacuten avanzada de pulso (δ ge 0)
2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)4 Sin liberacioacuten retrasada (δ pequentildeo) rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo1930
3 Faros de aleatoriedad mdash Operaciones
Un posible diagrama de generacioacuten de pulso
HSM
Leyenda ndash BD base de datos ndash ∥ concatenacioacutenndash liberado no antes de la marca de tiempondash HSM moacutedulo de seguridad de hardwarendash NTP protocolo de red de tiempondash RNG generador de nuacutemeros aleatoriosndash UTC Tiempo Universal Coordinado
DB
NTP
MDi algunos metadatos (uri version cipher period certId chainId)
Pasti = (Riminus1 RH[iminus1] RD[iminus1] RM [iminus1] RY [iminus1]) previous (i minus 1)and 1st of hour (H) day (D) month (M) and year (Y ) of previous
Mi = MDi∥i∥Ti∥ri∥Ei∥Pasti∥Ci∥zi
Servidorde tiempo(remoto)
Reloj(on chip)
Hashdel valorexterno
Ri
Ri
i iacutendice de pulso (entero incrementado en 1 por cada pulso liberado)
Ti marca de tiempo (UTC precisioacuten ms eg ldquo2018-07-23T192600000Zrdquo)
ri randLocal (512 bits)Ei external (srcId status value) (todos ceros cuando no estaacuten disponibles)
Ci preCom (512 bits)zi status (32 bits)
Pi (pulso)pulsify
Pi =Mi∥Ri∥Si
RNG 2
(randLocaldel pulsosiguiente)
ρi2 (512 bits)
ρi1∥ρi2
[∥ρi3]
RNG 3(quantum)
Cachelocal
ri+1
ρi1
(512bits)
HashHashRNG 1(on chip)
ρi3
(512bits)
HashHashri+1
HashHash
HashHash
Ri randOut
Hi
Mi
Si firma
Moacutedulode firmalowast
Mi
Si
Si
Mi∥Si
Para simplificar el diagrama omite los detalles de serializacioacuten (por ejemplo longitudes de campo y relleno) y algunos campos de metadatos
2030
4 Faros de aleatoriedad mdash Uso
Pauta 4
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2130
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]
I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado
publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido randOut encadenado
1530
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
3 Faros de aleatoriedad mdash Operaciones
Pauta 3
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1730
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten
1 Sin liberacioacuten avanzada de pulso (δ ge 0)
2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)4 Sin liberacioacuten retrasada (δ pequentildeo) rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo1930
3 Faros de aleatoriedad mdash Operaciones
Un posible diagrama de generacioacuten de pulso
HSM
Leyenda ndash BD base de datos ndash ∥ concatenacioacutenndash liberado no antes de la marca de tiempondash HSM moacutedulo de seguridad de hardwarendash NTP protocolo de red de tiempondash RNG generador de nuacutemeros aleatoriosndash UTC Tiempo Universal Coordinado
DB
NTP
MDi algunos metadatos (uri version cipher period certId chainId)
Pasti = (Riminus1 RH[iminus1] RD[iminus1] RM [iminus1] RY [iminus1]) previous (i minus 1)and 1st of hour (H) day (D) month (M) and year (Y ) of previous
Mi = MDi∥i∥Ti∥ri∥Ei∥Pasti∥Ci∥zi
Servidorde tiempo(remoto)
Reloj(on chip)
Hashdel valorexterno
Ri
Ri
i iacutendice de pulso (entero incrementado en 1 por cada pulso liberado)
Ti marca de tiempo (UTC precisioacuten ms eg ldquo2018-07-23T192600000Zrdquo)
ri randLocal (512 bits)Ei external (srcId status value) (todos ceros cuando no estaacuten disponibles)
Ci preCom (512 bits)zi status (32 bits)
Pi (pulso)pulsify
Pi =Mi∥Ri∥Si
RNG 2
(randLocaldel pulsosiguiente)
ρi2 (512 bits)
ρi1∥ρi2
[∥ρi3]
RNG 3(quantum)
Cachelocal
ri+1
ρi1
(512bits)
HashHashRNG 1(on chip)
ρi3
(512bits)
HashHashri+1
HashHash
HashHash
Ri randOut
Hi
Mi
Si firma
Moacutedulode firmalowast
Mi
Si
Si
Mi∥Si
Para simplificar el diagrama omite los detalles de serializacioacuten (por ejemplo longitudes de campo y relleno) y algunos campos de metadatos
2030
4 Faros de aleatoriedad mdash Uso
Pauta 4
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2130
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]
I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado
publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido randOut encadenado
1530
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
3 Faros de aleatoriedad mdash Operaciones
Pauta 3
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1730
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten
1 Sin liberacioacuten avanzada de pulso (δ ge 0)
2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)4 Sin liberacioacuten retrasada (δ pequentildeo) rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo1930
3 Faros de aleatoriedad mdash Operaciones
Un posible diagrama de generacioacuten de pulso
HSM
Leyenda ndash BD base de datos ndash ∥ concatenacioacutenndash liberado no antes de la marca de tiempondash HSM moacutedulo de seguridad de hardwarendash NTP protocolo de red de tiempondash RNG generador de nuacutemeros aleatoriosndash UTC Tiempo Universal Coordinado
DB
NTP
MDi algunos metadatos (uri version cipher period certId chainId)
Pasti = (Riminus1 RH[iminus1] RD[iminus1] RM [iminus1] RY [iminus1]) previous (i minus 1)and 1st of hour (H) day (D) month (M) and year (Y ) of previous
Mi = MDi∥i∥Ti∥ri∥Ei∥Pasti∥Ci∥zi
Servidorde tiempo(remoto)
Reloj(on chip)
Hashdel valorexterno
Ri
Ri
i iacutendice de pulso (entero incrementado en 1 por cada pulso liberado)
Ti marca de tiempo (UTC precisioacuten ms eg ldquo2018-07-23T192600000Zrdquo)
ri randLocal (512 bits)Ei external (srcId status value) (todos ceros cuando no estaacuten disponibles)
Ci preCom (512 bits)zi status (32 bits)
Pi (pulso)pulsify
Pi =Mi∥Ri∥Si
RNG 2
(randLocaldel pulsosiguiente)
ρi2 (512 bits)
ρi1∥ρi2
[∥ρi3]
RNG 3(quantum)
Cachelocal
ri+1
ρi1
(512bits)
HashHashRNG 1(on chip)
ρi3
(512bits)
HashHashri+1
HashHash
HashHash
Ri randOut
Hi
Mi
Si firma
Moacutedulode firmalowast
Mi
Si
Si
Mi∥Si
Para simplificar el diagrama omite los detalles de serializacioacuten (por ejemplo longitudes de campo y relleno) y algunos campos de metadatos
2030
4 Faros de aleatoriedad mdash Uso
Pauta 4
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2130
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]
I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado
publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido randOut encadenado
1530
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
3 Faros de aleatoriedad mdash Operaciones
Pauta 3
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1730
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten
1 Sin liberacioacuten avanzada de pulso (δ ge 0)
2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)4 Sin liberacioacuten retrasada (δ pequentildeo) rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo1930
3 Faros de aleatoriedad mdash Operaciones
Un posible diagrama de generacioacuten de pulso
HSM
Leyenda ndash BD base de datos ndash ∥ concatenacioacutenndash liberado no antes de la marca de tiempondash HSM moacutedulo de seguridad de hardwarendash NTP protocolo de red de tiempondash RNG generador de nuacutemeros aleatoriosndash UTC Tiempo Universal Coordinado
DB
NTP
MDi algunos metadatos (uri version cipher period certId chainId)
Pasti = (Riminus1 RH[iminus1] RD[iminus1] RM [iminus1] RY [iminus1]) previous (i minus 1)and 1st of hour (H) day (D) month (M) and year (Y ) of previous
Mi = MDi∥i∥Ti∥ri∥Ei∥Pasti∥Ci∥zi
Servidorde tiempo(remoto)
Reloj(on chip)
Hashdel valorexterno
Ri
Ri
i iacutendice de pulso (entero incrementado en 1 por cada pulso liberado)
Ti marca de tiempo (UTC precisioacuten ms eg ldquo2018-07-23T192600000Zrdquo)
ri randLocal (512 bits)Ei external (srcId status value) (todos ceros cuando no estaacuten disponibles)
Ci preCom (512 bits)zi status (32 bits)
Pi (pulso)pulsify
Pi =Mi∥Ri∥Si
RNG 2
(randLocaldel pulsosiguiente)
ρi2 (512 bits)
ρi1∥ρi2
[∥ρi3]
RNG 3(quantum)
Cachelocal
ri+1
ρi1
(512bits)
HashHashRNG 1(on chip)
ρi3
(512bits)
HashHashri+1
HashHash
HashHash
Ri randOut
Hi
Mi
Si firma
Moacutedulode firmalowast
Mi
Si
Si
Mi∥Si
Para simplificar el diagrama omite los detalles de serializacioacuten (por ejemplo longitudes de campo y relleno) y algunos campos de metadatos
2030
4 Faros de aleatoriedad mdash Uso
Pauta 4
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2130
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]
I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado
publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido randOut encadenado
1530
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
3 Faros de aleatoriedad mdash Operaciones
Pauta 3
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1730
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten
1 Sin liberacioacuten avanzada de pulso (δ ge 0)
2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)4 Sin liberacioacuten retrasada (δ pequentildeo) rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo1930
3 Faros de aleatoriedad mdash Operaciones
Un posible diagrama de generacioacuten de pulso
HSM
Leyenda ndash BD base de datos ndash ∥ concatenacioacutenndash liberado no antes de la marca de tiempondash HSM moacutedulo de seguridad de hardwarendash NTP protocolo de red de tiempondash RNG generador de nuacutemeros aleatoriosndash UTC Tiempo Universal Coordinado
DB
NTP
MDi algunos metadatos (uri version cipher period certId chainId)
Pasti = (Riminus1 RH[iminus1] RD[iminus1] RM [iminus1] RY [iminus1]) previous (i minus 1)and 1st of hour (H) day (D) month (M) and year (Y ) of previous
Mi = MDi∥i∥Ti∥ri∥Ei∥Pasti∥Ci∥zi
Servidorde tiempo(remoto)
Reloj(on chip)
Hashdel valorexterno
Ri
Ri
i iacutendice de pulso (entero incrementado en 1 por cada pulso liberado)
Ti marca de tiempo (UTC precisioacuten ms eg ldquo2018-07-23T192600000Zrdquo)
ri randLocal (512 bits)Ei external (srcId status value) (todos ceros cuando no estaacuten disponibles)
Ci preCom (512 bits)zi status (32 bits)
Pi (pulso)pulsify
Pi =Mi∥Ri∥Si
RNG 2
(randLocaldel pulsosiguiente)
ρi2 (512 bits)
ρi1∥ρi2
[∥ρi3]
RNG 3(quantum)
Cachelocal
ri+1
ρi1
(512bits)
HashHashRNG 1(on chip)
ρi3
(512bits)
HashHashri+1
HashHash
HashHash
Ri randOut
Hi
Mi
Si firma
Moacutedulode firmalowast
Mi
Si
Si
Mi∥Si
Para simplificar el diagrama omite los detalles de serializacioacuten (por ejemplo longitudes de campo y relleno) y algunos campos de metadatos
2030
4 Faros de aleatoriedad mdash Uso
Pauta 4
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2130
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]
I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado
publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado randLocal comprometido randOut encadenado
1530
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
3 Faros de aleatoriedad mdash Operaciones
Pauta 3
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1730
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten
1 Sin liberacioacuten avanzada de pulso (δ ge 0)
2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)4 Sin liberacioacuten retrasada (δ pequentildeo) rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo1930
3 Faros de aleatoriedad mdash Operaciones
Un posible diagrama de generacioacuten de pulso
HSM
Leyenda ndash BD base de datos ndash ∥ concatenacioacutenndash liberado no antes de la marca de tiempondash HSM moacutedulo de seguridad de hardwarendash NTP protocolo de red de tiempondash RNG generador de nuacutemeros aleatoriosndash UTC Tiempo Universal Coordinado
DB
NTP
MDi algunos metadatos (uri version cipher period certId chainId)
Pasti = (Riminus1 RH[iminus1] RD[iminus1] RM [iminus1] RY [iminus1]) previous (i minus 1)and 1st of hour (H) day (D) month (M) and year (Y ) of previous
Mi = MDi∥i∥Ti∥ri∥Ei∥Pasti∥Ci∥zi
Servidorde tiempo(remoto)
Reloj(on chip)
Hashdel valorexterno
Ri
Ri
i iacutendice de pulso (entero incrementado en 1 por cada pulso liberado)
Ti marca de tiempo (UTC precisioacuten ms eg ldquo2018-07-23T192600000Zrdquo)
ri randLocal (512 bits)Ei external (srcId status value) (todos ceros cuando no estaacuten disponibles)
Ci preCom (512 bits)zi status (32 bits)
Pi (pulso)pulsify
Pi =Mi∥Ri∥Si
RNG 2
(randLocaldel pulsosiguiente)
ρi2 (512 bits)
ρi1∥ρi2
[∥ρi3]
RNG 3(quantum)
Cachelocal
ri+1
ρi1
(512bits)
HashHashRNG 1(on chip)
ρi3
(512bits)
HashHashri+1
HashHash
HashHash
Ri randOut
Hi
Mi
Si firma
Moacutedulode firmalowast
Mi
Si
Si
Mi∥Si
Para simplificar el diagrama omite los detalles de serializacioacuten (por ejemplo longitudes de campo y relleno) y algunos campos de metadatos
2030
4 Faros de aleatoriedad mdash Uso
Pauta 4
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2130
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]
I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado
publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
3 Faros de aleatoriedad mdash Operaciones
Pauta 3
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1730
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten
1 Sin liberacioacuten avanzada de pulso (δ ge 0)
2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)4 Sin liberacioacuten retrasada (δ pequentildeo) rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo1930
3 Faros de aleatoriedad mdash Operaciones
Un posible diagrama de generacioacuten de pulso
HSM
Leyenda ndash BD base de datos ndash ∥ concatenacioacutenndash liberado no antes de la marca de tiempondash HSM moacutedulo de seguridad de hardwarendash NTP protocolo de red de tiempondash RNG generador de nuacutemeros aleatoriosndash UTC Tiempo Universal Coordinado
DB
NTP
MDi algunos metadatos (uri version cipher period certId chainId)
Pasti = (Riminus1 RH[iminus1] RD[iminus1] RM [iminus1] RY [iminus1]) previous (i minus 1)and 1st of hour (H) day (D) month (M) and year (Y ) of previous
Mi = MDi∥i∥Ti∥ri∥Ei∥Pasti∥Ci∥zi
Servidorde tiempo(remoto)
Reloj(on chip)
Hashdel valorexterno
Ri
Ri
i iacutendice de pulso (entero incrementado en 1 por cada pulso liberado)
Ti marca de tiempo (UTC precisioacuten ms eg ldquo2018-07-23T192600000Zrdquo)
ri randLocal (512 bits)Ei external (srcId status value) (todos ceros cuando no estaacuten disponibles)
Ci preCom (512 bits)zi status (32 bits)
Pi (pulso)pulsify
Pi =Mi∥Ri∥Si
RNG 2
(randLocaldel pulsosiguiente)
ρi2 (512 bits)
ρi1∥ρi2
[∥ρi3]
RNG 3(quantum)
Cachelocal
ri+1
ρi1
(512bits)
HashHashRNG 1(on chip)
ρi3
(512bits)
HashHashri+1
HashHash
HashHash
Ri randOut
Hi
Mi
Si firma
Moacutedulode firmalowast
Mi
Si
Si
Mi∥Si
Para simplificar el diagrama omite los detalles de serializacioacuten (por ejemplo longitudes de campo y relleno) y algunos campos de metadatos
2030
4 Faros de aleatoriedad mdash Uso
Pauta 4
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2130
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]
I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado
publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
3 Faros de aleatoriedad mdash Operaciones
Pauta 3
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1730
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten
1 Sin liberacioacuten avanzada de pulso (δ ge 0)
2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)4 Sin liberacioacuten retrasada (δ pequentildeo) rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo1930
3 Faros de aleatoriedad mdash Operaciones
Un posible diagrama de generacioacuten de pulso
HSM
Leyenda ndash BD base de datos ndash ∥ concatenacioacutenndash liberado no antes de la marca de tiempondash HSM moacutedulo de seguridad de hardwarendash NTP protocolo de red de tiempondash RNG generador de nuacutemeros aleatoriosndash UTC Tiempo Universal Coordinado
DB
NTP
MDi algunos metadatos (uri version cipher period certId chainId)
Pasti = (Riminus1 RH[iminus1] RD[iminus1] RM [iminus1] RY [iminus1]) previous (i minus 1)and 1st of hour (H) day (D) month (M) and year (Y ) of previous
Mi = MDi∥i∥Ti∥ri∥Ei∥Pasti∥Ci∥zi
Servidorde tiempo(remoto)
Reloj(on chip)
Hashdel valorexterno
Ri
Ri
i iacutendice de pulso (entero incrementado en 1 por cada pulso liberado)
Ti marca de tiempo (UTC precisioacuten ms eg ldquo2018-07-23T192600000Zrdquo)
ri randLocal (512 bits)Ei external (srcId status value) (todos ceros cuando no estaacuten disponibles)
Ci preCom (512 bits)zi status (32 bits)
Pi (pulso)pulsify
Pi =Mi∥Ri∥Si
RNG 2
(randLocaldel pulsosiguiente)
ρi2 (512 bits)
ρi1∥ρi2
[∥ρi3]
RNG 3(quantum)
Cachelocal
ri+1
ρi1
(512bits)
HashHashRNG 1(on chip)
ρi3
(512bits)
HashHashri+1
HashHash
HashHash
Ri randOut
Hi
Mi
Si firma
Moacutedulode firmalowast
Mi
Si
Si
Mi∥Si
Para simplificar el diagrama omite los detalles de serializacioacuten (por ejemplo longitudes de campo y relleno) y algunos campos de metadatos
2030
4 Faros de aleatoriedad mdash Uso
Pauta 4
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2130
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]
I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado
publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
3 Faros de aleatoriedad mdash Operaciones
Pauta 3
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1730
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten
1 Sin liberacioacuten avanzada de pulso (δ ge 0)
2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)4 Sin liberacioacuten retrasada (δ pequentildeo) rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo1930
3 Faros de aleatoriedad mdash Operaciones
Un posible diagrama de generacioacuten de pulso
HSM
Leyenda ndash BD base de datos ndash ∥ concatenacioacutenndash liberado no antes de la marca de tiempondash HSM moacutedulo de seguridad de hardwarendash NTP protocolo de red de tiempondash RNG generador de nuacutemeros aleatoriosndash UTC Tiempo Universal Coordinado
DB
NTP
MDi algunos metadatos (uri version cipher period certId chainId)
Pasti = (Riminus1 RH[iminus1] RD[iminus1] RM [iminus1] RY [iminus1]) previous (i minus 1)and 1st of hour (H) day (D) month (M) and year (Y ) of previous
Mi = MDi∥i∥Ti∥ri∥Ei∥Pasti∥Ci∥zi
Servidorde tiempo(remoto)
Reloj(on chip)
Hashdel valorexterno
Ri
Ri
i iacutendice de pulso (entero incrementado en 1 por cada pulso liberado)
Ti marca de tiempo (UTC precisioacuten ms eg ldquo2018-07-23T192600000Zrdquo)
ri randLocal (512 bits)Ei external (srcId status value) (todos ceros cuando no estaacuten disponibles)
Ci preCom (512 bits)zi status (32 bits)
Pi (pulso)pulsify
Pi =Mi∥Ri∥Si
RNG 2
(randLocaldel pulsosiguiente)
ρi2 (512 bits)
ρi1∥ρi2
[∥ρi3]
RNG 3(quantum)
Cachelocal
ri+1
ρi1
(512bits)
HashHashRNG 1(on chip)
ρi3
(512bits)
HashHashri+1
HashHash
HashHash
Ri randOut
Hi
Mi
Si firma
Moacutedulode firmalowast
Mi
Si
Si
Mi∥Si
Para simplificar el diagrama omite los detalles de serializacioacuten (por ejemplo longitudes de campo y relleno) y algunos campos de metadatos
2030
4 Faros de aleatoriedad mdash Uso
Pauta 4
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2130
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]
I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado
publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
2 Faros de aleatoriedad mdash Formato
Los dos ldquorandsrdquo en un pulso
randLocal (valor aleatorio local)
I Hash de la aleatoriedad producida por ge 2 RNGs
I Pre-comprometida 1 minuto antes del liberacioacuten
I Uacutetil para combinar faros
randOut (valor de salida)
I Hash de todos los demaacutes campos
I Recieacuten generado al momento del liberacioacuten
I La aleatoriedad que deben utilizar las aplicaciones
1630
3 Faros de aleatoriedad mdash Operaciones
Pauta 3
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1730
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten
1 Sin liberacioacuten avanzada de pulso (δ ge 0)
2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)4 Sin liberacioacuten retrasada (δ pequentildeo) rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo1930
3 Faros de aleatoriedad mdash Operaciones
Un posible diagrama de generacioacuten de pulso
HSM
Leyenda ndash BD base de datos ndash ∥ concatenacioacutenndash liberado no antes de la marca de tiempondash HSM moacutedulo de seguridad de hardwarendash NTP protocolo de red de tiempondash RNG generador de nuacutemeros aleatoriosndash UTC Tiempo Universal Coordinado
DB
NTP
MDi algunos metadatos (uri version cipher period certId chainId)
Pasti = (Riminus1 RH[iminus1] RD[iminus1] RM [iminus1] RY [iminus1]) previous (i minus 1)and 1st of hour (H) day (D) month (M) and year (Y ) of previous
Mi = MDi∥i∥Ti∥ri∥Ei∥Pasti∥Ci∥zi
Servidorde tiempo(remoto)
Reloj(on chip)
Hashdel valorexterno
Ri
Ri
i iacutendice de pulso (entero incrementado en 1 por cada pulso liberado)
Ti marca de tiempo (UTC precisioacuten ms eg ldquo2018-07-23T192600000Zrdquo)
ri randLocal (512 bits)Ei external (srcId status value) (todos ceros cuando no estaacuten disponibles)
Ci preCom (512 bits)zi status (32 bits)
Pi (pulso)pulsify
Pi =Mi∥Ri∥Si
RNG 2
(randLocaldel pulsosiguiente)
ρi2 (512 bits)
ρi1∥ρi2
[∥ρi3]
RNG 3(quantum)
Cachelocal
ri+1
ρi1
(512bits)
HashHashRNG 1(on chip)
ρi3
(512bits)
HashHashri+1
HashHash
HashHash
Ri randOut
Hi
Mi
Si firma
Moacutedulode firmalowast
Mi
Si
Si
Mi∥Si
Para simplificar el diagrama omite los detalles de serializacioacuten (por ejemplo longitudes de campo y relleno) y algunos campos de metadatos
2030
4 Faros de aleatoriedad mdash Uso
Pauta 4
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2130
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]
I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado
publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
3 Faros de aleatoriedad mdash Operaciones
Pauta 3
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
1730
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten
1 Sin liberacioacuten avanzada de pulso (δ ge 0)
2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)4 Sin liberacioacuten retrasada (δ pequentildeo) rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo1930
3 Faros de aleatoriedad mdash Operaciones
Un posible diagrama de generacioacuten de pulso
HSM
Leyenda ndash BD base de datos ndash ∥ concatenacioacutenndash liberado no antes de la marca de tiempondash HSM moacutedulo de seguridad de hardwarendash NTP protocolo de red de tiempondash RNG generador de nuacutemeros aleatoriosndash UTC Tiempo Universal Coordinado
DB
NTP
MDi algunos metadatos (uri version cipher period certId chainId)
Pasti = (Riminus1 RH[iminus1] RD[iminus1] RM [iminus1] RY [iminus1]) previous (i minus 1)and 1st of hour (H) day (D) month (M) and year (Y ) of previous
Mi = MDi∥i∥Ti∥ri∥Ei∥Pasti∥Ci∥zi
Servidorde tiempo(remoto)
Reloj(on chip)
Hashdel valorexterno
Ri
Ri
i iacutendice de pulso (entero incrementado en 1 por cada pulso liberado)
Ti marca de tiempo (UTC precisioacuten ms eg ldquo2018-07-23T192600000Zrdquo)
ri randLocal (512 bits)Ei external (srcId status value) (todos ceros cuando no estaacuten disponibles)
Ci preCom (512 bits)zi status (32 bits)
Pi (pulso)pulsify
Pi =Mi∥Ri∥Si
RNG 2
(randLocaldel pulsosiguiente)
ρi2 (512 bits)
ρi1∥ρi2
[∥ρi3]
RNG 3(quantum)
Cachelocal
ri+1
ρi1
(512bits)
HashHashRNG 1(on chip)
ρi3
(512bits)
HashHashri+1
HashHash
HashHash
Ri randOut
Hi
Mi
Si firma
Moacutedulode firmalowast
Mi
Si
Si
Mi∥Si
Para simplificar el diagrama omite los detalles de serializacioacuten (por ejemplo longitudes de campo y relleno) y algunos campos de metadatos
2030
4 Faros de aleatoriedad mdash Uso
Pauta 4
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2130
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]
I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado
publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten
1 Sin liberacioacuten avanzada de pulso (δ ge 0)
2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)4 Sin liberacioacuten retrasada (δ pequentildeo) rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo1930
3 Faros de aleatoriedad mdash Operaciones
Un posible diagrama de generacioacuten de pulso
HSM
Leyenda ndash BD base de datos ndash ∥ concatenacioacutenndash liberado no antes de la marca de tiempondash HSM moacutedulo de seguridad de hardwarendash NTP protocolo de red de tiempondash RNG generador de nuacutemeros aleatoriosndash UTC Tiempo Universal Coordinado
DB
NTP
MDi algunos metadatos (uri version cipher period certId chainId)
Pasti = (Riminus1 RH[iminus1] RD[iminus1] RM [iminus1] RY [iminus1]) previous (i minus 1)and 1st of hour (H) day (D) month (M) and year (Y ) of previous
Mi = MDi∥i∥Ti∥ri∥Ei∥Pasti∥Ci∥zi
Servidorde tiempo(remoto)
Reloj(on chip)
Hashdel valorexterno
Ri
Ri
i iacutendice de pulso (entero incrementado en 1 por cada pulso liberado)
Ti marca de tiempo (UTC precisioacuten ms eg ldquo2018-07-23T192600000Zrdquo)
ri randLocal (512 bits)Ei external (srcId status value) (todos ceros cuando no estaacuten disponibles)
Ci preCom (512 bits)zi status (32 bits)
Pi (pulso)pulsify
Pi =Mi∥Ri∥Si
RNG 2
(randLocaldel pulsosiguiente)
ρi2 (512 bits)
ρi1∥ρi2
[∥ρi3]
RNG 3(quantum)
Cachelocal
ri+1
ρi1
(512bits)
HashHashRNG 1(on chip)
ρi3
(512bits)
HashHashri+1
HashHash
HashHash
Ri randOut
Hi
Mi
Si firma
Moacutedulode firmalowast
Mi
Si
Si
Mi∥Si
Para simplificar el diagrama omite los detalles de serializacioacuten (por ejemplo longitudes de campo y relleno) y algunos campos de metadatos
2030
4 Faros de aleatoriedad mdash Uso
Pauta 4
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2130
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]
I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado
publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)
3 Sin generacioacuten avanzada (∆ pequentildeo)
rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)4 Sin liberacioacuten retrasada (δ pequentildeo) rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo1930
3 Faros de aleatoriedad mdash Operaciones
Un posible diagrama de generacioacuten de pulso
HSM
Leyenda ndash BD base de datos ndash ∥ concatenacioacutenndash liberado no antes de la marca de tiempondash HSM moacutedulo de seguridad de hardwarendash NTP protocolo de red de tiempondash RNG generador de nuacutemeros aleatoriosndash UTC Tiempo Universal Coordinado
DB
NTP
MDi algunos metadatos (uri version cipher period certId chainId)
Pasti = (Riminus1 RH[iminus1] RD[iminus1] RM [iminus1] RY [iminus1]) previous (i minus 1)and 1st of hour (H) day (D) month (M) and year (Y ) of previous
Mi = MDi∥i∥Ti∥ri∥Ei∥Pasti∥Ci∥zi
Servidorde tiempo(remoto)
Reloj(on chip)
Hashdel valorexterno
Ri
Ri
i iacutendice de pulso (entero incrementado en 1 por cada pulso liberado)
Ti marca de tiempo (UTC precisioacuten ms eg ldquo2018-07-23T192600000Zrdquo)
ri randLocal (512 bits)Ei external (srcId status value) (todos ceros cuando no estaacuten disponibles)
Ci preCom (512 bits)zi status (32 bits)
Pi (pulso)pulsify
Pi =Mi∥Ri∥Si
RNG 2
(randLocaldel pulsosiguiente)
ρi2 (512 bits)
ρi1∥ρi2
[∥ρi3]
RNG 3(quantum)
Cachelocal
ri+1
ρi1
(512bits)
HashHashRNG 1(on chip)
ρi3
(512bits)
HashHashri+1
HashHash
HashHash
Ri randOut
Hi
Mi
Si firma
Moacutedulode firmalowast
Mi
Si
Si
Mi∥Si
Para simplificar el diagrama omite los detalles de serializacioacuten (por ejemplo longitudes de campo y relleno) y algunos campos de metadatos
2030
4 Faros de aleatoriedad mdash Uso
Pauta 4
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2130
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]
I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado
publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)
4 Sin liberacioacuten retrasada (δ pequentildeo)
rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)4 Sin liberacioacuten retrasada (δ pequentildeo) rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo1930
3 Faros de aleatoriedad mdash Operaciones
Un posible diagrama de generacioacuten de pulso
HSM
Leyenda ndash BD base de datos ndash ∥ concatenacioacutenndash liberado no antes de la marca de tiempondash HSM moacutedulo de seguridad de hardwarendash NTP protocolo de red de tiempondash RNG generador de nuacutemeros aleatoriosndash UTC Tiempo Universal Coordinado
DB
NTP
MDi algunos metadatos (uri version cipher period certId chainId)
Pasti = (Riminus1 RH[iminus1] RD[iminus1] RM [iminus1] RY [iminus1]) previous (i minus 1)and 1st of hour (H) day (D) month (M) and year (Y ) of previous
Mi = MDi∥i∥Ti∥ri∥Ei∥Pasti∥Ci∥zi
Servidorde tiempo(remoto)
Reloj(on chip)
Hashdel valorexterno
Ri
Ri
i iacutendice de pulso (entero incrementado en 1 por cada pulso liberado)
Ti marca de tiempo (UTC precisioacuten ms eg ldquo2018-07-23T192600000Zrdquo)
ri randLocal (512 bits)Ei external (srcId status value) (todos ceros cuando no estaacuten disponibles)
Ci preCom (512 bits)zi status (32 bits)
Pi (pulso)pulsify
Pi =Mi∥Ri∥Si
RNG 2
(randLocaldel pulsosiguiente)
ρi2 (512 bits)
ρi1∥ρi2
[∥ρi3]
RNG 3(quantum)
Cachelocal
ri+1
ρi1
(512bits)
HashHashRNG 1(on chip)
ρi3
(512bits)
HashHashri+1
HashHash
HashHash
Ri randOut
Hi
Mi
Si firma
Moacutedulode firmalowast
Mi
Si
Si
Mi∥Si
Para simplificar el diagrama omite los detalles de serializacioacuten (por ejemplo longitudes de campo y relleno) y algunos campos de metadatos
2030
4 Faros de aleatoriedad mdash Uso
Pauta 4
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2130
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]
I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado
publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
rArr Imprevisibilidad
(unpredictability)3 Sin generacioacuten avanzada (∆ pequentildeo) rArr Actualidad (freshness)4 Sin liberacioacuten retrasada (δ pequentildeo) rArr Puntualidad (timeliness)
5 Indizacioacuten inequiacutevoca
rArr Inequivocabilidad (unambiguity)
Ri randOutri randLocal
Tiempo
π periodo previsto de pulsacioacuten
Ti Ti+1
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
δ
Ti
δ
Ti+1liberar
Pi
Tiempo
π periodo previsto de pulsacioacuten
liberarPi+1
∆δ
Ti
∆δ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
∆δ
γ
Ti
∆δ
γ
Ti+1liberar
Pi
generarPi+1
generarPi
Tiempo
π periodo previsto de pulsacioacuten
obtenerPi
obtenerPi+1
liberarPi+1
ri+1
Ri
∆δ
γ
Ti
∆δ
γ
ri+1
Ri
Ti+1liberar
Pi
generarPi+1
generarPi
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo1930
3 Faros de aleatoriedad mdash Operaciones
Un posible diagrama de generacioacuten de pulso
HSM
Leyenda ndash BD base de datos ndash ∥ concatenacioacutenndash liberado no antes de la marca de tiempondash HSM moacutedulo de seguridad de hardwarendash NTP protocolo de red de tiempondash RNG generador de nuacutemeros aleatoriosndash UTC Tiempo Universal Coordinado
DB
NTP
MDi algunos metadatos (uri version cipher period certId chainId)
Pasti = (Riminus1 RH[iminus1] RD[iminus1] RM [iminus1] RY [iminus1]) previous (i minus 1)and 1st of hour (H) day (D) month (M) and year (Y ) of previous
Mi = MDi∥i∥Ti∥ri∥Ei∥Pasti∥Ci∥zi
Servidorde tiempo(remoto)
Reloj(on chip)
Hashdel valorexterno
Ri
Ri
i iacutendice de pulso (entero incrementado en 1 por cada pulso liberado)
Ti marca de tiempo (UTC precisioacuten ms eg ldquo2018-07-23T192600000Zrdquo)
ri randLocal (512 bits)Ei external (srcId status value) (todos ceros cuando no estaacuten disponibles)
Ci preCom (512 bits)zi status (32 bits)
Pi (pulso)pulsify
Pi =Mi∥Ri∥Si
RNG 2
(randLocaldel pulsosiguiente)
ρi2 (512 bits)
ρi1∥ρi2
[∥ρi3]
RNG 3(quantum)
Cachelocal
ri+1
ρi1
(512bits)
HashHashRNG 1(on chip)
ρi3
(512bits)
HashHashri+1
HashHash
HashHash
Ri randOut
Hi
Mi
Si firma
Moacutedulode firmalowast
Mi
Si
Si
Mi∥Si
Para simplificar el diagrama omite los detalles de serializacioacuten (por ejemplo longitudes de campo y relleno) y algunos campos de metadatos
2030
4 Faros de aleatoriedad mdash Uso
Pauta 4
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2130
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]
I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado
publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo1930
3 Faros de aleatoriedad mdash Operaciones
Un posible diagrama de generacioacuten de pulso
HSM
Leyenda ndash BD base de datos ndash ∥ concatenacioacutenndash liberado no antes de la marca de tiempondash HSM moacutedulo de seguridad de hardwarendash NTP protocolo de red de tiempondash RNG generador de nuacutemeros aleatoriosndash UTC Tiempo Universal Coordinado
DB
NTP
MDi algunos metadatos (uri version cipher period certId chainId)
Pasti = (Riminus1 RH[iminus1] RD[iminus1] RM [iminus1] RY [iminus1]) previous (i minus 1)and 1st of hour (H) day (D) month (M) and year (Y ) of previous
Mi = MDi∥i∥Ti∥ri∥Ei∥Pasti∥Ci∥zi
Servidorde tiempo(remoto)
Reloj(on chip)
Hashdel valorexterno
Ri
Ri
i iacutendice de pulso (entero incrementado en 1 por cada pulso liberado)
Ti marca de tiempo (UTC precisioacuten ms eg ldquo2018-07-23T192600000Zrdquo)
ri randLocal (512 bits)Ei external (srcId status value) (todos ceros cuando no estaacuten disponibles)
Ci preCom (512 bits)zi status (32 bits)
Pi (pulso)pulsify
Pi =Mi∥Ri∥Si
RNG 2
(randLocaldel pulsosiguiente)
ρi2 (512 bits)
ρi1∥ρi2
[∥ρi3]
RNG 3(quantum)
Cachelocal
ri+1
ρi1
(512bits)
HashHashRNG 1(on chip)
ρi3
(512bits)
HashHashri+1
HashHash
HashHash
Ri randOut
Hi
Mi
Si firma
Moacutedulode firmalowast
Mi
Si
Si
Mi∥Si
Para simplificar el diagrama omite los detalles de serializacioacuten (por ejemplo longitudes de campo y relleno) y algunos campos de metadatos
2030
4 Faros de aleatoriedad mdash Uso
Pauta 4
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2130
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]
I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado
publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
3 Faros de aleatoriedad mdash Operaciones
Tiempo para generacioacuten y liberacioacuten1 Sin liberacioacuten avanzada de pulso (δ ge 0)2 Generar con entropiacutea (ge 2 RNGs)
(Los requisitos reales especifican intervalos permitidos para δ y ∆)
1830
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo1930
3 Faros de aleatoriedad mdash Operaciones
Un posible diagrama de generacioacuten de pulso
HSM
Leyenda ndash BD base de datos ndash ∥ concatenacioacutenndash liberado no antes de la marca de tiempondash HSM moacutedulo de seguridad de hardwarendash NTP protocolo de red de tiempondash RNG generador de nuacutemeros aleatoriosndash UTC Tiempo Universal Coordinado
DB
NTP
MDi algunos metadatos (uri version cipher period certId chainId)
Pasti = (Riminus1 RH[iminus1] RD[iminus1] RM [iminus1] RY [iminus1]) previous (i minus 1)and 1st of hour (H) day (D) month (M) and year (Y ) of previous
Mi = MDi∥i∥Ti∥ri∥Ei∥Pasti∥Ci∥zi
Servidorde tiempo(remoto)
Reloj(on chip)
Hashdel valorexterno
Ri
Ri
i iacutendice de pulso (entero incrementado en 1 por cada pulso liberado)
Ti marca de tiempo (UTC precisioacuten ms eg ldquo2018-07-23T192600000Zrdquo)
ri randLocal (512 bits)Ei external (srcId status value) (todos ceros cuando no estaacuten disponibles)
Ci preCom (512 bits)zi status (32 bits)
Pi (pulso)pulsify
Pi =Mi∥Ri∥Si
RNG 2
(randLocaldel pulsosiguiente)
ρi2 (512 bits)
ρi1∥ρi2
[∥ρi3]
RNG 3(quantum)
Cachelocal
ri+1
ρi1
(512bits)
HashHashRNG 1(on chip)
ρi3
(512bits)
HashHashri+1
HashHash
HashHash
Ri randOut
Hi
Mi
Si firma
Moacutedulode firmalowast
Mi
Si
Si
Mi∥Si
Para simplificar el diagrama omite los detalles de serializacioacuten (por ejemplo longitudes de campo y relleno) y algunos campos de metadatos
2030
4 Faros de aleatoriedad mdash Uso
Pauta 4
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2130
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]
I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado
publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo1930
3 Faros de aleatoriedad mdash Operaciones
Un posible diagrama de generacioacuten de pulso
HSM
Leyenda ndash BD base de datos ndash ∥ concatenacioacutenndash liberado no antes de la marca de tiempondash HSM moacutedulo de seguridad de hardwarendash NTP protocolo de red de tiempondash RNG generador de nuacutemeros aleatoriosndash UTC Tiempo Universal Coordinado
DB
NTP
MDi algunos metadatos (uri version cipher period certId chainId)
Pasti = (Riminus1 RH[iminus1] RD[iminus1] RM [iminus1] RY [iminus1]) previous (i minus 1)and 1st of hour (H) day (D) month (M) and year (Y ) of previous
Mi = MDi∥i∥Ti∥ri∥Ei∥Pasti∥Ci∥zi
Servidorde tiempo(remoto)
Reloj(on chip)
Hashdel valorexterno
Ri
Ri
i iacutendice de pulso (entero incrementado en 1 por cada pulso liberado)
Ti marca de tiempo (UTC precisioacuten ms eg ldquo2018-07-23T192600000Zrdquo)
ri randLocal (512 bits)Ei external (srcId status value) (todos ceros cuando no estaacuten disponibles)
Ci preCom (512 bits)zi status (32 bits)
Pi (pulso)pulsify
Pi =Mi∥Ri∥Si
RNG 2
(randLocaldel pulsosiguiente)
ρi2 (512 bits)
ρi1∥ρi2
[∥ρi3]
RNG 3(quantum)
Cachelocal
ri+1
ρi1
(512bits)
HashHashRNG 1(on chip)
ρi3
(512bits)
HashHashri+1
HashHash
HashHash
Ri randOut
Hi
Mi
Si firma
Moacutedulode firmalowast
Mi
Si
Si
Mi∥Si
Para simplificar el diagrama omite los detalles de serializacioacuten (por ejemplo longitudes de campo y relleno) y algunos campos de metadatos
2030
4 Faros de aleatoriedad mdash Uso
Pauta 4
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2130
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]
I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado
publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo1930
3 Faros de aleatoriedad mdash Operaciones
Un posible diagrama de generacioacuten de pulso
HSM
Leyenda ndash BD base de datos ndash ∥ concatenacioacutenndash liberado no antes de la marca de tiempondash HSM moacutedulo de seguridad de hardwarendash NTP protocolo de red de tiempondash RNG generador de nuacutemeros aleatoriosndash UTC Tiempo Universal Coordinado
DB
NTP
MDi algunos metadatos (uri version cipher period certId chainId)
Pasti = (Riminus1 RH[iminus1] RD[iminus1] RM [iminus1] RY [iminus1]) previous (i minus 1)and 1st of hour (H) day (D) month (M) and year (Y ) of previous
Mi = MDi∥i∥Ti∥ri∥Ei∥Pasti∥Ci∥zi
Servidorde tiempo(remoto)
Reloj(on chip)
Hashdel valorexterno
Ri
Ri
i iacutendice de pulso (entero incrementado en 1 por cada pulso liberado)
Ti marca de tiempo (UTC precisioacuten ms eg ldquo2018-07-23T192600000Zrdquo)
ri randLocal (512 bits)Ei external (srcId status value) (todos ceros cuando no estaacuten disponibles)
Ci preCom (512 bits)zi status (32 bits)
Pi (pulso)pulsify
Pi =Mi∥Ri∥Si
RNG 2
(randLocaldel pulsosiguiente)
ρi2 (512 bits)
ρi1∥ρi2
[∥ρi3]
RNG 3(quantum)
Cachelocal
ri+1
ρi1
(512bits)
HashHashRNG 1(on chip)
ρi3
(512bits)
HashHashri+1
HashHash
HashHash
Ri randOut
Hi
Mi
Si firma
Moacutedulode firmalowast
Mi
Si
Si
Mi∥Si
Para simplificar el diagrama omite los detalles de serializacioacuten (por ejemplo longitudes de campo y relleno) y algunos campos de metadatos
2030
4 Faros de aleatoriedad mdash Uso
Pauta 4
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2130
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]
I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado
publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo1930
3 Faros de aleatoriedad mdash Operaciones
Un posible diagrama de generacioacuten de pulso
HSM
Leyenda ndash BD base de datos ndash ∥ concatenacioacutenndash liberado no antes de la marca de tiempondash HSM moacutedulo de seguridad de hardwarendash NTP protocolo de red de tiempondash RNG generador de nuacutemeros aleatoriosndash UTC Tiempo Universal Coordinado
DB
NTP
MDi algunos metadatos (uri version cipher period certId chainId)
Pasti = (Riminus1 RH[iminus1] RD[iminus1] RM [iminus1] RY [iminus1]) previous (i minus 1)and 1st of hour (H) day (D) month (M) and year (Y ) of previous
Mi = MDi∥i∥Ti∥ri∥Ei∥Pasti∥Ci∥zi
Servidorde tiempo(remoto)
Reloj(on chip)
Hashdel valorexterno
Ri
Ri
i iacutendice de pulso (entero incrementado en 1 por cada pulso liberado)
Ti marca de tiempo (UTC precisioacuten ms eg ldquo2018-07-23T192600000Zrdquo)
ri randLocal (512 bits)Ei external (srcId status value) (todos ceros cuando no estaacuten disponibles)
Ci preCom (512 bits)zi status (32 bits)
Pi (pulso)pulsify
Pi =Mi∥Ri∥Si
RNG 2
(randLocaldel pulsosiguiente)
ρi2 (512 bits)
ρi1∥ρi2
[∥ρi3]
RNG 3(quantum)
Cachelocal
ri+1
ρi1
(512bits)
HashHashRNG 1(on chip)
ρi3
(512bits)
HashHashri+1
HashHash
HashHash
Ri randOut
Hi
Mi
Si firma
Moacutedulode firmalowast
Mi
Si
Si
Mi∥Si
Para simplificar el diagrama omite los detalles de serializacioacuten (por ejemplo longitudes de campo y relleno) y algunos campos de metadatos
2030
4 Faros de aleatoriedad mdash Uso
Pauta 4
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2130
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]
I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado
publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo
1930
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo1930
3 Faros de aleatoriedad mdash Operaciones
Un posible diagrama de generacioacuten de pulso
HSM
Leyenda ndash BD base de datos ndash ∥ concatenacioacutenndash liberado no antes de la marca de tiempondash HSM moacutedulo de seguridad de hardwarendash NTP protocolo de red de tiempondash RNG generador de nuacutemeros aleatoriosndash UTC Tiempo Universal Coordinado
DB
NTP
MDi algunos metadatos (uri version cipher period certId chainId)
Pasti = (Riminus1 RH[iminus1] RD[iminus1] RM [iminus1] RY [iminus1]) previous (i minus 1)and 1st of hour (H) day (D) month (M) and year (Y ) of previous
Mi = MDi∥i∥Ti∥ri∥Ei∥Pasti∥Ci∥zi
Servidorde tiempo(remoto)
Reloj(on chip)
Hashdel valorexterno
Ri
Ri
i iacutendice de pulso (entero incrementado en 1 por cada pulso liberado)
Ti marca de tiempo (UTC precisioacuten ms eg ldquo2018-07-23T192600000Zrdquo)
ri randLocal (512 bits)Ei external (srcId status value) (todos ceros cuando no estaacuten disponibles)
Ci preCom (512 bits)zi status (32 bits)
Pi (pulso)pulsify
Pi =Mi∥Ri∥Si
RNG 2
(randLocaldel pulsosiguiente)
ρi2 (512 bits)
ρi1∥ρi2
[∥ρi3]
RNG 3(quantum)
Cachelocal
ri+1
ρi1
(512bits)
HashHashRNG 1(on chip)
ρi3
(512bits)
HashHashri+1
HashHash
HashHash
Ri randOut
Hi
Mi
Si firma
Moacutedulode firmalowast
Mi
Si
Si
Mi∥Si
Para simplificar el diagrama omite los detalles de serializacioacuten (por ejemplo longitudes de campo y relleno) y algunos campos de metadatos
2030
4 Faros de aleatoriedad mdash Uso
Pauta 4
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2130
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]
I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado
publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
3 Faros de aleatoriedad mdash Operaciones
Obtencioacuten de pulsos
Faro App liberar el pulso significa enviarlo a la base de datos
FaroApp
Pulso BD(interfazweb)
Web(usuarios)
Cf consultas
respuestas
Legend App aplicacioacuten BD base de datos Cf cortafuegos
Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos
httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para el pulso maacutes reciente de la cadena1 del faro de aleatoriedad del NIST (versioacuten 2)
Existen otras consultas por pulseId skip lists certificados valores externo1930
3 Faros de aleatoriedad mdash Operaciones
Un posible diagrama de generacioacuten de pulso
HSM
Leyenda ndash BD base de datos ndash ∥ concatenacioacutenndash liberado no antes de la marca de tiempondash HSM moacutedulo de seguridad de hardwarendash NTP protocolo de red de tiempondash RNG generador de nuacutemeros aleatoriosndash UTC Tiempo Universal Coordinado
DB
NTP
MDi algunos metadatos (uri version cipher period certId chainId)
Pasti = (Riminus1 RH[iminus1] RD[iminus1] RM [iminus1] RY [iminus1]) previous (i minus 1)and 1st of hour (H) day (D) month (M) and year (Y ) of previous
Mi = MDi∥i∥Ti∥ri∥Ei∥Pasti∥Ci∥zi
Servidorde tiempo(remoto)
Reloj(on chip)
Hashdel valorexterno
Ri
Ri
i iacutendice de pulso (entero incrementado en 1 por cada pulso liberado)
Ti marca de tiempo (UTC precisioacuten ms eg ldquo2018-07-23T192600000Zrdquo)
ri randLocal (512 bits)Ei external (srcId status value) (todos ceros cuando no estaacuten disponibles)
Ci preCom (512 bits)zi status (32 bits)
Pi (pulso)pulsify
Pi =Mi∥Ri∥Si
RNG 2
(randLocaldel pulsosiguiente)
ρi2 (512 bits)
ρi1∥ρi2
[∥ρi3]
RNG 3(quantum)
Cachelocal
ri+1
ρi1
(512bits)
HashHashRNG 1(on chip)
ρi3
(512bits)
HashHashri+1
HashHash
HashHash
Ri randOut
Hi
Mi
Si firma
Moacutedulode firmalowast
Mi
Si
Si
Mi∥Si
Para simplificar el diagrama omite los detalles de serializacioacuten (por ejemplo longitudes de campo y relleno) y algunos campos de metadatos
2030
4 Faros de aleatoriedad mdash Uso
Pauta 4
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2130
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]
I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado
publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
3 Faros de aleatoriedad mdash Operaciones
Un posible diagrama de generacioacuten de pulso
HSM
Leyenda ndash BD base de datos ndash ∥ concatenacioacutenndash liberado no antes de la marca de tiempondash HSM moacutedulo de seguridad de hardwarendash NTP protocolo de red de tiempondash RNG generador de nuacutemeros aleatoriosndash UTC Tiempo Universal Coordinado
DB
NTP
MDi algunos metadatos (uri version cipher period certId chainId)
Pasti = (Riminus1 RH[iminus1] RD[iminus1] RM [iminus1] RY [iminus1]) previous (i minus 1)and 1st of hour (H) day (D) month (M) and year (Y ) of previous
Mi = MDi∥i∥Ti∥ri∥Ei∥Pasti∥Ci∥zi
Servidorde tiempo(remoto)
Reloj(on chip)
Hashdel valorexterno
Ri
Ri
i iacutendice de pulso (entero incrementado en 1 por cada pulso liberado)
Ti marca de tiempo (UTC precisioacuten ms eg ldquo2018-07-23T192600000Zrdquo)
ri randLocal (512 bits)Ei external (srcId status value) (todos ceros cuando no estaacuten disponibles)
Ci preCom (512 bits)zi status (32 bits)
Pi (pulso)pulsify
Pi =Mi∥Ri∥Si
RNG 2
(randLocaldel pulsosiguiente)
ρi2 (512 bits)
ρi1∥ρi2
[∥ρi3]
RNG 3(quantum)
Cachelocal
ri+1
ρi1
(512bits)
HashHashRNG 1(on chip)
ρi3
(512bits)
HashHashri+1
HashHash
HashHash
Ri randOut
Hi
Mi
Si firma
Moacutedulode firmalowast
Mi
Si
Si
Mi∥Si
Para simplificar el diagrama omite los detalles de serializacioacuten (por ejemplo longitudes de campo y relleno) y algunos campos de metadatos
2030
4 Faros de aleatoriedad mdash Uso
Pauta 4
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2130
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]
I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado
publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
4 Faros de aleatoriedad mdash Uso
Pauta 4
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2130
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]
I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado
publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]
I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado
publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]
I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado
publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado
publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado
publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado
publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla
Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten
Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
4 Faros de aleatoriedad mdash Uso
Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)
Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384
Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria
1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t
2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)
3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias
2230
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
4 Faros de aleatoriedad mdash Uso
iquestNecesitas confiar en el Beacon
iquestQueacute sucede si un Beacon malicioso ataca a su aplicacioacuten (porejemplo la Contraloria) para afectar la imprevisibilidad
3 mitigaciones
I Alimenta con entropiacutea externa (campo de valor externo)ndash El faro no puede calcular la aleatoriedad del futuro muy lejo
I Combina aleatoriedad de diferentes farosndash Ninguacuten faro puede afectar la aleatoriedad que se utilizaraacute
I Combina un valor secreto local (y comprometido)ndash El faro no puede predecir queacute semilla obtendraacute la aplicacioacuten
2330
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
4 Faros de aleatoriedad mdash Uso
Algunos faros en desarrollo
Tres paiacuteses estaacuten desarrollando Beacons para que coincida con la referencia actual
Chile
Brasil
EstadosUnidos
I (Estados Unidos) NIST Randomness Beaconhttpsbeaconnistgovhome
I (Chile) Random UChilehttpsbeaconclcertcl
I (Brasil) Brazilian Randomness Beaconhttpsbeaconinmetrogovbr
Nos gustariacutea que hubiera algunos maacutes
2430
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
4 Faros de aleatoriedad mdash Uso
Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo
Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales
Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los elementos que se muestrearaacutenI Permitir la verificabilidad puacuteblica del muestreo correcto
Caracteriacutesticas avanzadas Pruebas de nula divulgacioacuten (ZKP) permiten la auditabilidad con privacidad
2530
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
5 Observaciones finales
Pauta 5
1 Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
2 Faros de aleatoriedad mdash Formato
3 Faros de aleatoriedad mdash Operaciones
4 Faros de aleatoriedad mdash Uso
5 Observaciones finales
2630
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
5 Observaciones finales
Observaciones finales
I Faros de aleatoriedad tienen potencial como bienutilidad puacuteblicaeg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
5 Observaciones finales
Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica
eg para mejorar la auditabilidad puacuteblica de procesos aleatorios
I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia
I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios
I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados
2730
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
5 Observaciones finales
La prueba del tiempoDentro de 70 antildeos iquestse utilizaraacuten los faros (todaviacutea) como uncomponente baacutesico de la auditabilidad puacuteblica
Foto en 1948 lowast
Photo in 2018 httpswwwnistgovsitesdefaultfilesdocuments20180615nist_gaithersburg_master_plan_may_7_2018pdf
El muro de prueba de piedra NIST (The NIST Stone Test Wall) ldquoConstruido [en1948] para estudiar el rendimiento de la piedra sometida a la intemperie Contiene2352 muestras individuales de piedra de las cuales 2032 son piedras nacionales de 47estados y 320 son piedras de 16 paiacuteses extranjerosrdquo
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
5 Observaciones finales
Gracias
I NISTIR 8213 httpsdoiorg106028NISTIR8213-draftI Beacon project httpscsrcnistgovProjectsInteroperable-Randomness-Beacons
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Promoviendo la Aleatoriedad PuacuteblicaComo un Bien Puacuteblico
(Promoting public randomness as a public good)
Presentacioacuten en Open Seminars IMFD4 de Octubre 2019 Santiago Chile
Disclaimer Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the US Department of Commerce Theidentification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST nor is it intended to imply thatthe material or equipment identified are necessarily the best available for the purpose
Disclaimer Some external-source images and cliparts were includedadapted in this presentation with the expectation of such use constituting licensed andor fair use
2930
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad
Pauta 1
Algunos datos de NIST
Laboratorios divisiones grupos
El Grupo de Criptografiacutea en NIST
Aleatoriedad Puacuteblica Como Bien Puacuteblico
Un Faro de Aleatoriedad
Una aplicacioacuten en Chile
Aspectos de seguridad
Faros de aleatoriedad mdash Formato
Pauta 2
Publicacioacuten NISTIR 8213
Arquitectura del servicio Beacon
Algunos conceptos uacutetiles para esta charla
Un pulso (ejemplo simplificado)
Los dos ``rands en un pulso
Faros de aleatoriedad mdash Operaciones
Pauta 3
Tiempo para generacioacuten y liberacioacuten
Obtencioacuten de pulsos
Un posible diagrama de generacioacuten de pulso
Faros de aleatoriedad mdash Uso
Pauta 4
Usando la aleatoriedad de un faro
iquestNecesitas confiar en el Beacon
Algunos faros en desarrollo
Algunas aplicaciones concebibles
Observaciones finales
Pauta 5
Observaciones finales
La prueba del tiempo
Gracias
Iacutendice
Lista de transparencias
6 Iacutendice
Lista de transparencias
1 Promoviendo la Aleatoriedad Puacuteblica 2 Pauta3 Pauta 14 Algunos datos de NIST5 Laboratorios divisiones grupos6 El Grupo de Criptografiacutea en NIST7 Aleatoriedad Puacuteblica Como Bien Puacuteblico8 Un Faro de Aleatoriedad9 Una aplicacioacuten en Chile10 Aspectos de seguridad11 Pauta 212 Publicacioacuten NISTIR 821313 Arquitectura del servicio Beacon14 Algunos conceptos uacutetiles para esta charla15 Un pulso (ejemplo simplificado)
16 Los dos ldquorandsrdquo en un pulso17 Pauta 318 Tiempo para generacioacuten y liberacioacuten19 Obtencioacuten de pulsos20 Un posible diagrama de generacioacuten de pulso21 Pauta 422 Usando la aleatoriedad de un faro23 iquestNecesitas confiar en el Beacon24 Algunos faros en desarrollo25 Algunas aplicaciones concebibles26 Pauta 527 Observaciones finales28 La prueba del tiempo29 Gracias30 Lista de transparencias
3030
Promoviendo la Aleatoriedad Puacuteblica
Pauta
Introduccioacuten mdash NIST y el proyecto Faros Interoperables de Aleatoriedad