OLPC sistema de seguridad. Firmar (en general) ● La idea: confiamos en alguna organización, y queremos estar seguro que algún dato se origina de allá.

1 OLPC sistema de seguridad ...
Author: Antonia Lagos Ávila
0 downloads 2 Views

1 OLPC sistema de seguridad

2 Firmar (en general) ● La idea: confiamos en alguna organización, y queremos estar seguro que algún dato se origina de allá.

3 Llaves principales ● Primero, la organización de confianza usa software para generar 2 llaves principales. 1.Llave principal privada 2.Llave principal pública ● Las 2 llaves tienen una relación, pero es super difícil generar una de la otra. ● La llave privada debe ser metido en un lugar seguro, nunca compartido. ● La llave pública puede ser publicado.

4 Firmar ● Con la llave privada, la organización de confianza puede hacer una firma para un dato ● Con la llave pública, el dato y la firma, el cliente puede verificar que el dato ha sido firmado por la organización de confianza ● Nadie más podía haber hecho la firma.

5 cliente Organización de confianza dato Llave privada firmar firma datofirma verificar Llave pública interne t

6 Por qué segurar la XO? ● Antirrobo antes de la entrega ● Antirrobo después ● Impedir instalación de software no autorizado ● Confiar en actualizaciones del software

7 ACTIVACIONES

8 Cuando la XO se enciende... ● El firmware tiene que elegir un kernel y un initramfs ● Si la XO está activada, elige runos.zip (kernel) y runrd.zip (initramfs) ● Si la XO no está activada, elige actos.zip (kernel) y actrd.zip (initramfs)

9 Qué significa activada? ● Tiene /security/lease.sig en alguna unidad ● El número de serie es correcto ● La activación no ha expirado ● La activación verifica bien

10 Qué es una activación? ● Plaintext “act01: K ” ● Y después, firma cifrada de “ : :K: ”

11 act/run/os/rd ● act* es código especial para buscar una activación ● run* es para correr normalmente ● actrd = runrd ● actos = runos

12 IMAGENES

13 Firmas de imagenes ● El archivo.img – el dato de la imagen ● El archivo.crc – un checksum ● El archivo fs.zip – el checksum, una firma y el nombre del archivo.img correspondiente ● Para NANDblastear, necesitas fs.zip y fs.img ● Para flashear desde USB, necesitas XX.img y fs.zip

14 FIRMAS DEL SOFTWARE

15 Firmas ● act/run/os/rd son archivos zip que tienen una firma y el dato ● Tambien bootfw.zip (para actualizaciones del firmware)

16 Llaves de desarrollar

17 ● Si la XO tiene una válida llave de desarrollar, el sistema de seguridad se desactiva. ● La XO no necesita una activación ● act/run/os/rd no usado – en vez, el script /boot/olpc.fth ● Podes entrar al prompt de OFW ● La llave tiene que estar disponible cada vez que la XO se enciende.

18 Hacer llaves de desarollar ● Una llave de desarollar es una firma del dato: ● : :A:00000000T000000Z ● El archivo develop.sig tiene el dato y la firma ● Si el dato no tiene el serial y el UUID de la XO, la llave es inválida. ● El firmware busca y revisa este archivo cada vez que la computadora se enciende.

19 Desactivar la seguridad ● Con una llave de desarrollar, podés desactivar el sistema de seguridad totalmente ● Es como tener una llave de desarrollar todo el tiempo ● Para desactivar, usar el comando en OFW: ● disable-security ● Para activar otra vez: ● enable-security SERIAL

20 Las llaves

21 Llaves de OLPC ● OLPC tiene 5 pares de llaves: 1)Para firmar el firmware 2)Para firmar el kernel/initramfs 3)Para firmar las imagenes 4)Para hacer activaciónes 5)Para hacer llaves de desarrollar 6)Para firmar información sobre actualizaciones del software ● Las XOs tienen las llaves públicas en el firmware y en Linux ● /usr/lib/python2.5/site-packages/bitfrost/leases/keys.py ● oskey$ dump ● OLPC tiene las llaves privadas en un lugar muy seguro

22 Más llaves ● Es posible agregar más llaves públicas a las XOs ● Así las XOs pueden confiar en otras organizaciónes (por ejemplo FZT), además de OLPC ● http://wiki.laptop.org/go/Firmware_security#Multiple-Key_Support http://wiki.laptop.org/go/Firmware_security#Multiple-Key_Support ● Quedan en el manufacturing data ● Llaves con el indice 0 invalidan las llaves de OLPC! ● Llaves con otros indices (1-9) son alternativos de las llaves de OLPC

23 En Nicaragua... ● Tenemos las 6 pares de llaves nuestras ● Las públicas están instalados en las XOs con indice 1 ● Entonces las XOs aceptan las firmas de OLPC y las firmas de FZT ● Las privadas quedan en la laptop firmadora.