Bitfrost/lang-es

From OLPC
< Bitfrost
Revision as of 23:20, 4 March 2007 by Xavi (talk | contribs) (testing preserving original anchors)
Jump to navigation Jump to search
  Esta página está supervisada por el equipo de OLPC.

Template:Translated Page

ATENCION: Esto es un primer borrador de la traducción. Cualquier duda, el original es la referencia.

ATTENTION: This is a first-draft translation. If in doubt, refer to the original.


Bitfrost es la plataforma de seguridad de la OLPC. Comenzaremos dando una introducción a los problemas de seguridad que intentamos resolver, los objetivos y sus principios. Estas secciones fueron tomadas del documento Bitfrost specification (en inglés), la cual les invitamos a leer a fondo y discutir en la security mailing list pública de la OLPC.

Bitfrost is the OLPC security platform. A non-technical introduction to the security problems we're attempting to solve, and our goals and principles in doing so, follow on this page. They're taken from the complete Bitfrost specification, which we invite you to peruse and discuss on the public OLPC security mailing list.

Introducción y resumen

En 1971, los programadores Ken Thompson y Dennis Ritchie de AT&T produjeron la primera versión de UNIX. El sistema operativo, que comenzó en 1969 como un proyecto no-pago llamado UNICS, fue renombrado y financiado por Bell Labs cuando los programadores ofrecieron agregarle soporte para el procesamiento de texto. Muchas de esas ideas centrales detrás de Unix aún persisten hoy en día: los populares sistemas operativos para servidores como Linux, FreeBSD, y muchos otros comparten mucho del diseño básico de UNIX.

In 1971, AT&T programmers Ken Thompson and Dennis Ritchie released

the first version of UNIX. The operating system, which started in 1969 as an unpaid project called UNICS, got a name change and some official funding by Bell Labs when the programmers offered to add text processing support. Many of the big design ideas behind UNIX persist to this day: popular server operating systems like Linux, FreeBSD, and a host of others all share much of the basic

UNIX design.

La versión de UNIX de 1971 soportaba los siguientes permisos de seguridad en los archivos de usuarios:

The 1971 version of UNIX supported the following security permissions on user files:

  • no-dueño puede cambiar el archivo (escritura)
  • no-dueño puede leer el archivo
  • dueño puede cambiar el archivo (escritura)
  • dueño puede leer el archivo
  • el archivo puede ser ejecutado
  • el archivo es set-uid

* non-owner can change file (write)

  • non-owner can read file
  • owner can change file (write)
  • owner can read file
  • file can be executed
  • file is set-uid

Estos permisos deben parecerles familiares, ya que son muy similares a los permisos de seguridad que un usuario puede darle a sus archivos hoy en día, en su sistema operativo de elección. Lo que es preocupante—casi increíble—acerca de estos permisos es que han permanecido virtualmente como el único mecanismo de control real que un usuario tiene sobre sus documentos personales actualmente: un usuario puede elegir proteger sus archivos de otras personas en el sistema, pero no tiene ningún control sobre lo que sus programas pueden hacer sobre sus archivos.

These permissions should look familiar, because they are very close to the same

security permissions a user can set for her files today, in her operating system of choice. What's deeply troubling — almost unbelievable — about these permissions is that they've remained virtually the only real control mechanism that a user has over her personal documents today: a user can choose to protect her files from other people on the system, but has no control

whatsoever over what her own programs are able to do with her files.

En 1971, esto podía ser aceptable: fue 20 años antes del arribo de la Web, y los riesgos para la mayoria de los usuarios era totalmente diferente al que se aplica hoy en día. Pero entonces, como es que nos sorprendemos al no poder detener los virus y malware, cuando nuestras defensas han permanecido básicamente las mismas desde hace 35 años?

In 1971, this might have been acceptable: it was 20 years before the advent of

the Web, and the threat model for most computer users was entirely different than the one that applies today. But how, then, is it a surprise that we can't stop viruses and malware now, when our defenses have remained largely unchanged

from thirty-five years ago?

El núcleo del problema radica en el supuesto que cualquier programa ejecutándose en el sistema a cuenta de un usuario debería tener las mismas habilidades y permisos que cualquier otro programa ejecutándose en el sistema a cuenta del mismo usuario. 1971 fue siete años antes que la primera red internacional (basada en packet-switch) existiese. Y la primera red de área amplia (wan - wide area network) usando TCP/IP, el estándar de la actual Internet, no fue creada sino hasta 1983, doce años después que Thompson y Ritchie diseñaran los permisos de archivos que ahora discutimos. En resumidas cuentas, en 1971 casi no existía la posibilidad que un programa "existiera" en una computadora excepto si el dueño de la cuenta—el usuario—lo transportaba físicamente a una máquina (por ejemplo, en cinta perforada), o lo ingresase manualmente. Y por ende, la aproximación a la seguridad del "todo o nada", donde los programas ejecutándose tienen el control total sobre la cuenta de su dueño, tenían sentido: cualquier código que el usuario ejecutáse, gozaba de su confianza ipso-facto en términos prácticos.

The crux of the problem lies in the assumption that any program executing on

a system on the user's behalf should have the exact same abilities and permissions as any other program executing on behalf of the same user. 1971 was seven years before the first ever international packet-switched network came into existence. And the first wide-area network using TCP/IP, the communication suite used by the modern Internet, wasn't created until 1983, twelve years after Thompson and Ritchie designed the file permissions we're discussing. The bottom line is that in 1971, there was almost no conceivable way a program could "come to exist" on a computer except if the account owner — the user — physically transported it to a machine (for instance, on punched tape), or entered it there manually. And so the "all or nothing" security approach, where executing programs have full control over their owner's account, made quite a lot of sense: any code the user executed, she ipso facto trusted for all

practical purposes.

Avancemos en el tiempo a la actualidad, y la situación no podría ser más diferente: el contraste máximo es quizás la Web, donde el navegador (browser) ejecuta código foráneo en prácticamente todas la páginas visitadas! Los navegadores utilizan mecanismos de areneros (sandbox) cada vez más complejos con la intención de restringir las capacidades para dicho código foráneo (scripts), pero aún los navegadores más modernos están corrigiendo errores en ellos. Y no nos olvidemos del e-mail: cualquiera puede enviarle a un usuario un programa ejecutable, y por muchos años, la reacción casi instintiva era abrirlo y ejecutarlo. El código foráneo no digno de confianza a priori se encuentra por todos lados, y la única defensa pareciera ser un tedioso entrenamiento del usuario y el software anti-virus—suponiendo que este último esté actualizado, y que sus fabricantes hayan tenido el tiempo suficiente para desconstruir cada virus nuevo y construir su correspondiente defensa.

Fast forward to today, and the situation couldn't be more different: the

starkest contrast is perhaps the Web, where a user's web browser executes untrusted scripting code on just about every web page she visits! Browsers are growing increasingly complex sandboxing systems that try to restrict the abilities of such web scripts, but even the latest browser versions are still fixing bugs in their scripting engine implementations. And don't forget e-mail: anyone can send a user an executable program, and for many years the users' instinctive reaction was to open the attachment and run the program. Untrusted code is everywhere, and the only defense seems to be tedious user training and anti-virus software — the latter assuming it's fully updated, and assuming the anti-virus makers have had time to deconstruct each latest virus and construct a

defense for it.

La mayoría de las ideas y tecnologías que conforman la plataforma Bitfrost no son el resultado de nuevas investigaciones: han sido conocidas en la literatura pertinente durante años, algunas han sido probadas en situaciones reales, y otras en laboratorios. Lo que se destaca en la XO de la OLPC, es que representa la primera vez que estas medidas de seguridad han sido cuidadosamente ensambladas en un sistema a ser distribuido a decenas o centenas de millones de usuarios. Las laptops son probablemente la primvera vez que un producto de computación masiva ha decidido romper con su legado con tal de mejorar la seguridad. Por ejemplo, notarán que la discusión sobre anti-virus y anti-spyware no figura en la especificación de Bitfrost, principalmente porque la plataforma de seguridad torna dicho tema en algo irrelevante.

Most technologies and approaches that constitute the Bitfrost platform do not

represent original research: they have been known in the security literature for years, some of them have been deployed in the field, and others are being tested in the lab. What makes the OLPC XO laptops notable, however, is that they represent the first time that all these security measures have been carefully put together on a system slated to be introduced to tens or hundreds of millions of users. The laptops are also possibly the first time that a mainstream computing product has been willing to give up compatibility with legacy programs in order to achieve strong security. As an example, you'll find that talk about anti-virus and anti-spyware technology is conspicuously absent from the Bitfrost specification, because the security platform on the XO laptops

largely renders these issues moot.

Nos hemos puesto como objetivo crear un sistema que sea drásticamente más seguro y usable que cualquier otro sistema masivo actualmente en el mercado. Un resultado de la dedicación a la usabilidad es que sólo existe una protección provista por Bitfrost que requiere una respuesta del usuario, y aún entonces, es una sencilla pregunta por 'si o no' comprehensible aún por un chico pequeño. El resto de la seguridad es provista tras bambalinas. El llevar al límite los aspectos de usabilidad y seguridad no es fácil, y es importante destacar que no hemos intentado crear, y no creemos que lo hayamos hecho, un sistema "perfectamente seguro". La idea de seguridad perfecta en el mundo real es vana, y negamos todo tipo de insinuacion que lo hayamos logrado.

We have set out to create a system that is both drastically more secure and

provides drastically more usable security than any mainstream system currently on the market. One result of the dedication to usability is that there is only one protection provided by the Bitfrost platform that requires user response, and even then, it's a simple 'yes or no' question understandable even by young children. The remainder of the security is provided behind the scenes. But pushing the envelope on both security and usability is a tall order, and it's important to note that we have neither tried to create, nor do we believe we have created, a "perfectly secure" system. Notions of perfect security in the

real world are foolish, and we distance ourselves up front from any such claims.

El Enfoque Bitfrost

Principios

  • Diseño abierto
 La seguridad de la laptop no puede depender de algun diseño secreto 
 implantado en el hardware o software
  • Open design
The laptop's security must not depend upon a secret design implemented in hardware or software.
  • Sin bloqueos
 A pesar que varios parametros por defecto, el sistema de seguridad de 
 la laptop puede imponer varias prohibiciones a las acciones del usuario, 
 debe existir la manera por la cual éstos sistemas de seguridad puedan 
 ser deshabilitados. En dicho caso, la máquina le permitirá al usuario 
 un control absoluto.

* No lockdown

Though in their default settings, the laptop's security systems may impose various prohibitions on the user's actions, there must exist a way for these security systems to be disabled. When that is the case, the machine will grant the user complete control.

  • Sin lecturas requeridas
 La seguridad no puede depender de la habilidad del usuario de leer un 
 mensaje de la computadora y actuar de manera informada y razonable. Si 
 bien el deshabilitar un mecanísmo particular puede requerir una 
 lectura, la máquina debe ser segura desde la fábrica si es entregada a 
 algún usuario que todavía no sabe leer.

* No reading required

Security cannot depend upon the user's ability to read a message from the computer and act in an informed and sensible manner. While disabling a particular security mechanism may require reading, a machine must be secure out of the factory if given to a user who cannot yet read.

  • Seguridad que no obstruya
 Siempre que sea posible, la seguridad en las máquinas debe realizarse tras 
 bambalinas, haciendose notar sólamente por medio de sutiles indicadores 
 visuales o audio, y nunca interponiéndose en el camino del usuario. De 
 existir un conflicto leve frente a la comodidad del usuario, la seguridad 
 máxima toma precedencia, aunque cuidados extremos deben llevarse a cabo 
 con el fin de asegurarse que dichos permisos no reduzcan seriamente o 
 solapadamente la usabilidad de las máquinas.  Por ejemplo, si un programa 
 es descubierto en el intento de violar una medida de seguridad, no se le 
 preguntará al usuario para permitir dicha acción; que será simplemente 
 negada. Si el usuario desea otorgar dicho permiso, ello puede ser hecho en 
 la interfaz gráfica del centro de seguridad.

* Unobtrusive security

Whenever possible, the security on the machines must be behind the scenes, making its presence known only through subtle visual or audio cues, and never getting in the user's way. Whenever in conflict with slight user convenience, strong unobtrusive security is to take precedence, though utmost care must be taken to ensure such allowances do not seriously or conspicuously reduce the usability of the machines. As an example, if a program is found attempting to violate a security setting, the user will not be prompted to permit the action; the action will simply be denied. If the user wishes to grant permission for such an action, she can do so through the graphical security center interface.

Objetivos

  • Sin claves de usuario
 Con usuarios jóvenes (a partir de los cinco años), la seguridad de la laptop 
 no puede depender del habilidad del usuario de recordar una clave. No se puede 
 suponer que los usuarios elijan una clave cuando las reciban por primera vez.

* No user passwords

With users as young as 5 years old, the security of the laptop cannot depend on the user's ability to remember a password. Users cannot be expected to choose passwords when they first receive computers.

  • Sin autentificación no-encriptada
 La autentificación de las laptops o sus usuarios no dependerá de identificadores 
 transmitidos sin encriptar en la red.  Esto quiere decir que claves visibles 
 de ningún tipo pueden ser usadas en los protocolos OLPC y que el MAC de Ethernet 
 jamás serán usados como autentificación.

* No unencrypted authentication

Authentication of laptops or users will not depend upon identifiers that are sent unencrypted over the network. This means no cleartext passwords of any kind will be used in any OLPC protocol and Ethernet MAC addresses will never be used for authentication.

  • Seguridad desde la caja
 La laptop deberá ser usable y segura desde la caja, sin necesidad de realizar o 
 descargar actualizaciones de seguridad en la medidad de lo posible.

* Out-of-the-box security

The laptop should be both usable and secure out-of-the-box, without the need to download security updates when at all possible.

  • Uso limitado de PKI institucional
 La laptop estará provista con llaves públicas de la OLPC y la autoridad del 
 el país o región (ej: ministerio o departamento de educación), pero estas 
 llaves no serán usadas para validar la identidad de los usuarios. El único 
 propósito de estas llaves es verificar la integridad del software y contenido 
 incluído en la laptop. Los usuarios serán identificados por medio de un 
 sistema orgánico PKI sin una cadena de confianza certificada (without a 
 certified chain of trust)—en otras palabras, nuestro enfoque a PKI es KCM 
 (Key-Continuity Management).

* Limited institutional PKI

The laptop will be supplied with public keys from OLPC and the country or regional authority (e.g. the ministry or department of education), but these keys will not be used to validate the identity of laptop users. The sole purpose of these keys will be to verify the integrity of bundled software and content. Users will be identified through an organically-grown PKI without a certified chain of trust — in other words, our approach to PKI is KCM, or key continuity management.

  • Sin pérdida permanente de datos
 La información en la laptop será replicada sobre algún almacenamiento 
 centralizado de modo tal que el estudiante pueda recuperarla en el caso que la 
 laptop se pierda, sea robada o destruida.

* No permanent data loss

Information on the laptop will be replicated to some centralized storage place so that the student can recover it in the event that the laptop is lost, stolen or destroyed.

Si el tema le interesa, por favor lean la especificación competa de Bitfrost, suscríbase a la lista de seguridad de la OLPC, comparta sus opiniones y participe de la discusión.

If this subject matter interests you, please read the complete Bitfrost

specification, join the OLPC security mailing list, share your thoughts,

and join the discussion.