Este documento describe la seguridad implementada en el Sistema de Administración de Almacén CENLEX (SAAC). SAAC permite al administrador registrar y dar de alta productos en el almacén, generar inventarios y reportes. Usa control de acceso y autenticación para proteger contra accesos no autorizados y suplantación de identidad. Implementa el algoritmo DES para cifrar la información. Estos mecanismos proveen seguridad y confianza para el cliente.
Seguridad en el Sistema de Administración de Almacén CENLEX (SAAC
1. SMART SYSTEMS
LA SEGURIDAD EN SAAC
SISTEMA DE ADMINISTRACIÓN DEL CENLEX
Alonso Ruiz Carlos Alberto
Cabrera Martínez Moisés
Flores Arriaga Luis Antonio
García Labra Abrahan Moisés
Ordoñez García Pablo
03/12/2012
INSTITUTO POLITÉCNICO NACIONAL
Centro De Estudios Científicos y Tecnológicos No. 9
“Juan de Dios Bátiz Paredes”
La finalidad de este documento es la justificación que se le da al sistema SAAC acerca de la seguridad que presenta
para garantizar al cliente la confianza que debe sentir al hacer uso del sistema.
2. LA SEGURIDAD EN EL SOFTWARE Y LA INFORMACIÓN
La seguridad en el software es la idea de la ingeniería del software para que siga funcionando correctamente bajo
algún ataque malicioso. La mayoría de los tecnólogos reconocen la importancia de este tema, pero necesitan un
poco de ayuda en la comprensión de cómo hacerle frente.
Como tal, los usuarios se han vuelto cada vez más preocupados por la integridad, la seguridad y la fiabilidad de
software comercial.
Para hacer frente a estos problemas y satisfacer las necesidades del cliente, los vendedores han realizado esfuerzos
significativos para reducir las vulnerabilidades, mejorar la resistencia a los ataques y proteger la integridad de los
productos que venden.
Cada día es menos común que una máquina trabaje aislada de todas las demás; se tiende a comunicar equipos
mediante redes locales, intranets o la propia Internet, y esta interconexión acarrea nuevas - y peligrosas - amenazas
a la seguridad de los equipos, peligros que hasta el momento de la conexión no se suelen tener en cuenta.
Actualmente, con la llegada de la computadora personal y la información de manera digital, se presentan problemas
distintos de atentados contra la seguridad, clasificados en:
Amenaza: Una posibilidad de violación de la seguridad, que existe cuando se da una circunstancia, capacidad, acción
o evento que pudiera romper la seguridad y causar perjuicios.
Ataque: Un asalto a la seguridad del sistema derivado de una amenaza inteligente; es decir, un acto inteligente y
deliberado para eludir los servicios de seguridad y violar la política de seguridad de un sistema. (Stallings, 2004)
Para contrarrestar estos ataques, se cuentan con servicios y mecanismos de seguridad.
Dentro los ataques activos 1 la suplantación de identidad es uno de los más peligrosos, y se produce cuando una
entidad finge ser otra, por esta razón el sistema debe contar con algún servicio deautenticidad que consiste en que la
información provenga de quien realmente dice provenir.
Los servicios de seguridad son un conjunto de mecanismos funcionando coordinadamente para satisfacer las
necesidades de seguridad.
La mayoría de los servicios de seguridad incluyen el mecanismo de cifrado, lo cual quiere decir que al cifrar la
información, se cubre una gran parte de la seguridad en un sistema. El cifrado, se divide en dos, el cifrado simétrico y
el cifrado asimétrico. La diferencia entre estos dos, radica en el número de claves, el simétrico utiliza solo una clave,
denominada clave secreta, por su lado el cifrado asimétrico usa una clave pública y una privada.
El cifrado simétrico, también conocido como cifrado convencional, de clave secreta o de clave única, era el único que
se usaba antes del desarrollo del cifrado de clave pública a finales de los 70’s.
Cada vez más, se desarrollan aplicaciones Web que involucran información de carácter confidencial y que requieren
mecanismos 2de seguridad que garanticen que dicha información no será modificada, sustraída o falsificada por
personas ajenas. Esto es, un sistema Web debe garantizar la autenticidad, integridad y confidencialidad de toda la
información involucrada en el sistema.
En la medida en que las aplicaciones Web críticas (que involucren información confidencial) se consideren seguras,
los usuarios harán un mayor uso de ellas, sin el temor de que la información que están proporcionando va a ser
utilizada de forma ilícita.
Intentan alterar los recursos del sistema o afectar su comportamiento.
1
2
Un mecanismo de seguridad es aquél que está diseñado para detectar un ataque a la seguridad, prevenirlo o
restablecerse de él. (Stallings, 2004)
3. LA SEGURIDAD DENTRO DE SAAC (SISTEMA DE ADMINISTRACIÓN DE ALMACÉN CENLEX)
El sistema SAAC consiste en la administración de productos de almacén por parte de un administrador, el
cual podrá registrar entrada de productos, darlos de alta, e incluso modificarlos. A parte de que cuenta con
la opción de generar un inventario (anual) y un informe (fechas específicas) sobre dichos productos. Por
otro lado al sistema podrán ingresar 2 usuarios, el administrador y el supervisor, quien podrá observar los
movimientos que haya habido en el almacén, información del mismo y es el encargado de aceptar o
denegar pedidos por parte de un usuario, este usuario tiene la posibilidad de realizar un pedido al almacén.
Algunas de las amenazas a las que se expone nuestro sistema son:
Accesos no autorizados al sistema: un usuario externo puede intentar conseguir privilegios que no
le corresponden.
Una persona externa al sistema puede lanzar un ataque de negación de servicio, en nuestro caso un
pedido del catálogo del almacén.
Dentro de la clasificación de los ataques a un sistema, un ataque al que se enfrenta nuestro sistema es el
ataque pasivo3, que consta de la obtención del mensaje, ya que un usuario externo podría ver el formato
de una solicitud de pedido al almacén.
(Stallings, 2004)
Referente a los ataques activos, la suplantación de identidad es la más peligrosa, y nos enfocamos a que
determinada persona podría hacerse pasar por otra, en nuestro sistema el supervisor de almacén puede
fingir ser el administrador del almacén.
Por otro lado nuestro sistema también se expone a la repetición, otro tipo de ataque activo, dado que un
agente externo puede capturar una unidad de datos y su retransmisión posterior, en este caso un pedido al
almacén, el cual pudiera ser renviado varias veces por una persona.
Así mismo puede que haya una modificación del mensaje por parte de un tercero, es decir, una parte del
mensaje es alterada, en nuestro caso la tercera persona puede cambiar el estado de “rechazado” a
“aceptado” de algún pedido hacia el almacén.
Considerando estos riesgos a los cuales se somete el sistema, y en conjunto con los mecanismos de
seguridad, cifrado y notarización, hemos podido implementarlos siguientes servicios de seguridad y los
respectivos mecanismos de seguridad:
Control de Acceso:
o Control de acceso. Decidimos utilizar este mecanismo ya que en el CENLEX, lugar donde operará
nuestro sistema, existen 2 usuarios que tendrán acceso al software, el administrador del almacén y
la supervisora del mismo, aparte de que el administrador cuenta con varias personas que le ayudan
en el almacén; por esta razón será necesario un control de acceso, el cual hemos implementado a
través de un inicio de sesión que verificará qué persona está accedido al sistema y de esta forma se
le otorgarán distintos privilegios a la persona que haya ingresado.
Autentificación de entidades Origen/destino
o Intercambio de autentificación: nuestro sistema comprueba la identidad del usuario al momento de
registrarse en el inicio de sesión y los datos que haya ingresado se verifican en nuestra base de
datos, donde están almacenados los nombres y contraseñas de cada usuario que el supervisor haya
agregado, de esta forma los datos que la persona haya introducido deben coincidir con los
almacenados en nuestra base de datos.
3
Los ataques pasivos se dan en forma de escucha o de observación no autorizadas de las transmisiones.
4. Notarización:
Al momento de realizar un pedido hacia el almacén, una tercera parte tendrá que avalar dicho
pedido en una parte determinada del software, de esta forma el intercambio de información entre
el usuario general y el almacén se ve supervisada y es aprobada o rechazada por un tercero, con el
fin de mantener la integridad de los datos enviados.
(Stallings, 2004)
Finalmente en la parte del cifrado, implementamos el algoritmoDES, principalmente por ser un algoritmo
de cifrado estudiado en clase, no es muy complejo, y cubre las necesidades que el cliente requiere
respecto a seguridad, ya que cumple con las funciones del mecanismo de seguridad Cifrado.
Algoritmo DES
“DES (Data Encryption Standard, estándar de cifrado de datos) es un algoritmo desarrollado originalmente
por IBM a requerimiento del NBS (National Bureau of Standards, Oficina Nacional de Estandarización, en la
actualidad denominado NIST, NationalInstitute of Standards and Technology, Instituto Nacional de
Estandarización y Tecnología) de EE.UU. y posteriormente modificado y adoptado por el gobierno de
EE.UU. En 1977 como estándar de cifrado de todas las informaciones sensibles no clasificadas.
Posteriormente, en 1980, el NIST estandarizó los diferentes modos de operación del algoritmo. Es el más
estudiado y utilizado de los algoritmos de clave simétrica.” (Arriazu, 1999)
El nombre original usado por IBM era Lucifer, este trabajaba con bloques de 128 bits, teniendo la clave
igual de longitud y se basaba en operaciones lógicas booleanas. Tiempo después la NBS implemento
reducciones en los bloques y claves, actualmente el DES cifra bloques de 64 bits, incluyendo permutación,
sustitución y usando una clave de 64 bits, de los que 8 son de paridad (es decir que usa 56 bits),
produciendo así 64 bits cifrados.
DES tiene 19 etapas diferentes.
5. Viendo el esquema general del algoritmo DES, podemos decir, que al texto plano (separado previamente
en bloques de 64) pasa por una caja de permutación inicial, de nombre IP donde se divide en R0, y L0, en
paralelo, se calculan las calves, la clave de 64bits se reduce a 56 por una caja de permutación PC-1, se rota
a la izquierda según la calve que se quiera calcular, después se permuta con una PC-2. Teniendo K1, se le
aplica al texto, siguiendo la estructura Feistel con 16 rondas, (es decir, teniendo 16 claves), después, se
intercambian posiciones R0 y L0, se introducen en una caja de permutación fina, (IP^-1) y el texto esta
cifrado, para descifrar, se debe repetir el mismo proceso, pero aplicando las claves desde K16, hasta K1.
“La función f de la red de Feistel se compone de una permutación de expansión (E), que convierte el
bloque correspondiente de 32 bits en uno de 48. Después realiza una or-exclusiva con el valor Ki, también
de 48 bits, aplica ocho S-Cajas de 6*4 bits, y efectúa una nueva permutación (P).” (Arriazu, 1999)
¿Por qué el DES es seguro?
“Con una clave de 56 bits, hay claves posibles, que aproximadamente es claves. Por este
motivo no parece práctico un ataque de fuerza bruta. Suponiendo que, en promedio, se tiene que intentar
la mitad del espacio de claves, una única maquina que realice un cifrado DES por microsegundo tardaría
mas de mil años en romper el cifrado.” (Stallings, 2004)
La confianza del cliente hacia SAAC
Nuestro sistema está expuesto a muy pocas amenazas y ataques dentro de la institución CENLEX, sin
embargo esto no implica que no se implementen mecanismos y servicios de seguridad en el sistema, ya
que lo más importante es que el usuario se sienta seguro de usar nuestro software, por esta razón hicimos
uso de distintos servicios de seguridad, entre ellos el control de acceso al sistema y la autentificación de
entidades Origen/destino, de esta forma se prevén distintas amenazas y se protege contra diversos
ataques al sistema.
6. El usuario para el que se realizo SAAC es el administrador del almacén, nosotros le garantizamos que la
información que él vaya almacenando en el sistema esté lo más protegida posible con algunos servicios de
seguridad y un mecanismo de cifrado (DES). El administrador hizo mención de que no toda la información
sobre los productos del almacén debe ser visualizada por otros usuarios, así pues el sistema cuenta con un
control de acceso que determina los distintos privilegios que le serán otorgados a aquellos que ingresen a
SAAC.
Trabajos citados
Arriazu, J. S. (1999). Descripción del algoritmo DES.
Stallings, W. (2004). Fundamentos de Seguridad en Redes - Aplicaciones y Estándares. Madrid: PEARSON EDUCATION.