Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
6.8 Cifrado.
***********************************************************************************
PROTECCIÓN Y SEGURIDAD.
La seguridad de un sistema tiene múltiples facetas, desde la protección ante posibles daños
físicos de los datos (fuego, terremotos, etc.) hasta el acceso indebido a los mismos (intrusos, fallos de
confidencialidad, etc.).
La protección, consiste en evitar que se haga un uso indebido de los recursos que están dentro
del ámbito del sistema operativo. Es necesario comprobar que los recursos (archivos, zonas de
memoria, etc.) solo se usan por aquellos usuarios que tienen derechos de acceso.
El sistema operativo debe proporcionar los medios para implementar políticas de protección
deseadas por el usuario.
La seguridad de un sistema operativo se basa principalmente en tres aspectos de diseño:
La pérdida de datos puede deberse a catástrofes naturales o artificiales, a errores del hardware o
del software de la computadora (rotura de un disco) o a errores humanos. Una solución para estos
problemas es hacer que los administradores del sistema mantengan varias copias de los datos
almacenados en distintos lugares.
En el ámbito interno del sistema operativo hay operaciones que pueden violar la
confidencialidad de los datos. Una simple asignación de bloque de disco libre a un usuario le
proporcionará el bloque con el contenido del usuario anterior si el sistema operativo no tiene una
política definida para este tipo de situaciones. En estos casos, siempre hay que limpiar los recursos de
los datos anteriormente existentes.
En cuanto al control del acceso a datos y recursos, es necesario asegurar que los usuarios no
acceden archivos para los que no tienen permisos de acceso, a cuentas de otros usuarios o páginas de
memoria o bloques de disco que contienen información de otros usuarios.
Un sistema operativo puede dar soporte de ejecución a múltiples procesos de múltiples usuarios,
que ejecutan de manera concurrente. Por ello, una de las funciones principales del sistema operativo es
proteger los recursos de cada usuario para que pueda ejecutar en un entorno seguro. Donde los
mecanismos permiten controlar el acceso a los objetos del sistema permitiéndolo o denegándolo sobre
la base de información tal como la identificación del usuario, el tipo de recurso, la pertenencia del
usuario a cierto grupo de personas, las operaciones que puede ,hacer el usuario o el grupo con cada
recurso, etc. La existencia de los mecanismos de seguridad obliga a mantener un compromiso constante
entre separación y comparación. [2]
Autenticación de usuarios.
Pedir información que solo él conoce a través de contraseñas, juegos de preguntas o algoritmos
de identificación.
Determinar características físicas del usuario tales como la pupila, la huella dactilar, el DNA, la
firma y etc.
Pedir un objeto que use el usuario, como puede ser una firma electrónica, unatarjeta con banda
magnética o con un chip.
Además, como criterio general de seguridad, los sistemas operativos modernos dan la
posibilidad de registrar todos los accesos al sistema, lo cual permite hacer controles interactivos ya
posteriori de dichos accesos.
El proceso de autenticación:
Habitualmente, cuando un usuario quiere acceder al sistema, aparece una pantalla o mensaje de
entrada. En el caso de Windows NT, la pantalla pide tres valores:
Existen varios fallos posibles en el proceso de entrada al sistema, por lo que este proceso debe
ser robusto y no dar información a los intrusos. Donde un ataque a la seguridad del sistema relacionado
con el proceso de autenticación consiste en suplantar al proceso que pide los datos de entrada.
El método más usado actualmente para identificar a un usuario es el de contraseñas, o palabras claves.
Este sistema es sencillo de implementar y de usar, funcionando de forma similar en todos los
sistemas operativos. Sin embrago es necesario tomar las siguientes cuatro decisiones básicas de diseño
para un sistema como este:
Asignación de claves:
La palabra clave es fijada por el usuario cuando entra en su cuenta y la puede cambiar tantas
veces como quiera.
Almacenamiento de claves:
Las claves suelen almacenarse en archivos cifrados, con lo cual se incrementa la seguridad.
Dominios de protección.
Para poder implementar mecanismos de protección sobre los objetos del sistema, que pueden
ser hardware (UCP, memoria, etc.) o software (procesos, archivos, semáforos, etc.), es necesario en
primer lugar disponer de identificadores únicos de usuarios y objetos.
Matrices de protección.
La relación entre dominios y objetos se puede definir de forma completa mediante 6ba matriz
de protección, también denominada de acceso. Los dominios de protección son las filas de la matriz y
los objetos son las columnas de la misma. El elemento (i, j) expresa las operaciones que el dominio i ;
puede ejecutar sobre el objeto j. Si la matriz de protección esta completamente definida, los
mecanismos de protección pueden saber siempre qué hacer cuando un proceso de un dominio solicita
determinada operación sobre un objeto.
El modelo de matriz de protección, derivado del modelo teórico HRU punto devista conceptual,
pero tiene inconvenientes para su implementación:
Para resolver estos problemas, la mayoría de los sistemas operativos implementan la matriz
mediante estructuras dinámicas de datos (listas) a las que se puede añadir o quitar elementos sin tener
que redefinir ninguna estructura de datos del sistema operativo. Para la implementación de la matriz
mediante elementos dinámicos, los sistemas operativos usan dos enfoques:
Almacenar la matriz por columnas, con una lista por objeto que especifica qué operaciones
puede hacer cada dominio sobre ese objeto. La lista resultante se denomina lista de control de acceso
(ACL, Acces Control List).
Almacenar la matriz por filas, con una lista por dominio que especifique qué operaciones se
pueden hacer sobre un objeto cuando se pertenece a ese dominio. La lista resultante se denomina lista
de capacidades (capabilities).
Cuando un usuario pide acceso a un objeto, se determina a qué dominio de protección pertenece
y se recorre la lista para ver si se puede hacer la operación solicitada.
La lista de control de acceso se corresponde directamente con las necesidades de los usuarios.
En UNIX, solo existen tres dominios de protección: dueño, grupo, otros. Para cada dominio se
permiten tres tipos de operaciones sobre un objeto: leer (r), escribir (w) y ejecutar (x). Todas las
operaciones de interfaz Con el sistema operativo, estos permisos se indican Con números en octal. Se
usa un digito para cada dominio y el valor de loS bits de cada digito se pone a 1 si la operación es
posible a 0 si no lo es.
Los parámetros de protección de un objeto se pueden cambiar en UNIX mediante las llamadas
al sistema chmod y chown.
Todos los objetos de Windows NT tienen asignados descriptores de seguridad como parte de
sus fichas de acceso. La parte mas significativa de los descriptores de seguridad es la lista de control de
accesos.
Cada entrada de la ACL contiene los descriptores de seguridad de los distintos dominios del
sistema y los derechos de la ACL para permitir o denegar al acceso alobjeto.
Si no proporciona una ACL de forma explicita, pero el objeto tiene un nombre, el sistema
comprueba si el objeto debe heredar la de los objetos de su directorio. En ese caso se incluye en la fila
de acceso del objeto la ACL heredada de los objetos de su directorio.
Si ninguna de las dos condiciones anteriores se cumplen, el 'subsistema de seguridad aplica al objeto
una ACL por defecto.
Además, en los descriptores de seguridad de los objetos se puede activar un campo de auditoria
que indica al subsistema de seguridad que debe espiar al objeto y generar informes de seguridad cuando
algún usuario intente hacer un uso incorrecto del mismo.
Capacidades
La mayoría de los sistemas que usan capacidades se basan en el hecho de que las listas de
capacidades están siempre dentro del espacio de memoria del sistema operativo, sin que exista
posibilidad de migrar a espacio de memoria de los procesos de usuario.
Una capacidad no pueda ser modificada. En casi todos los sistemas es necesario destruirla y
crear una nueva, siguiendo un esquema de uso de una única vez.
A nivel interno se han propuesto tres métodos para proteger las listas de capacidades:
Las capacidades no se corresponden directamente con las necesidades de los usuarios y son
menos intuitivas que las ACL. Debido a ello, la mayoría de los sistemas operativos proporcionan ACL
como mecanismo de protección. Sin embargo, las capacidades tienen varias ventajas:
Son muy útiles para incluir información de protección para un proceso en particular.
El mecanismo de comprobación de derecho es muy sencillo.
Se adaptan muy bien a sistemas distribuidos.
Su gran desventaja sigue siendo que la revocación de accesos a un objeto puede ser ineficiente
si se desea hacerla con criterios de selectividad entre dominios o para revocar derechos parciales.
El principal problema de las capacidades es que, en un sistema dinámico, pueden existir cientos
de capacidades concedidas para acceder a un objeto, lo que hace muy difícil su control. Por lo cual,
revocar los derechos de acceso para un objeto en particular es muy difícil, ya que el sistema debe
buscar todas las capacidades existentes sobre el mismo para aplicar la revocación de derechos.
Control de acceso que hace referencia a las caracteristicas de seguridad que controlan quien
puede obtener acceso a los recursos de un sistema operativo. Las aplicaciones llaman a las funciones de
control de acceso para establecer quien puede obtener acceso a los recursos especificos o controlar el
acceso a los recursos proporcionados por la aplicacion.
Un sistema de proteccion debera tener la flexibilidad suficiente para poder imponer una
diversidad de politicas y mecanismos.
Existen varios mecanismos que pueden usarse para asegurar los archivos, segmentos de
memoria, CPU, y otros recursos administrados por el Sistema Operativo.
Por ejemplo, el direccionamiento de memoria asegura que unos procesos puedan ejecutarse solo
dentro de sus propios espacios de direccion. El timer asegura que los procesos no obtengan el control
de la CPU en forma indefinida.
Hay importantes razones para proveer proteccion. La mas obvia es la necesidad de prevenirse
de violaciones intencionales de acceso por un usuario. Otras de importancia son, la necesidad de
asegurar que cada componente de un programa, use solo los recursos del sistema de acuerdo con las
politicas fijadas para el uso de esos recursos.
Mecanismos y Politicas
Las politicas son diversas, dependen de la aplicacion y pueden estar sujetas a cambios a lo largo
del tiempo.
Dentro de las funciones del sistema de proteccion del sistema operativo encontramos:
Un modelo de protección puede ser visto abstractamente como una matriz, llamada matriz de
derecho. Los renglones de la matriz representan dominios y las columnas representan objetos. Cada
entrada en la matriz contiene un conjunto de derechos de acceso. Dado que los objetos son definidos
explícitamente por la columna, se puede omitir el nombre del objeto en el derecho de acceso. La
entrada "Matriz[i, j]" define el conjunto de operaciones que un proceso ejecutándose en el dominio "D j"
puede realizar sobre el objeto "Oj".
Hay 4 dominios y 5 objetos: 3 Archivos ("A1", "A2", "A3") 1 Puerto Serial y 1 impresora.
Cuando un proceso se ejecuta en O1, puede leer los archivos "A1" y "A3".
Un proceso ejecutándose en el dominio "D4" tiene los mismos privilegios que en "D1", pero
además puede escribir en los archivos. Nótese que en el puerto serial y la impresora solo se pueden ser
ejecutados por procesos del dominio "D2".
En este caso estará indicado el derecho copia añadiendo el signo (+) al nombre de los derechos
que pueden ser copiados.
En la tabla se indica que un proceso ejecutándose en el dominio 1 podrá copiar hacia cualquier
otro dominio, el derecho enviar sobre el objeto "COM1" y que un proceso ejecutándose en el dominio
"D2" podrá copiar el derecho "Leer" hacia cualquier otro dominio sobre el objeto "Archivo2".
De esta manera, en algún momento posterior, la situación de la tabla podría ser la siguiente:
En la que se ha copiado el derecho "Enviar" del dominio "D1" al dominio "D4" sobre el objeto
"COM1" y se ha copiado el derecho "Leer" del dominio "D2" al dominio "D1" sobre el objeto
"Archivo 2".
Puede observarse que los derechos "copiados" no contienen el signo (+), o sea, se ha realizado
una copia limitada. En general se podría hablar de 3 variantes del derecho "copia": Copia Limitada,
Copia Completa, Translación.
COPIA LIMITADA. La copia no incluye el derecho "Copia", con lo que no se podrán hacer
copias sucesivas del derecho. Se puede indicar con el signo (+).
COPIA COMPLETA. La copia incluye el derecho "Copia", por lo que se pueden realizar copias
sucesivas del derecho. Se puede indicar con el signo (*).
TRANSLACIÓN. El derecho en cuestión junto con el derecho copia se eliminan del dominio
original y se coloca en el nuevo dominio. Esta es una forma básica de retirar derechos de un dominio
para asignarlo a otro. Se puede indicar con el signo (?).
Derecho de acceso cambio.
Este derecho de acceso indica la posibilidad de un proceso para cambiarse de un dominio a otro.
La operación cambio actúa sobre dominios, o sea, en este caso los dominios son los objetos. Entonces,
para considerar este derecho de acceso se deberán incluir los dominios como objetos adicionales en la
matriz de acceso. Considérese la siguiente matriz de acceso:
Esta tabla indica que un proceso ejecutándose en "D1" puede cambiarse al dominio "D4" (a); un
proceso ejecutándose en "D2" puede cambiarse a "D3"(b) y un proceso ejecutándose en el dominio
"D4" puede cambiarse a "D1"(c).
Protección en java 2
A medida que ha aumentado la complejidad de los sistemas operativos, sobre todo al trata de
ofrecer interfaces de más alto nivel con el usuario, lo objetivos de la protección se han vuelto mucho
más refinados. En esta refinación observamos que los diseñadores de los diseñadores de los sistemas de
protección se han apoyado mucho en ideas que se originaron en los lenguajes de programación y
especialmente en los conceptos de tipos de datos abstractos y objetos. Los sistemas de protección ahora
se ocupan no sólo de la identidad de un recurso al cual se intenta acceder, sino también de la naturaleza
funcional de ese acceso. En los sistemas de protección más nuevos, el interés en la función que se
invocará se extiende más allá de un conjunto de funciones definidas por el sistema, como los métodos
de acceso a archivos estándar, para incluir funciones que también podrían ser definidas por el usuario.
Las políticas para el uso de recursos también podrían variar, dependiendo de la aplicación, y
podrían cambiar con el tiempo. Por estas razones, la protección ya no puede considerarse como un
asunto que sólo concierne al diseñador de un sistema operativo; también debe estar disponible como
herramienta que el diseñador de aplicaciones pueda usar para proteger los recursos de un subsistema de
aplicación contra intervenciones o errores.
Aquí es donde los lenguajes de programación entran en escena. Especificar el control de acceso
deseado a un recurso compartido en un sistema es hacer una declaración acerca del recurso. Este tipo
de declaración se puede integrar en un lenguaje mediante una extensión de su mecanismo de
tipificación. Si se declara la protección junto con la tipificación de los datos, el diseñado de cada
subsistema puede especificar sus necesidades de protección así debería darse directamente durante la
redacción del programa, y en el lenguaje en el que el programa mismo se expresa. Este enfoque tiene
varias ventajas importantes:
Las necesidades de protección se declaran de forma sencilla en vez de programarse como una
secuencia de llamadas a procedimientos de un sistema operativo.
Las necesidades de protección pueden expresarse independientemente de los recursos que
ofrezca un sistema operativo en particular.
El diseñador de un subsistema no tiene que proporcionar los mecanismos para hacer cumplir la
protección.
Una notación declarativa es natural porque los privilegios de acceso están íntimamente
relacionados con el concepto lingüístico de tipo de datos.
Hay diversas técnicas que una implementación de lenguaje de programación puede utilizar para
hacer cumplir la protección, pero cualquiera de ellas deberá depender hasta cierto punto del grado de
soporte de una máquina subyacente y su sistema operativo.
Seguridad: La obligación del cumplimiento por un núcleo ofrece un mayor grado de seguridad
del sistema de protección mismo, que el que ofrece la generación de código de verificación de
protección por un compilador. En un esquema apoyado por compilador, la seguridad depende de lo
correcto que sea el traductor, de algún mecanismo subyacente de gestión de almacenamiento que
proteja los segmentos desde los cuales se ejecuta el código compilador y, en última instancia, de la
seguridad de los archivos desde los que se carga el programa.
El uso creciente y la confianza en los computadores en todo el mundo ha hecho surgir una
preocupación legítima con respecto a la seguridad informática. El uso de los computadores ha
extendido en ambientes comerciales, gubernamentales, militares e incluso en los hogares. Grandes
cantidades de datos vitales sensibles se están confiando y almacenado cada vez más en computadores.
Entre ellos se incluyen registros sobre individuos, negocios y diferentes registros públicos y
secretos gubernamentales y militares. Grandes transacciones monetarias tienen lugar diariamente en
forma de transferencia electrónicas de fondos. Más recientemente, informaciones tales como
notificaciones de propiedad intelectual y datos comerciales estratégicos son también almacenados,
procesados y diseminados mediante computadores. Entre ellos se incluyen diseños de ventas, contratos
legales y muchos otros.
La información almacenada en el sistema, así como los recursos físicos del sistema de
computación, tienen que protegerse contra acceso no autorizado, destrucción o alteración mal
intencionado, y la introducción accidental de inconsistencia.
Para acceder a este nivel, la política de seguridad y los mecanismos de protección del sistema
deben ser verificados y certificados por un organismo autorizado para ello. Organismos de verificación
muy conocidos son el National Computer Security Center o el TEMPEST.
Clase Al. Diseño verificado. Clase B 1 mas modelo formal del sistema de seguridad. La
especificación formal del sistema debe ser probada y aprobada por un organismo certificador. Para ello
debe existir una demostración de que la especificación se corresponde con el modelo, una
implementación consistente con el mismo y un análisis formal de distintos problemas de seguridad.
Clase Ax. Desarrollo controlado. A1 más diseño con instalaciones y personal controlados. Se
podrían incluir requisitos de integridad de programas, alta disponibilidad y comunicaciones seguras.
En este nivel, los controles de acceso no son discrecionales de los usuarios o dueños de los
recursos, que deben existir obligatoriamente. Esto significa que todo objeto controlado debe tener
protección sea del tipo que sea. Este nivel se divide a su vez en tres subniveles:
Clase B1. Etiquetas de seguridad obligatorias. Cada objeto controlado debe tener su etiqueta de
seguridad.
Clase B2. Protección estructurada. Todos los objetos deben estar controlados mediante un
sistema de seguridad con diseño formal y mecanismos de verificación. Estos mecanismos permiten
probar que el sistema de seguridad se ajusta a los requisitos exigidos.
Clase B3. Dominios de seguridad. B2 ampliado con pruebas exhaustivas para evitar canales
encubiertos, trampas y penetraciones. El sistema debe ser capaz de detectar intentos de violaciones de
seguridad, para ello debe permitir la creación de listas de control de acceso para usuarios o grupos que
no tienen acceso a un objeto.
La aplicación de los mecanismos de protección depende del usuario, o usuarios, que tienen
privilegios sobre los mismos. Esto significa que un objeto puede estar disponible para lectura, escritura
o cualquier otra operación. Casi todos los sistemas operativos comerciales de propósito general, como
Unix, Linux o Windows NT se clasifican en este nivel. Este nivel a la vez se subdivide en dos niveles:
Clase CI. Control de acceso por dominios. No hay posibilidad de establecer qué elemento de un
determinado dominio ha accedido a un objeto. UNIX pertenece a esta clase. Divide a los usuarios en
tres dominios: dueño, grupo y mundo. Se aplican controles de acceso según los dominios, siendo todos
los elementos de un determinado dominio iguales ante el sistema de seguridad.
Clase C2. Control de acceso individualizado. Granularidad mucho más fina en el control de
acceso a un objeto. El sistema de seguridad debe ser capaz de controlar y registrar los accesos a cada
objeto a nivel de usuario. Windows NT pertenece a esta clase.
Deitel (1987) establece que la validación de datos es una de las áreas más importantes a tener en
cuenta, especialmente en el desarrollo de sistemas conectados a redes como internet. Validar datos hace
referencia a verificar, controlar o filtrar cada una de las entradas de datos que provienen desde el
exterior del sistema. [1]
Los sistemas sofisticados de autentificación de usuarios resultan muy difíciles de evitar por
parte de los intrusos.
Confidencialidad:
Los elementos del sistema sólo serán visibles por aquellos grupos autorizados.
Integridad:
Los elementos del sistema sólo serán modificados por los grupos autorizados.
Disponibilidad:
Los elementos del sistema sólo estarán disponibles para grupos autorizados.
Elementos amenazados:
Hardware.
Software.
Datos.
Líneas de comunicación
Elementos del sistema a los que afecta la seguridad:
Situación actual:
Heterogeneidad en la protección:
Base de computación fiable grande.
“Agujeros” por interacción no prevista entre mecanismos.
Inseguridad en distribución:
Falta de protección para interoperabilidad de objetos distribuidos.
Pocas y malas soluciones de seguridad.
Intrusos.
Programas malignos.
Intrusos:
Piratas o hackers: individuos que acceden al sistema sin autorización.
Los sistemas presentan agujeros por donde los hackers consiguen colarse.
Técnicas de intrusión:
Averiguar contraseñas (más del 80% de las contraseñas son simples).
Probar exhaustivamente.
Descifrar archivo de contraseñas.
Intervenir líneas.
Usar caballos de Troya.
Amenazas pasivas:
Revelación del contenido del mensaje.
Análisis del tráfico:
En caso de que los mensajes vayan encriptados.
Determinar las máquinas que se comunican y la frecuencia y longitud de los mensajes.
Amenazas activas:
Alteración del flujo de mensajes.
Privación del servicio:
Impide el uso normal de los servicios de comunicaciones.
Suplantación:
Cuando una entidad finge ser otra diferente.
Bomba lógica:
Se ejecutan cuando se cumplen ciertas condiciones.
Ej: se borra el disco duro si programador no estáen nómina.
Caballo de Troya:
Código dañino incrustado en programa que se ejecuta cuando se ejecuta el programa.
Gusanos:
Programas independientes.
Se reproducen a través de la red.
Además de propagarse pueden causar daños.
Bacterias:
No dañan explícitamente.
Su único objetivo es reproducirse.
Se reproducen exponencialmente agotando la capacidad del procesador.
Virus:
Código incrustado en un programa.
Se reproducen e insertan en otros programas.
Pueden causar daños.
Algoritmo de virus muy simple (tan sólo se reproduce):
Encontrar 1ª instrucción de un ejecutable del disco.
Sustituirla por salto a posición siguiente a la última instrucción.
Insertar copia del código de virus (este algoritmo) en dicha posición.
Hacer que el virus simule la instrucción sustituida por el salto.
Saltar a la segunda posición.
6.8 CIFRADO.
La criptografía (del griego κρύπτω krypto, «oculto», y γράφως graphos, «escribir», literalmente
«escritura oculta») es la técnica, bien sea aplicada al arte o la ciencia, que altera las representaciones
lingüísticas de un mensaje. [11]
Cifrado de sustitución
El cifrado de sustitución consiste en reemplazar una o más entidades (generalmente letras) de un
mensaje por una o más entidades diferentes.
La sustitución monoalfabética consiste en reemplazar cada una de las letras del mensaje por otra
letra del alfabeto.
La sustitución polialfabética consiste en utilizar una serie de cifrados monoalfabéticos que son
re-utilizados periódicamente.
La sustitución homófona hace posible que cada una de las letras del mensaje del texto plano se
corresponda con un posible grupo de caracteres distintos.
La sustitución poligráfica consiste en reemplazar un grupo de caracteres en un mensaje por otro
grupo de caracteres.
Cifrado César
Este código de cifrado es uno de los más antiguos ya que su uso se remonta a Julio César. El
principio de cifrado se basa en la adición de un valor constante a todos los caracteres de un mensaje o,
más precisamente, a su código ASCII.
Cifrado ROT 13
El caso específico del cifrado César donde la clave de cifrado es N (la 13º letra del alfabeto) se
denomina ROT 13? (se eligió el número 13, la mitad de 26, para que sea posible cifrar y descifrar
fácilmente mensajes textuales).
Cifrado de Transposición
El método de cifrado por transposición consiste en reordenar datos para cifrarlos a fin de
hacerlos ininteligibles. Esto puede significar, por ejemplo, reordenar los datos geométricamente para
hacerlos visualmente inutilizables.
El Cifrado Simétrico.
El cifrado simétrico (también conocido como cifrado de clave privada o cifrado de clave
secreta) consiste en utilizar la misma clave para el cifrado y el descifrado.
El cifrado consiste en aplicar una operación (un algoritmo) a los datos que se desea cifrar
utilizando la clave privada para hacerlos ininteligibles. El algoritmo más simple (como un OR
exclusivo) puede lograr que un sistema prácticamente a prueba de falsificaciones (asumiendo que la
seguridad absoluta no existe).
El Cifrado Asimétrico.
El cifrado asimétrico (también conocido como cifrado con clave pública). En un criptosistema
asimétrico (o criptosistema de clave pública), las claves se dan en pares:
En un sistema de cifrado con clave pública, los usuarios eligen una clave aleatoria que sólo ellos
conocen (ésta es la clave privada). A partir de esta clave, automáticamente se deduce un algoritmo (la
clave pública). Los usuarios intercambian esta clave pública mediante un canal no seguro.
Criptografía [13]
El uso creciente de las redes de computadoras y la importancia del trafico cursado hace
necesario proteger a los datos.
La Oficina Nacional de Estándares de EE. UU. (NBS) ha adoptado la norma de cifrado de datos
(DES) para la transmisión de información federal delicada.
El remitente desea transmitir cierto mensaje no cifrado (texto simple) a un receptor legítimo:
El remitente pasa el texto simple a una unidad de codificación que lo transforma en un texto
cifrado o criptograma:
Criptoanálisis
Es el proceso de intentar regenerar el texto simple a partir del texto cifrado, pero desconociendo
la clave de ciframiento:
La distribución de claves de un sistema criptográfico debe hacerse por canales muy seguros.
Los sistemas de clave pública rodean el problema de distribución de claves:
Las funciones de cifrado y descifrado están separadas y utilizan distintas claves.
No es computacionalmente posible (en un tiempo “razonable”) determinar la clave de desciframiento
“D” a partir de la clave de ciframiento “C”.
“C” puede hacerse pública sin comprometer la seguridad de “D”, que permanece privada:
Se simplifica el problema de la distribución de claves.
Firmas Digitales
Para que una firma digital sea aceptada como sustituta de una firma escrita debe ser:
Fácil de autentificar (reconocer) por cualquiera.
Producible únicamente por su autor.
El receptor:
Usa la clave pública del remitente para descifrar el mensaje.
Guarda el mensaje firmado para usarlo en caso de disputas.
Para mayor seguridad se podría actuar como sigue:
El remitente puede codificar el mensaje ya cifrado utilizando la clave pública del receptor.
La clave privada del receptor permite recuperar el mensaje cifrado firmado.
La clave pública del remitente permite recuperar el texto simple original.
Aplicaciones
En el cifrado punto a punto un mensaje se cifra en su fuente y se descifra solo una vez, en su destino:
Existen ciertas limitaciones tales como la legibilidad de la dirección de destino en cada nodo:
Debe ser legible para el encaminamiento del mensaje.
Ej.: sistemas de conmutación de paquetes de almacenamiento y reenvío con cifrado punto a
punto; en este caso la dirección de destino asociada a un paquete no puede ser cifrada.
BIBLIOGRAFÍA
Libros:
[1] H. M. Deitel. Introducción a los Sistemas Operativos. Addison-Wesley Iberoamericana, México,
1987.
Paguinas web:
[1] http://profinal0.tripod.com/seguridad.htm
[2] http://profinal0.tripod.com/concepto.htm
[3] http://sistemasoperativos.angelfire.com/html/6.2.html
[4]http://sistemas.itlp.edu.mx/tutoriales/sistemasoperativos2/unidad3.htm#IMPLANTACION%20DE%
20MATRICES%20CON%20DERECHOS%20DE%20ACCESO.
[5] http://www.itescam.edu.mx/principal/sylabus/fpdb/recursos/r43770.PDF
[6] http://www.mitecnologico.com/Main/ProteccionBasadaEnLenguaje
[7] http://www.mitecnologico.com/Main/ConceptoDeSeguridad
[8] http://profinal0.tripod.com/clasifica.htm
[9] http://www.itescam.edu.mx/principal/sylabus/fpdb/recursos/r29417.PDF
[10] http://sistemadearchivo-corral.blogspot.com/2008/11/67-validacin-y-amenazas-al-sistema.html
[11] http://es.wikipedia.org/wiki/Criptograf%C3%ADa
[12] http://www.mitecnologico.com/Main/Cifrado
[13] http://exa.unne.edu.ar/depar/areas/informatica/SistemasOperativos/SO14.htm#Crip