Download ha sido validado por el Laboratorio de Investigación en
Transcript
ID CERTIFICADO: RN-00-UNLP-15-01 Fecha del Certificado: 26 de octubre de 2015 Emitido a: Universidad Nacional de La Plata (UNLP) Emitido por: Laboratorio de Investigación en Nuevas Tecnologías Informáticas (LINTI) Calle 50 y 120 1900 La Plata (54) 221 422 8241 www.linti.unlp.edu.ar Fabricante: Centro Superior de Procesamiento de Información (CeSPI) Calle 50 y 115 1900 La Plata Certificación de: SIPECU-Bolillero Id. Del Certificado: RN-00-UNLP-15-01 Estándar Evaluado Evaluación de aleatoriedad LINTI-UNLP Calle 50 y 120 - 1900 La Plata TE: +54-221-422-8241 Resultado de la Evaluación APROBADO Página 1 de 9 ID CERTIFICADO: RN-00-UNLP-15-01 SECCIÓN I – ALCANCE DE LAS PRUEBAS CeSPI suministró los materiales necesarios a LINTI con el fin de realizar el análisis del generador de números aleatorios (RNG) SIPECU-Bolillero versión 1.0. El alcance de este análisis se limita a la verificación del software, la revisión del código fuente, y el análisis de datos. El RNG fue analizado para determinar la capacidad de producir aleatoriamente los resultados para el sorteo de vacantes de ingreso a las instituciones educativas de la Universidad Nacional de La Plata. SECCIÓN II – VERIFICACIÓN DEL SOFTWARE Las firmas digitales para SIPECU-Bolillero son las siguientes: Archivo Versión Bolillero.php 1.0 Tipo Firma 4B921690696EF97E75B2AD2C5B MD5 ED06B7 58A67F20B72311CA03CEBB1DDD SHA-1 9D2E48D113DF86 Tabla 1. Firmas Digitales SECCIÓN III – REVISIÓN DEL CÓDIGO FUENTE CeSPI presentó la documentación apropiada y el código fuente completo el cual corresponde a la generación de números aleatorios. LINTI realizó la revisión del código fuente proporcionado mediante el trazado del recorrido de la aplicación del RNG desde el inicio de la selección hasta la salida de los números aleatorios. LINTI realizó la inspección del código fuente, donde fue posible, en un intento de encontrar cualquier interruptor o parámetros que pudieran tener alguna posible influencia en el azar. LINTI evaluó la habilidad del RNG para producir todos los números dentro de los rangos deseados. SECCIÓN IV – ANÁLISIS DE LOS DATOS La configuración y los parámetros del sorteo para los datos obtenidos y analizados se listan en la Tabla 2. LINTI realizó una verificación del formato del conjunto de datos listado, con el fin de confirmar que los parámetros del sorteo están representados correctamente en los datos del RNG analizado. Un conjunto de números es seleccionado con reemplazo si un número puede ser seleccionado múltiples veces dentro de la misma jugada. Un conjunto de números puede ser seleccionado sin reemplazo si un número sólo puede ser seleccionado una vez dentro de la misma jugada. LINTI-UNLP Calle 50 y 120 - 1900 La Plata TE: +54-221-422-8241 Página 2 de 9 ID CERTIFICADO: RN-00-UNLP-15-01 Conjunto de Datos Rango Posiciones Reemplazo Sorteos Set1 10 10 No 2.000.000 Set2 30 30 No 10.000.000 Set3 280 280 No 10.000.000 Set4 780 780 No 5.000.000 Set5 1500 1500 No 1.000.000 Tabla 2. Parámetros del Sorteo El resumen del resultado final de las pruebas realizadas al conjunto de dato se encuentra en la Tabla 3. La descripción de la metodología general de las pruebas y una descripción de cada prueba utilizada se encuentran en la Sección VI. Las pruebas estadísticas fueron aplicadas con los niveles de confianza del 95%, 98%, y 99%. En general, el RNG pasó la batería de pruebas para cada configuración en los niveles de confianza aplicados. Permutaciones Dist. Total por Posición Set2 Set3 Set4 Set5 Cupones Distribución Total Superposiciones Ady. en Bloques Ady. Max-Min Correlación Interjuego Set1 Conjunto de Datos Rachas Correlación Serial Ady. Alta-Baja Nombres de las Pruebas Tabla 3. Pruebas Aplicadas LINTI-UNLP Calle 50 y 120 - 1900 La Plata TE: +54-221-422-8241 Página 3 de 9 ID CERTIFICADO: RN-00-UNLP-15-01 SECCIÓN V - RESUMEN Evaluación General del Generador de Números Aleatorios La conclusión de LINTI, basada en las pruebas aplicadas a los datos de SIPECU Bolillero, es que este generador de números aleatorios presenta un comportamiento aleatorio y es adecuado para la aplicación descrita en este documento. SECCIÓN VI - Descripciones de las Pruebas VI.1 Definiciones. Los siguientes términos se aplican a las descripciones de las pruebas que se enumeran a continuación. La salida del RNG se obtiene a menudo recolectando múltiples números a la vez. Cada conjunto de números es denominado una selección. Cada número individual posee un orden particular dentro de la selección. Esto se denomina como la posición del número. VI.2 Comparaciones de la Distribución. Muchas de las pruebas comparan una distribución numérica observada contra una distribución esperada. A menos que se especifique lo contrario, esto se realiza mediante la prueba estadística de bondad de ajuste chi-cuadrada. El valor de la chi-cuadrada se calcula usando el método estándar. Si k es un valor posible, es la cantidad observada de dicho valor, y es la cantidad esperada: 𝜒2 = ∑ 𝑘 (𝑜𝑘 − 𝑒𝑘 )2 𝑒𝑘 Si las cantidades esperadas son demasiado pequeñas para utilizar en forma precisa la fórmula anterior, los valores son ‘agrupados’ entre sí para asegurar una cantidad esperada mínima apropiada. El valor resultante para la chi-cuadrada es comparado contra la distribución con el número apropiado de grados de libertad. Valores de la chi-cuadrada inusualmente altos (desajuste de la distribución) o inusualmente bajos (insuficiente aleatoriedad) pueden ser las causas para que los datos fallen. VI.3 Meta-análisis. La evaluación de los grupos de los p-valores puede incluir un meta-análisis para los extremos altos o bajos de los de p-valores, un meta-análisis sobre la frecuencia de los p-valores altos o bajos, y un meta-análisis sobre la uniformidad de los p-valores, según sea apropiado. VI.4 Nivel de Confianza. Las pruebas estadísticas realizadas por LINTI se llevan a cabo utilizando un nivel de confianza determinado. Los niveles de confianza comunes utilizados incluyen 95%, 98% y 99%, dependiendo de los requerimientos jurisdiccionales, y el uso previsto del RNG. Las pruebas con niveles altos de confianza poseen un bajo riesgo de hacer fallar erróneamente a un buen RNG, pero también un mayor riesgo de hacer pasar un mal RNG. Las pruebas con un nivel de confianza bajo poseen una mayor potencia para detectar malos RNGs, a la vez que aumentan el riesgo de hacer fallar buenos RNGs. Específicamente, el nivel de confianza representa LINTI-UNLP Calle 50 y 120 - 1900 La Plata TE: +54-221-422-8241 Página 4 de 9 ID CERTIFICADO: RN-00-UNLP-15-01 la probabilidad de que una fuente ideal de aleatoriedad pase las pruebas. Si un RNG pasa las pruebas estadísticas con un determinado nivel de confianza, se asume que también pasa todos los niveles de confianza más altos. VI.5 Pruebas. Algunas pruebas sólo se aplican a ciertos tipos de datos. Algunas pruebas pueden ser aplicadas sólo a una parte de los datos. Adyacencia de Bloques: Por cada selección, primero se ordenan los datos. Luego, se contabiliza la cantidad de bloques de números contiguos. Estos estadísticos son entonces contrastados contra el esperado. Por ejemplo, si una selección consiste de los números 1, 5, 4, 2, 6, 9, los datos son luego ordenados y separados en bloques. 1, 2, 4, 5, 6, 9 El estadístico resultante será de 3. Adyacencia Alta-Baja: Por cada selección, se registra el número de extremos locales en los datos (‘altas’ and ‘bajas’) y se compara con la distribución esperada. For each draw, the number of local extrema (‘highs’ and ‘lows’) in the data is recorded and compared with the expected distribution. Éstos también son conocidos como ‘puntos de inflexión’. Por ejemplo, si una selección consiste de los números 1, 3, 5, 7, 2, 9, existe un máximo local (7) y un mínimo local (2). El estadístico resultante será 2. Adyacencia Max-Min: Por cada selección, se calcula y registra la diferencia entre los valores máximo y mínimo. Esto luego es contrastado con la distribución teórica. Por ejemplo, si una selección consiste de los números 2, 3, 6, 7, 4, el estadístico resultante será 5, la diferencia entre el valor máximo 7 y el valor mínimo 2. LINTI-UNLP Calle 50 y 120 - 1900 La Plata TE: +54-221-422-8241 Página 5 de 9 ID CERTIFICADO: RN-00-UNLP-15-01 Recolección de Cupones: La Prueba de Recolección de Cupones se aplica en forma posicional. Se recorren los datos hasta que todos los valores posibles han sido observados, luego se registra el número de valores recorridos, y se reinicia la cuenta. Esto se compara con la distribución esperada. Por ejemplo, si el conjunto de todos los valores posibles es cada selección es y la primera posición de 1, 0, 1, 0, 2, 0, 1, 2, . . . , entonces todos los valores fueron observados en la primera posición al llegar a la quinta selección. Luego, todos los valores son observados en las 3 selecciones siguientes, por lo que las dos primeras estadísticas para la primera posición serán 5 y 3. Correlación Intrajuego: La Prueba de Correlación Interjuego mide la correlación estadística entre diferentes posiciones de la misma selección. Para cada par de posiciones, se calcula la correlación estadística de la misma forma que en la Prueba de Correlación Serial. En el caso de datos sin reemplazo, se realiza un ajuste para tener en cuenta posibles resultados de correlación negativa. Superposiciones: La Prueba de Superposiciones compara selecciones consecutivas buscando valores superpuestos. Se registra el número de valores superpuestos para cada par de selecciones. Esta distribución observada de superposiciones se compara con la distribución esperada. Por ejemplo, si se observan las siguientes selecciones consecutivas, a) {1, 4, 5, 6} b) {4, 1, 7, 6} el número de superposiciones sería de 3, representando los valores 1, 4 y 6. Permutación: La Prueba de Permutación es una prueba aplicable a los datos que representan el reordenamiento de números. Cada selección puede ser considerada una permutación del orden original. Cada permutación puede ser descompuesta en ciclos disjuntos, que representan las posibles posiciones que un número podría ocupar si la misma permutación es aplicada repetidamente. LINTI-UNLP Calle 50 y 120 - 1900 La Plata TE: +54-221-422-8241 Página 6 de 9 ID CERTIFICADO: RN-00-UNLP-15-01 Para cada selección, se calculan tres estadísticos en base a la descomposición en ciclos: • • • El número de ciclos. El tamaño del ciclo más pequeño. El tamaño del ciclo más grande. Cada uno de estos estadísticos genera una distribución de observaciones que son comparadas con sus respectivas distribuciones esperadas. Por ejemplo, si se observa la siguiente selección con un reordenamiento de los números desde 1 hasta 6, 1, 3, 5, 4, 2, 6 la descomposición cíclica sería (1)(2 3 5)(4)(6). 1, 4, y 6 permanecen en sus posiciones originales, por lo tanto forman sus propios ciclos. Los valores 2, 3, y 5 están mezclados, por lo que forman un único ciclo todos juntos. El número total de ciclos es 4, el ciclo más pequeño tiene tamaño 1, y el ciclo más grande tiene tamaño 3. Rachas o Corridas (Runs): La Prueba de Rachas o Corridas de Wald-Wolfowitz se aplica a cada posición dentro de la selección. Se establece un centro, generalmente la mediana de los datos, y se cuenta el número de ‘rachas’ por encima o por debajo del centro. Los valores exactamente iguales al centro son descartados. El resultado se compara con la distribución esperada, la cual depende del número de valores por encima y por debajo del centro. Por ejemplo, si los números seleccionados para una posición particular fueron 2, 3, 1, 5, 4, 7, 3, 2, 3, 2, 3, 2, 6, 7, 3, 5 y el centro determinado de los datos fue una mediana de 3, los datos serían analizados para rachas por encima de 3 y rachas por debajo de 3. 2, 5, 4, 7, 3, ⏟ 2, 𝟑, 2, 𝟑, 2, ⏞ 6, 7, 𝟑, 5 ⏟ 𝟑, 1, ⏞ Esto sería contabilizado como 4 rachas. Correlación Serial: La Prueba de Correlación Serial mide la correlación estadística entre selecciones consecutivas de la misma posición. Para cada posición, se calcula el coeficiente de LINTI-UNLP Calle 50 y 120 - 1900 La Plata TE: +54-221-422-8241 Página 7 de 9 ID CERTIFICADO: RN-00-UNLP-15-01 correlación de Pearson de la muestra. Si X representa el primer número, e Y el número siguiente, entonces el coeficiente es 𝑟= 𝑐𝑜𝑣(𝑋, 𝑌) 𝑠𝑋 𝑠𝑌 donde s denota el desvío estándar de la muestra. Los coeficientes son utilizados para generar un p-valor para cada posición. Distribución Total: La Prueba de Distribución Total es un simple recuento de todos los valores observados en los datos. El resultado es luego comparado con la distribución esperada. En general, la distribución esperada es una distribución uniforme. En el caso de existir una ponderación desigual de los valores, se utiliza la distribución discreta apropiada. Distribución Total por Posición: La Prueba de Distribución Total por Posición calcula la distribución de los valores observados para cada posición dentro de la selección. Luego, cada una de estas distribuciones es contrastada con la esperada. SECCIÓN VII - Procedimiento de Verificación: Las firmas digitales obtenidas de cada uno de los archivos certificados pueden calcularse utilizando una herramienta estándar que implemente los algoritmos MD5 y SHA-1. PROCEDIMIENTO PARA VERIFICACIÓN DE ARCHIVOS Y DIRECTORIOS 1. Ubicar el archivo/directorio a firmar. 2. Copiar el archivo/directorio completo a una PC con la herramienta de firma estándar. 3. Utilizar la herramienta de firma para calcular las firmas MD5 y SHA-1 del archivo/directorio en la PC. EL FABRICANTE, AL ACEPTAR EL PRESENTE REPORTE, DECLARA EXPRESAMENTE CONOCER Y ACORDAR CON TODOS LOS “TÉRMINOS Y CONDICIONES” ESTABLECIDOS DEBAJO. EN CASO DE NO PRESTAR CONFORMIDAD, EL FABRICANTE DEBERÁ INMEDIATAMENTE DEVOLVER A LA UNLP TODAS LAS COPIAS DEL REPORTE Y LA UNLP RETIRARÁ LA CERTIFICACIÓN PROVEÍDA O ANÁLISIS ESTABLECIDO EN EL MISMO. EN ESTE ÚLTIMO CASO, EL FABRICANTE, ASIMISMO SE COMPROMETE A MANTENER LA CONFIDENCIALIDAD DEL CONTENIDO DEL REPORTE Y NO REVELARLO EN NINGUNA CIRCUNSTANCIA. LINTI-UNLP Calle 50 y 120 - 1900 La Plata TE: +54-221-422-8241 Página 8 de 9 ID CERTIFICADO: RN-00-UNLP-15-01 Términos y Condiciones: Este reporte es emitido únicamente para el beneficio del “FABRICANTE”, específicamente para la Universidad Nacional de La Plata, referida en este Reporte, y no podrá ser confiado por ningún motivo a ninguna otra persona o entidad que no sea el FABRICANTE. La certificación establecida por este Reporte aplica exclusivamente a las pruebas conducidas en el Entorno de Pruebas indicado, utilizando métodos actuales y retrospectivos desarrollados por LINTI en los sistemas específicos solicitados por el Fabricante identificados por las palabras “Certificación de:” que aparece en la primera página de este reporte. Todos los componentes identificados en la sección “Certificación de:” de la primera página del reporte son considerados certificados a partir de la fecha que figura en la sección “Fecha del Certificado:” de la primera página del Reporte original emitido por UNLP. Todos los componentes son certificados para su uso hasta el momento en que una notificación fehaciente es enviada indicando que no se permite el uso de un componente dentro de la jurisdicción especificada. Luis Armando Marrone Co-Director LINTI-UNLP LINTI-UNLP Calle 50 y 120 - 1900 La Plata TE: +54-221-422-8241 Página 9 de 9