Niveles de Seguridad
Informática
El estándar de niveles de
seguridad más utilizado internacionalmente es el TCSEC Orange Book(2),
desarrollado en 1983 de acuerdo a las normas de seguridad en computadoras del
Departamento de Defensa de los Estados Unidos.
Los niveles describen diferentes
tipos de seguridad del Sistema Operativo y se enumeran desde el mínimo grado de
seguridad al máximo.
Estos niveles han sido la base de
desarrollo de estándares europeos (ITSEC/ITSEM) y luego internacionales
(ISO/IEC).
Cabe aclarar que cada nivel
requiere todos los niveles definidos anteriormente: así el subnivel B2 abarca
los subniveles B1, C2, C1 y el D.
·
Nivel D
Este nivel contiene sólo una división y está reservada para sistemas que han
sido evaluados y no cumplen con ninguna especificación de seguridad.
Sin sistemas no confiables, no hay protección para el hardware, el sistema
operativo es inestable y no hay autentificación con respecto a los usuarios y
sus derechos en el acceso a la información.
·
Nivel C1:
Protección Discrecional
Se requiere identificación de usuarios que permite el acceso a distinta
información. Cada usuario puede manejar su información privada y se hace la
distinción entre los usuarios y el administrador del sistema, quien tiene
control total de acceso.
Muchas de las tareas cotidianas de administración del sistema sólo pueden ser
realizadas por este "súper usuario" quien tiene gran responsabilidad
en la seguridad del mismo. Con la actual descentralización de los sistemas de
cómputos, no es raro que en una organización encontremos dos o tres personas
cumpliendo este rol. Esto es un problema, pues no hay forma de distinguir entre
los cambios que hizo cada usuario.
A continuación se enumeran los requerimientos mínimos que debe cumplir la clase
C1: Acceso de control discrecional: distinción entre usuarios y recursos. Se
podrán definir grupos de usuarios (con los mismos privilegios) y grupos de
objetos (archivos, directorios, disco) sobre los cuales podrán actuar usuarios
o grupos de ellos. Identificación y Autentificación: se requiere que un usuario
se identifique antes de comenzar a ejecutar acciones sobre el sistema. El dato
de un usuario no podrá ser accedido por un usuario sin autorización o
identificación.
·
Nivel C2:
Protección de Acceso Controlado
Este subnivel fue diseñado para solucionar las debilidades del C1. Cuenta con
características adicionales que crean un ambiente de acceso controlado. Se debe
llevar una auditoria de accesos e intentos fallidos de acceso a objetos. Tiene
la capacidad de restringir aún más el que los usuarios ejecuten ciertos
comandos o tengan acceso a ciertos archivos, permitir o denegar datos a
usuarios en concreto, con base no sólo en los permisos, sino también en los
niveles de autorización.
Requiere que se audite el sistema. La
auditoría requiere de autenticación adicional para estar seguros de que la
persona que ejecuta el comando es quien dice ser. Los usuarios de un sistema C2 tienen la
autorización para realizar algunas tareas de administración del sistema sin
necesidad de ser administradores. Permite llevar mejor cuenta de las tareas
relacionadas con la administración del sistema, ya que es cada usuario quien
ejecuta el trabajo y no el administrador del sistema.
·
Nivel B1:
Seguridad Etiquetada
Este subnivel, es el primero de los tres con que cuenta el nivel B. Soporta
seguridad multinivel, como la secreta y ultra secreta. Se establece que el
dueño del archivo no puede modificar los permisos de un objeto que está bajo
control de acceso obligatorio.
A cada objeto del sistema (usuario, dato, etc.) se le asigna una etiqueta, con
un nivel de seguridad jerárquico (alto secreto, secreto, reservado, etc.) y con
unas categorías (contabilidad, nóminas, ventas, etc.).
Cada usuario que accede a un objeto debe poseer un permiso expreso para hacerlo
y viceversa. Es decir que cada usuario tiene sus objetos asociados.
·
Nivel B2:
Protección Estructurada
Requiere que se etiquete cada objeto de nivel superior por ser padre de un
objeto inferior.
La Protección Estructurada es la primera que empieza a referirse al problema de
un objeto a un nivel más elevado de seguridad en comunicación con otro objeto a
un nivel inferior.
El sistema es capaz de alertar a los usuarios si sus condiciones de
accesibilidad y seguridad son modificadas; y el administrador es el encargado
de fijar los canales de almacenamiento y ancho de banda a utilizar por los
demás usuarios.
·
Nivel B3:
Dominios de Seguridad
Refuerza a los dominios con la instalación de hardware: por ejemplo el hardware
de administración de memoria se usa para proteger el dominio de seguridad de
acceso no autorizado a la modificación de objetos de diferentes dominios de
seguridad.
Todas las estructuras de seguridad deben ser lo suficientemente pequeñas como
para permitir análisis y testeos ante posibles violaciones.
Este nivel requiere que la terminal del usuario se conecte al sistema por medio
de una conexión segura. Además, cada usuario tiene asignado los lugares y
objetos a los que puede acceder.
·
Nivel A:
Protección Verificada
Es el nivel más elevado, incluye un proceso de diseño, control y
verificación, mediante métodos formales (matemáticos) para asegurar todos los
procesos que realiza un usuario sobre el sistema.
Para llegar a este nivel de seguridad, todos los componentes de los niveles
inferiores deben incluirse. El diseño requiere ser verificado de forma
matemática y también se deben realizar análisis de canales encubiertos y de
distribución confiable. El software y el hardware son protegidos para evitar
infiltraciones ante traslados o movimientos del equipamiento.
Kerberos
Kerberos es un protocolo de
autenticación de red. Está diseñado para proporcionar autenticación fuerte
para aplicaciones cliente / servidor mediante el uso de la criptografía de
clave secreta, que proporciona las herramientas de autenticación fuerte por la red
para ayudar a proteger sistemas de información.
Kerberos se basa en criptografía de clave simétrica y
requiere un tercero de confianza. Además, existen extensiones del
protocolo para poder utilizar criptografía de clave asimétrica.
Su funcionamiento se resume en la lista siguiente:
- Un usuario ingresa su nombre de usuario y password en el
cliente
- El cliente genera una clave hash a partir del password y la
usará como la clave secreta del cliente.
- El cliente envía un mensaje en texto plano al AS solicitando
servicio en nombre del usuario. Nota: ni la clave secreta ni el password son
enviados, solo la petición del servicio.
- El AS comprueba si el cliente está en su base de datos. Si
es así, el AS genera la clave secreta utilizando la función hash con la
password del cliente encontrada en su base de datos. Entonces envía dos
mensajes al cliente: Mensaje A: Client/TGS session key cifrada usando la clave
secreta del usuario. Mensaje B: Ticket-Granting Ticket (que incluye el ID de
cliente, la dirección de red del cliente, el período de validez y el Client/TGS
session key) cifrado usando la clave secreta del TGS.
- Una vez que el cliente ha recibido los mensajes, descifra el
mensaje A para obtener el client/TGS session key. Esta session key se usa para
las posteriores comunicaciones con el TGS. (El cliente no puede descifrar el
mensaje B pues para cifrar éste se ha usado la clave del TGS). En este momento
el cliente ya se puede autenticar contra el TGS.
- Entonces el cliente envía los siguientes mensajes al TGS: Mensaje C: Compuesto del Ticket-Granting Ticket del mensaje
B y el ID del servicio solicitado. Mensaje D: Autenticador (compuesto por el ID de cliente y
una marca de tiempo), cifrado usando el client/TGS session key.
- Cuando recibe los mensajes anteriores, el TGS descifra el
mensaje D (autenticador) usando el client/TGS session key y envía los
siguientes mensajes al cliente: Mensaje E: Client-to-server ticket (que incluye el ID de
cliente, la dirección de red del cliente, el período de validez y una
Client/Server session key) cifrado usando la clave secreta del servicio. Mensaje F: Client/server session key cifrada usando el
client/TGS session key.
- Cuando el cliente recibe los mensajes E y F, ya tiene
suficiente información para autenticarse contra el SS. El cliente se conecta al
SS y envía los siguientes mensajes: Mensaje E del paso anterior. Mensaje G: un nuevo Autenticador que incluye el ID de
cliente, una marca de tiempo y que está cifrado usando el client/server session
key.
- El SS descifra el ticket usando su propia clave secreta y
envía el siguiente mensaje al cliente para confirmar su identidad: Mensaje H: la marca de tiempo encontrada en el último
Autenticador recibido del cliente más uno, cifrado el client/server session
key.
- El cliente descifra la confirmación usando el client/server
session key y chequea si la marca de tiempo está correctamente actualizada. Si
esto es así, el cliente confiará en el servidor y podrá comenzar a usar el
servicio que este ofrece.
- El servidor provee del servicio al cliente.