Universidad Tecnológica Y Politécnica De La Sierra De Guerrero
Ingeniería En Desarrollo Y Gestión De Software
Tercer Cuatrimestre
Materia: Base De datos
Tema: Seguridad en Bases de Datos
Grupo: 2
Docente: Osvaldo Gonzalez Diaz
Alumno: Efren Jimenez Diaz
Lugar: Tlacotepec
15 De agosto Del 2023
Cifrado en bases de datos Cifrado: 1. Cifrado Simétrico: Qué es: El cifrado simétrico utiliza una sola clave para tanto el cifrado como el descifrado de los datos. Tanto el remitente como el receptor deben conocer la misma clave. Características: Eficiente para el cifrado y descifrado de grandes cantidades de datos. Rápido y adecuado para aplicaciones que requieren alto rendimiento. Requiere una gestión segura de la clave compartida. 2. Cifrado Asimétrico: Qué es: En el cifrado asimétrico, se utiliza un par de claves: una clave pública para cifrar los datos y una clave privada para descifrarlos. La clave privada se mantiene en secreto, mientras que la clave pública se puede compartir ampliamente. Características: Proporciona un mecanismo seguro para compartir información confidencial sin compartir la clave privada. Más lento que el cifrado simétrico debido a operaciones matemáticas más complejas. Utilizado para autenticación, firma digital y establecimiento de comunicaciones seguras. Codificación: 1. Codificación Base64: Qué es: La codificación Base64 convierte datos binarios en una cadena de caracteres legibles para su transmisión a través de protocolos que solo admiten texto. Características: No es un método de cifrado; la conversión puede revertirse fácilmente. Utilizado para codificar imágenes, archivos adjuntos y otros tipos de datos binarios en formatos de correo electrónico y en la web. 2. Codificación UTF-8: Qué es: UTF-8 (Unicode Transformation Format 8-bit) es un esquema de codificación de caracteres Unicode que permite representar una amplia variedad de lenguajes y símbolos. Características: Admite caracteres de diferentes lenguajes y caracteres especiales. Es compatible con ASCII y es ampliamente utilizado en aplicaciones web y sistemas multilingües. 3. Codificación URL: Qué es: La codificación URL convierte caracteres no permitidos en URLs en secuencias de escape que puedan ser interpretadas por los navegadores y servidores web. Características: Evita problemas al transmitir caracteres especiales en URLs, como espacios o caracteres no ASCII. El símbolo "%" seguido de dos dígitos hexadecimales representa el carácter en la codificación URL. 4. Codificación HTML: Qué es: La codificación HTML convierte caracteres especiales en entidades HTML para que sean correctamente interpretados por los navegadores. Características: Evita que los caracteres especiales sean confundidos con etiquetas o códigos HTML. Por ejemplo, "<" se usa para representar el símbolo "<" en HTML.
Seguridad en la interacción Aplicación - Base de Datos
Cifrado: 1. Cifrado de Datos en Reposo: Qué es: Se refiere a cifrar los datos almacenados en la base de datos para protegerlos cuando están en reposo. Ventajas: Asegura que incluso si un atacante accede a la base de datos, los datos estarán en forma cifrada y serán incomprensibles sin la clave adecuada. Implementación: Utiliza cifrado simétrico o asimétrico para cifrar campos sensibles en la base de datos, como contraseñas o información personal. Codificación: 1. Parámetros de Consulta Codificados: Qué es: Codifica los parámetros de las consultas SQL para prevenir la inyección de SQL, una vulnerabilidad común. Ventajas: Evita que los atacantes inserten comandos SQL maliciosos en las consultas para manipular la base de datos. Implementación: Utiliza funciones proporcionadas por el lenguaje de programación o marcos de desarrollo para codificar los parámetros antes de enviarlos a la base de datos. 2. Codificación en la Transmisión de Datos: Qué es: Codifica los datos antes de enviarlos a través de la red. Ventajas: Protege los datos en tránsito de ser interceptados y entendidos por terceros no autorizados. Implementación: Utiliza protocolos seguros como HTTPS para cifrar la comunicación entre la aplicación y la base de datos. 3. Codificación de Contraseñas: Qué es: Almacena las contraseñas de forma segura utilizando algoritmos de hash y salting. Ventajas: Evita que las contraseñas sean almacenadas en forma legible y protege a los usuarios en caso de que se revele la base de datos. Implementación: Usa funciones hash seguras como bcrypt o Argon2 para almacenar contraseñas, y agrega una "sal" única a cada contraseña antes de aplicar el hash. 4. Codificación de Resultados de Consulta: Qué es: Codifica los resultados de la consulta antes de mostrarlos en la interfaz de usuario. Ventajas: Previene ataques de cross-site scripting (XSS) al asegurarse de que los datos enviados desde la base de datos no se interpreten como código malicioso en la interfaz. Implementación: Utiliza funciones de codificación HTML o escapes de caracteres para asegurar que los datos mostrados sean seguros. Gestión de privilegios de acceso a Bases de Datos 1. SELECT: Qué es: Permite a los usuarios recuperar (consultar) datos de tablas y vistas en la base de datos. Uso típico: Usado para consultar información sin la capacidad de modificar o eliminar datos. 2. INSERT: Qué es: Permite a los usuarios insertar nuevos registros en una tabla. Uso típico: Otorgado a aplicaciones o usuarios que necesitan agregar datos a la base de datos. 3. UPDATE: Qué es: Permite a los usuarios modificar los datos existentes en una tabla. Uso típico: Concedido a usuarios que necesitan actualizar registros. 4. DELETE: Qué es: Permite a los usuarios eliminar registros de una tabla. Uso típico: Usado con precaución y generalmente otorgado solo a usuarios con la necesidad de eliminar datos. 5. CREATE: Qué es: Permite a los usuarios crear objetos, como tablas, vistas y procedimientos almacenados, en la base de datos. Uso típico: Otorgado a administradores y desarrolladores para crear y gestionar estructuras de datos. 6. ALTER: Qué es: Permite a los usuarios modificar objetos existentes, como añadir o eliminar columnas de una tabla. Uso típico: Usado por administradores y desarrolladores para realizar cambios en la estructura de la base de datos. 7. DROP: Qué es: Permite a los usuarios eliminar objetos, como tablas o vistas, de la base de datos. Uso típico: Usado con precaución y generalmente limitado a roles administrativos. 8. GRANT: Qué es: Permite a los usuarios otorgar privilegios a otros usuarios o roles. Uso típico: Utilizado por administradores para gestionar los permisos y accesos. 9. REVOKE: Qué es: Permite a los usuarios revocar (retirar) privilegios previamente otorgados a otros usuarios o roles. Uso típico: Utilizado para ajustar los permisos según las necesidades cambiantes. 10. REFERENCES: Qué es: Permite a los usuarios definir claves foráneas (foreign keys) en tablas. Uso típico: Usado por desarrolladores para mantener la integridad referencial entre tablas.