Promoviendo la Aleatoriedad Pública Como un Bien Público · Promoviendo la Aleatoriedad Pública...

86
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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

Transcript of Promoviendo la Aleatoriedad Pública Como un Bien Público · Promoviendo la Aleatoriedad Pública...

Page 1: 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

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

1430

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOut

I Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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)

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

Obtencioacuten de pulsos

Faro App liberar el pulso significa enviarlo a la base de datos

FaroApp

Pulso BD(interfazweb)

Web(usuarios)

Cf consultas

respuestas

Legend App aplicacioacuten BD base de datos Cf cortafuegos

Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos

httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 2: 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
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

1430

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOut

I Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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)

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

Obtencioacuten de pulsos

Faro App liberar el pulso significa enviarlo a la base de datos

FaroApp

Pulso BD(interfazweb)

Web(usuarios)

Cf consultas

respuestas

Legend App aplicacioacuten BD base de datos Cf cortafuegos

Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos

httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 3: 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

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

1430

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOut

I Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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)

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

Obtencioacuten de pulsos

Faro App liberar el pulso significa enviarlo a la base de datos

FaroApp

Pulso BD(interfazweb)

Web(usuarios)

Cf consultas

respuestas

Legend App aplicacioacuten BD base de datos Cf cortafuegos

Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos

httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 4: 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

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

1430

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOut

I Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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)

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

Obtencioacuten de pulsos

Faro App liberar el pulso significa enviarlo a la base de datos

FaroApp

Pulso BD(interfazweb)

Web(usuarios)

Cf consultas

respuestas

Legend App aplicacioacuten BD base de datos Cf cortafuegos

Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos

httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 5: 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

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

1430

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOut

I Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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)

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

Obtencioacuten de pulsos

Faro App liberar el pulso significa enviarlo a la base de datos

FaroApp

Pulso BD(interfazweb)

Web(usuarios)

Cf consultas

respuestas

Legend App aplicacioacuten BD base de datos Cf cortafuegos

Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos

httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 6: 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

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

1430

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOut

I Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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)

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

Obtencioacuten de pulsos

Faro App liberar el pulso significa enviarlo a la base de datos

FaroApp

Pulso BD(interfazweb)

Web(usuarios)

Cf consultas

respuestas

Legend App aplicacioacuten BD base de datos Cf cortafuegos

Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos

httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 7: 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

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

1430

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOut

I Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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)

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

Obtencioacuten de pulsos

Faro App liberar el pulso significa enviarlo a la base de datos

FaroApp

Pulso BD(interfazweb)

Web(usuarios)

Cf consultas

respuestas

Legend App aplicacioacuten BD base de datos Cf cortafuegos

Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos

httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 8: 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

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

1430

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOut

I Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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)

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

Obtencioacuten de pulsos

Faro App liberar el pulso significa enviarlo a la base de datos

FaroApp

Pulso BD(interfazweb)

Web(usuarios)

Cf consultas

respuestas

Legend App aplicacioacuten BD base de datos Cf cortafuegos

Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos

httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 9: 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

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

1430

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOut

I Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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)

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

Obtencioacuten de pulsos

Faro App liberar el pulso significa enviarlo a la base de datos

FaroApp

Pulso BD(interfazweb)

Web(usuarios)

Cf consultas

respuestas

Legend App aplicacioacuten BD base de datos Cf cortafuegos

Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos

httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 10: 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

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

1430

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOut

I Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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)

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

Obtencioacuten de pulsos

Faro App liberar el pulso significa enviarlo a la base de datos

FaroApp

Pulso BD(interfazweb)

Web(usuarios)

Cf consultas

respuestas

Legend App aplicacioacuten BD base de datos Cf cortafuegos

Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos

httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 11: 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

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

1430

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOut

I Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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)

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

Obtencioacuten de pulsos

Faro App liberar el pulso significa enviarlo a la base de datos

FaroApp

Pulso BD(interfazweb)

Web(usuarios)

Cf consultas

respuestas

Legend App aplicacioacuten BD base de datos Cf cortafuegos

Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos

httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 12: 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

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

1430

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOut

I Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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)

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

Obtencioacuten de pulsos

Faro App liberar el pulso significa enviarlo a la base de datos

FaroApp

Pulso BD(interfazweb)

Web(usuarios)

Cf consultas

respuestas

Legend App aplicacioacuten BD base de datos Cf cortafuegos

Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos

httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 13: 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

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

1430

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOut

I Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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)

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

Obtencioacuten de pulsos

Faro App liberar el pulso significa enviarlo a la base de datos

FaroApp

Pulso BD(interfazweb)

Web(usuarios)

Cf consultas

respuestas

Legend App aplicacioacuten BD base de datos Cf cortafuegos

Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos

httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 14: 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

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

1430

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOut

I Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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)

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

Obtencioacuten de pulsos

Faro App liberar el pulso significa enviarlo a la base de datos

FaroApp

Pulso BD(interfazweb)

Web(usuarios)

Cf consultas

respuestas

Legend App aplicacioacuten BD base de datos Cf cortafuegos

Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos

httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 15: 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

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

1430

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOut

I Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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)

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

Obtencioacuten de pulsos

Faro App liberar el pulso significa enviarlo a la base de datos

FaroApp

Pulso BD(interfazweb)

Web(usuarios)

Cf consultas

respuestas

Legend App aplicacioacuten BD base de datos Cf cortafuegos

Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos

httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 16: 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

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

1430

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOut

I Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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)

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

Obtencioacuten de pulsos

Faro App liberar el pulso significa enviarlo a la base de datos

FaroApp

Pulso BD(interfazweb)

Web(usuarios)

Cf consultas

respuestas

Legend App aplicacioacuten BD base de datos Cf cortafuegos

Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos

httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 17: 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

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

1430

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOut

I Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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)

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

Obtencioacuten de pulsos

Faro App liberar el pulso significa enviarlo a la base de datos

FaroApp

Pulso BD(interfazweb)

Web(usuarios)

Cf consultas

respuestas

Legend App aplicacioacuten BD base de datos Cf cortafuegos

Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos

httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 18: 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

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

1430

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOut

I Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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)

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

Obtencioacuten de pulsos

Faro App liberar el pulso significa enviarlo a la base de datos

FaroApp

Pulso BD(interfazweb)

Web(usuarios)

Cf consultas

respuestas

Legend App aplicacioacuten BD base de datos Cf cortafuegos

Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos

httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 19: 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

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

1430

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOut

I Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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)

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

Obtencioacuten de pulsos

Faro App liberar el pulso significa enviarlo a la base de datos

FaroApp

Pulso BD(interfazweb)

Web(usuarios)

Cf consultas

respuestas

Legend App aplicacioacuten BD base de datos Cf cortafuegos

Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos

httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 20: 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

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

1430

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOut

I Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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)

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

Obtencioacuten de pulsos

Faro App liberar el pulso significa enviarlo a la base de datos

FaroApp

Pulso BD(interfazweb)

Web(usuarios)

Cf consultas

respuestas

Legend App aplicacioacuten BD base de datos Cf cortafuegos

Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos

httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 21: 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

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

1430

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOut

I Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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)

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

Obtencioacuten de pulsos

Faro App liberar el pulso significa enviarlo a la base de datos

FaroApp

Pulso BD(interfazweb)

Web(usuarios)

Cf consultas

respuestas

Legend App aplicacioacuten BD base de datos Cf cortafuegos

Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos

httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 22: 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

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

1430

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOut

I Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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)

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

Obtencioacuten de pulsos

Faro App liberar el pulso significa enviarlo a la base de datos

FaroApp

Pulso BD(interfazweb)

Web(usuarios)

Cf consultas

respuestas

Legend App aplicacioacuten BD base de datos Cf cortafuegos

Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos

httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 23: 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

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

1430

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOut

I Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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)

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

Obtencioacuten de pulsos

Faro App liberar el pulso significa enviarlo a la base de datos

FaroApp

Pulso BD(interfazweb)

Web(usuarios)

Cf consultas

respuestas

Legend App aplicacioacuten BD base de datos Cf cortafuegos

Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos

httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 24: 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

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

1430

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOut

I Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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)

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

Obtencioacuten de pulsos

Faro App liberar el pulso significa enviarlo a la base de datos

FaroApp

Pulso BD(interfazweb)

Web(usuarios)

Cf consultas

respuestas

Legend App aplicacioacuten BD base de datos Cf cortafuegos

Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos

httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 25: 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

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

1430

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOut

I Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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)

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

Obtencioacuten de pulsos

Faro App liberar el pulso significa enviarlo a la base de datos

FaroApp

Pulso BD(interfazweb)

Web(usuarios)

Cf consultas

respuestas

Legend App aplicacioacuten BD base de datos Cf cortafuegos

Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos

httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 26: 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

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

1430

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOut

I Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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)

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

Obtencioacuten de pulsos

Faro App liberar el pulso significa enviarlo a la base de datos

FaroApp

Pulso BD(interfazweb)

Web(usuarios)

Cf consultas

respuestas

Legend App aplicacioacuten BD base de datos Cf cortafuegos

Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos

httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 27: 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

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

1430

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOut

I Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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)

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

Obtencioacuten de pulsos

Faro App liberar el pulso significa enviarlo a la base de datos

FaroApp

Pulso BD(interfazweb)

Web(usuarios)

Cf consultas

respuestas

Legend App aplicacioacuten BD base de datos Cf cortafuegos

Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos

httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 28: 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

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

1430

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOut

I Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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)

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

Obtencioacuten de pulsos

Faro App liberar el pulso significa enviarlo a la base de datos

FaroApp

Pulso BD(interfazweb)

Web(usuarios)

Cf consultas

respuestas

Legend App aplicacioacuten BD base de datos Cf cortafuegos

Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos

httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 29: 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

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

1430

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOut

I Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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)

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

Obtencioacuten de pulsos

Faro App liberar el pulso significa enviarlo a la base de datos

FaroApp

Pulso BD(interfazweb)

Web(usuarios)

Cf consultas

respuestas

Legend App aplicacioacuten BD base de datos Cf cortafuegos

Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos

httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 30: 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

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

1430

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOut

I Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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)

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

Obtencioacuten de pulsos

Faro App liberar el pulso significa enviarlo a la base de datos

FaroApp

Pulso BD(interfazweb)

Web(usuarios)

Cf consultas

respuestas

Legend App aplicacioacuten BD base de datos Cf cortafuegos

Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos

httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 31: 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

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

1430

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOut

I Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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)

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

Obtencioacuten de pulsos

Faro App liberar el pulso significa enviarlo a la base de datos

FaroApp

Pulso BD(interfazweb)

Web(usuarios)

Cf consultas

respuestas

Legend App aplicacioacuten BD base de datos Cf cortafuegos

Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos

httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 32: 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

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

1430

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOut

I Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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)

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

Obtencioacuten de pulsos

Faro App liberar el pulso significa enviarlo a la base de datos

FaroApp

Pulso BD(interfazweb)

Web(usuarios)

Cf consultas

respuestas

Legend App aplicacioacuten BD base de datos Cf cortafuegos

Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos

httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 33: 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

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

1430

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOut

I Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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)

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

Obtencioacuten de pulsos

Faro App liberar el pulso significa enviarlo a la base de datos

FaroApp

Pulso BD(interfazweb)

Web(usuarios)

Cf consultas

respuestas

Legend App aplicacioacuten BD base de datos Cf cortafuegos

Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos

httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 34: 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

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

1430

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOut

I Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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)

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

Obtencioacuten de pulsos

Faro App liberar el pulso significa enviarlo a la base de datos

FaroApp

Pulso BD(interfazweb)

Web(usuarios)

Cf consultas

respuestas

Legend App aplicacioacuten BD base de datos Cf cortafuegos

Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos

httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 35: 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

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

1430

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOut

I Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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)

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

Obtencioacuten de pulsos

Faro App liberar el pulso significa enviarlo a la base de datos

FaroApp

Pulso BD(interfazweb)

Web(usuarios)

Cf consultas

respuestas

Legend App aplicacioacuten BD base de datos Cf cortafuegos

Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos

httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 36: 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

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOut

I Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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)

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

Obtencioacuten de pulsos

Faro App liberar el pulso significa enviarlo a la base de datos

FaroApp

Pulso BD(interfazweb)

Web(usuarios)

Cf consultas

respuestas

Legend App aplicacioacuten BD base de datos Cf cortafuegos

Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos

httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 37: 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

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOut

I Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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)

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

Obtencioacuten de pulsos

Faro App liberar el pulso significa enviarlo a la base de datos

FaroApp

Pulso BD(interfazweb)

Web(usuarios)

Cf consultas

respuestas

Legend App aplicacioacuten BD base de datos Cf cortafuegos

Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos

httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 38: 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

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOut

I Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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)

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

Obtencioacuten de pulsos

Faro App liberar el pulso significa enviarlo a la base de datos

FaroApp

Pulso BD(interfazweb)

Web(usuarios)

Cf consultas

respuestas

Legend App aplicacioacuten BD base de datos Cf cortafuegos

Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos

httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 39: 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

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexado

I Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOutI Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOut

I Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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)

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

Obtencioacuten de pulsos

Faro App liberar el pulso significa enviarlo a la base de datos

FaroApp

Pulso BD(interfazweb)

Web(usuarios)

Cf consultas

respuestas

Legend App aplicacioacuten BD base de datos Cf cortafuegos

Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos

httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 40: 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

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

I Cada pulso estaacute indexadoI Dos valores aleatorios principales (ldquorandsrdquo) randLocal y randOut

I Otras caracteriacutesticas firmado

randLocal comprometido randOut encadenado

1530

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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)

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

Obtencioacuten de pulsos

Faro App liberar el pulso significa enviarlo a la base de datos

FaroApp

Pulso BD(interfazweb)

Web(usuarios)

Cf consultas

respuestas

Legend App aplicacioacuten BD base de datos Cf cortafuegos

Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos

httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 41: 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

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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)

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

Obtencioacuten de pulsos

Faro App liberar el pulso significa enviarlo a la base de datos

FaroApp

Pulso BD(interfazweb)

Web(usuarios)

Cf consultas

respuestas

Legend App aplicacioacuten BD base de datos Cf cortafuegos

Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos

httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 42: 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

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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)

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

Obtencioacuten de pulsos

Faro App liberar el pulso significa enviarlo a la base de datos

FaroApp

Pulso BD(interfazweb)

Web(usuarios)

Cf consultas

respuestas

Legend App aplicacioacuten BD base de datos Cf cortafuegos

Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos

httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 43: 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

2 Faros de aleatoriedad mdash Formato

Un pulso (ejemplo simplificado)[1] uristr=httpsbeaconnistgovbeacon20chain1pulse220394[2] versionstr=20 [4] perioddec=60000 [6] chainIddec=1[7] pulseIddec=220394[8] timestr=2018-12-26T160700000Z[9] randLocalhex=5FF1E0C019C42C77FA72D522(512 bits total)

[13] outPrevhex=BA646CC4E7AE195D2C85E9D3(512 bits total)

[18] preComhex=269908B840E79BE71CEC4EBA(512 bits total)

[20] sighex=17943D886DA8C7C24B9244BE(4096 bits total)[21] randOuthex=0A8863E03E200F6940A009B0(512 bits total)

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)

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

Obtencioacuten de pulsos

Faro App liberar el pulso significa enviarlo a la base de datos

FaroApp

Pulso BD(interfazweb)

Web(usuarios)

Cf consultas

respuestas

Legend App aplicacioacuten BD base de datos Cf cortafuegos

Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos

httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 44: 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

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)

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

Obtencioacuten de pulsos

Faro App liberar el pulso significa enviarlo a la base de datos

FaroApp

Pulso BD(interfazweb)

Web(usuarios)

Cf consultas

respuestas

Legend App aplicacioacuten BD base de datos Cf cortafuegos

Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos

httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 45: 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

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)

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

Obtencioacuten de pulsos

Faro App liberar el pulso significa enviarlo a la base de datos

FaroApp

Pulso BD(interfazweb)

Web(usuarios)

Cf consultas

respuestas

Legend App aplicacioacuten BD base de datos Cf cortafuegos

Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos

httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 46: 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

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)

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

Obtencioacuten de pulsos

Faro App liberar el pulso significa enviarlo a la base de datos

FaroApp

Pulso BD(interfazweb)

Web(usuarios)

Cf consultas

respuestas

Legend App aplicacioacuten BD base de datos Cf cortafuegos

Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos

httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 47: 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

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)

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

Obtencioacuten de pulsos

Faro App liberar el pulso significa enviarlo a la base de datos

FaroApp

Pulso BD(interfazweb)

Web(usuarios)

Cf consultas

respuestas

Legend App aplicacioacuten BD base de datos Cf cortafuegos

Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos

httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 48: 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

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)

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

Obtencioacuten de pulsos

Faro App liberar el pulso significa enviarlo a la base de datos

FaroApp

Pulso BD(interfazweb)

Web(usuarios)

Cf consultas

respuestas

Legend App aplicacioacuten BD base de datos Cf cortafuegos

Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos

httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 49: 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

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)

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

Obtencioacuten de pulsos

Faro App liberar el pulso significa enviarlo a la base de datos

FaroApp

Pulso BD(interfazweb)

Web(usuarios)

Cf consultas

respuestas

Legend App aplicacioacuten BD base de datos Cf cortafuegos

Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos

httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 50: 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

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)

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

Obtencioacuten de pulsos

Faro App liberar el pulso significa enviarlo a la base de datos

FaroApp

Pulso BD(interfazweb)

Web(usuarios)

Cf consultas

respuestas

Legend App aplicacioacuten BD base de datos Cf cortafuegos

Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos

httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 51: 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

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)

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

Obtencioacuten de pulsos

Faro App liberar el pulso significa enviarlo a la base de datos

FaroApp

Pulso BD(interfazweb)

Web(usuarios)

Cf consultas

respuestas

Legend App aplicacioacuten BD base de datos Cf cortafuegos

Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos

httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 52: 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

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

Obtencioacuten de pulsos

Faro App liberar el pulso significa enviarlo a la base de datos

FaroApp

Pulso BD(interfazweb)

Web(usuarios)

Cf consultas

respuestas

Legend App aplicacioacuten BD base de datos Cf cortafuegos

Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos

httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 53: 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

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

Obtencioacuten de pulsos

Faro App liberar el pulso significa enviarlo a la base de datos

FaroApp

Pulso BD(interfazweb)

Web(usuarios)

Cf consultas

respuestas

Legend App aplicacioacuten BD base de datos Cf cortafuegos

Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos

httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 54: 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

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

Obtencioacuten de pulsos

Faro App liberar el pulso significa enviarlo a la base de datos

FaroApp

Pulso BD(interfazweb)

Web(usuarios)

Cf consultas

respuestas

Legend App aplicacioacuten BD base de datos Cf cortafuegos

Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos

httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 55: 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

3 Faros de aleatoriedad mdash Operaciones

Obtencioacuten de pulsos

Faro App liberar el pulso significa enviarlo a la base de datos

FaroApp

Pulso BD(interfazweb)

Web(usuarios)

Cf consultas

respuestas

Legend App aplicacioacuten BD base de datos Cf cortafuegos

Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos

httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 56: 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

3 Faros de aleatoriedad mdash Operaciones

Obtencioacuten de pulsos

Faro App liberar el pulso significa enviarlo a la base de datos

FaroApp

Pulso BD(interfazweb)

Web(usuarios)

Cf consultas

respuestas

Legend App aplicacioacuten BD base de datos Cf cortafuegos

Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos

httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 57: 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

3 Faros de aleatoriedad mdash Operaciones

Obtencioacuten de pulsos

Faro App liberar el pulso significa enviarlo a la base de datos

FaroApp

Pulso BD(interfazweb)

Web(usuarios)

Cf consultas

respuestas

Legend App aplicacioacuten BD base de datos Cf cortafuegos

Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos

httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 58: 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

3 Faros de aleatoriedad mdash Operaciones

Obtencioacuten de pulsos

Faro App liberar el pulso significa enviarlo a la base de datos

FaroApp

Pulso BD(interfazweb)

Web(usuarios)

Cf consultas

respuestas

Legend App aplicacioacuten BD base de datos Cf cortafuegos

Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos

httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 59: 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

3 Faros de aleatoriedad mdash Operaciones

Obtencioacuten de pulsos

Faro App liberar el pulso significa enviarlo a la base de datos

FaroApp

Pulso BD(interfazweb)

Web(usuarios)

Cf consultas

respuestas

Legend App aplicacioacuten BD base de datos Cf cortafuegos

Los usuarios solicitan un pulso de la base de datos a traveacutes de una URIURL(URI = identificador uniforme de recursos URL = localizador uniforme) de recursos

httpsbeaconnistgovbeacon20chainlastpulselastEjemplo URL para 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 60: 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

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 61: 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

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 62: 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

4 Faros de aleatoriedad mdash Uso

Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)

Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384

Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria

1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t

2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)

3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias

2230

4 Faros de aleatoriedad mdash Uso

Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)

Obtener un nuacutemero aleatorio en [0 N minus 1]

I Solo calcula randOut (mod N) if N lt 2384

Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria

1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t

2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)

3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias

2230

4 Faros de aleatoriedad mdash Uso

Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)

Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384

Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria

1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t

2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)

3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias

2230

4 Faros de aleatoriedad mdash Uso

Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)

Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384

Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria

1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t

2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)

3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias

2230

4 Faros de aleatoriedad mdash Uso

Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)

Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384

Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria

1 Comprometerse por adelantado

publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t

2 Derivar una semilla

Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)

3 Realizar la operacioacuten

Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias

2230

4 Faros de aleatoriedad mdash Uso

Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)

Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384

Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria

1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t

2 Derivar una semilla

Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)

3 Realizar la operacioacuten

Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias

2230

4 Faros de aleatoriedad mdash Uso

Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)

Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384

Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria

1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t

2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)

3 Realizar la operacioacuten

Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias

2230

4 Faros de aleatoriedad mdash Uso

Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)

Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384

Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria

1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t

2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)

3 Realizar la 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 63: 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

4 Faros de aleatoriedad mdash Uso

Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)

Obtener un nuacutemero aleatorio en [0 N minus 1]

I Solo calcula randOut (mod N) if N lt 2384

Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria

1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t

2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)

3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias

2230

4 Faros de aleatoriedad mdash Uso

Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)

Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384

Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria

1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t

2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)

3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias

2230

4 Faros de aleatoriedad mdash Uso

Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)

Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384

Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria

1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t

2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)

3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias

2230

4 Faros de aleatoriedad mdash Uso

Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)

Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384

Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria

1 Comprometerse por adelantado

publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t

2 Derivar una semilla

Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)

3 Realizar la operacioacuten

Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias

2230

4 Faros de aleatoriedad mdash Uso

Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)

Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384

Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria

1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t

2 Derivar una semilla

Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)

3 Realizar la operacioacuten

Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias

2230

4 Faros de aleatoriedad mdash Uso

Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)

Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384

Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria

1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t

2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)

3 Realizar la operacioacuten

Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias

2230

4 Faros de aleatoriedad mdash Uso

Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)

Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384

Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria

1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t

2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)

3 Realizar la 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 64: 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

4 Faros de aleatoriedad mdash Uso

Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)

Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384

Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria

1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t

2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)

3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias

2230

4 Faros de aleatoriedad mdash Uso

Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)

Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384

Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria

1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t

2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)

3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias

2230

4 Faros de aleatoriedad mdash Uso

Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)

Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384

Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria

1 Comprometerse por adelantado

publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t

2 Derivar una semilla

Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)

3 Realizar la operacioacuten

Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias

2230

4 Faros de aleatoriedad mdash Uso

Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)

Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384

Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria

1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t

2 Derivar una semilla

Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)

3 Realizar la operacioacuten

Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias

2230

4 Faros de aleatoriedad mdash Uso

Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)

Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384

Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria

1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t

2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)

3 Realizar la operacioacuten

Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias

2230

4 Faros de aleatoriedad mdash Uso

Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)

Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384

Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria

1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t

2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)

3 Realizar la 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 65: 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

4 Faros de aleatoriedad mdash Uso

Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)

Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384

Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria

1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t

2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)

3 Realizar la operacioacuten Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias

2230

4 Faros de aleatoriedad mdash Uso

Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)

Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384

Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria

1 Comprometerse por adelantado

publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t

2 Derivar una semilla

Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)

3 Realizar la operacioacuten

Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias

2230

4 Faros de aleatoriedad mdash Uso

Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)

Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384

Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria

1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t

2 Derivar una semilla

Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)

3 Realizar la operacioacuten

Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias

2230

4 Faros de aleatoriedad mdash Uso

Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)

Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384

Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria

1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t

2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)

3 Realizar la operacioacuten

Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias

2230

4 Faros de aleatoriedad mdash Uso

Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)

Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384

Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria

1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t

2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)

3 Realizar la 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 66: 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

4 Faros de aleatoriedad mdash Uso

Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)

Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384

Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria

1 Comprometerse por adelantado

publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t

2 Derivar una semilla

Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)

3 Realizar la operacioacuten

Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias

2230

4 Faros de aleatoriedad mdash Uso

Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)

Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384

Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria

1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t

2 Derivar una semilla

Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)

3 Realizar la operacioacuten

Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias

2230

4 Faros de aleatoriedad mdash Uso

Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)

Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384

Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria

1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t

2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)

3 Realizar la operacioacuten

Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias

2230

4 Faros de aleatoriedad mdash Uso

Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)

Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384

Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria

1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t

2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)

3 Realizar la 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 67: 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

4 Faros de aleatoriedad mdash Uso

Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)

Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384

Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria

1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t

2 Derivar una semilla

Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)

3 Realizar la operacioacuten

Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias

2230

4 Faros de aleatoriedad mdash Uso

Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)

Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384

Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria

1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t

2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)

3 Realizar la operacioacuten

Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias

2230

4 Faros de aleatoriedad mdash Uso

Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)

Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384

Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria

1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t

2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)

3 Realizar la 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 68: 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

4 Faros de aleatoriedad mdash Uso

Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)

Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384

Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria

1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t

2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)

3 Realizar la operacioacuten

Hace lo que prometioacute la declaracioacuten Sutilizando Z como semilla para todas las seudo-aleatoriadad necesarias

2230

4 Faros de aleatoriedad mdash Uso

Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)

Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384

Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria

1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t

2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)

3 Realizar la 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 69: 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

4 Faros de aleatoriedad mdash Uso

Usando la aleatoriedad de un faro (si confiacuteo en el faro)(algunas simplificaciones para fines de presentacioacuten)

Obtener un nuacutemero aleatorio en [0 N minus 1]I Solo calcula randOut (mod N) if N lt 2384

Si quiero permitir una auditabilidad futura de una operacioacuten aleatoria

1 Comprometerse por adelantado publica una declaracioacuten redS queexplique mi operacioacuten determinista que usaraacute aleatoriedad del faro (elvalor de salida tt randOut) del tiempo futuro t

2 Derivar una semilla Obtenga R = randOut[t] (del pulso con la marcade tiempo timestamp t) y configura la semilla como Z = Hash(S||R)

3 Realizar la 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 70: 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

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 71: 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

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 72: 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

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 73: 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

4 Faros de aleatoriedad mdash Uso

Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo

Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales

Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 74: 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

4 Faros de aleatoriedad mdash Uso

Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo

Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales

Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 75: 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

4 Faros de aleatoriedad mdash Uso

Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo

Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales

Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 76: 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

4 Faros de aleatoriedad mdash Uso

Algunas aplicaciones concebiblesldquoHa sido seleccionado al azar para una evaluacioacuten adicionalrdquo

Aplicaciones posiblesI Seleccionar grupos de prueba y control para ensayos cliacutenicosI Seleccionar funcionarios gubernamentales para auditoriacuteas financierasI Asignar casos judiciales a jueces al azarI Muestra de lotes aleatorios para procedimientos de medicioacuten de calidadI Proporcionar entropiacutea a loteriacuteas digitales

Algunos objetivos geneacutericosI Evitar que los auditores sesguen las selecciones (o sean acusados de ello)I Evitar que los auditados aborden solo los 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 77: 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

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 78: 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

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 79: 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

5 Observaciones finales

Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica

eg para mejorar la auditabilidad puacuteblica de procesos aleatorios

I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia

I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios

I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados

2730

5 Observaciones finales

Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica

eg para mejorar la auditabilidad puacuteblica de procesos aleatorios

I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia

I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios

I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados

2730

5 Observaciones finales

Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica

eg para mejorar la auditabilidad puacuteblica de procesos aleatorios

I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia

I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios

I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados

2730

5 Observaciones finales

Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica

eg para mejorar la auditabilidad puacuteblica de procesos aleatorios

I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia

I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 80: 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

5 Observaciones finales

Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica

eg para mejorar la auditabilidad puacuteblica de procesos aleatorios

I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia

I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios

I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados

2730

5 Observaciones finales

Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica

eg para mejorar la auditabilidad puacuteblica de procesos aleatorios

I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia

I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios

I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados

2730

5 Observaciones finales

Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica

eg para mejorar la auditabilidad puacuteblica de procesos aleatorios

I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia

I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 81: 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

5 Observaciones finales

Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica

eg para mejorar la auditabilidad puacuteblica de procesos aleatorios

I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia

I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras basadas en comentarios

I Nos gustariacutea contar con su colaboracioacutenI aplicaciones externas que usan aleatoriedad del FaroI maacutes faros desplegados

2730

5 Observaciones finales

Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica

eg para mejorar la auditabilidad puacuteblica de procesos aleatorios

I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia

I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 82: 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

5 Observaciones finales

Observaciones finalesI Faros de aleatoriedad tienen potencial como bienutilidad puacuteblica

eg para mejorar la auditabilidad puacuteblica de procesos aleatorios

I La referencia (NISTIR 8213) versioacuten 2 tiene nuevas caracteriacutesticas parauna mejor interoperabilidad seguridad y eficiencia

I Desarrollos a realizarI Anaacutelisis complementario y orientacioacutenI Mejoras 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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 83: 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

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 84: 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

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

lowast httpswwwnistgovelmaterials-and-structural-systems-division-73100nist-stone-wall

2830

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

2930

5 Observaciones finales

GraciasI 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

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
Page 85: 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

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

2930

5 Observaciones finales

GraciasI 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

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
Page 86: 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

5 Observaciones finales

GraciasI 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

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
Page 87: 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

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