🔒 Registro cerrado · Apertura oficial próximamente · Acceso exclusivo para alumnos activos
Iniciar SesiónCifrado de campos, contexto y búsqueda
4 tareas · 40 min · Principiante
Cifrar un campo en la aplicación resuelve el problema de la persona administradora de la base, pero abre otros dos. El primero, que un texto cifrado válido se puede copiar de una fila a otra y la aplicación lo descifra sin protestar. El segundo, que una columna cifrada ya no se puede buscar como una columna normal, y la prisa por buscar lleva a atajos que devuelven la información que el cifrado quería ocultar. Carreto Pagos te entrega el esquema de sus ocho columnas cifradas y el diseño de sus tres búsquedas.
Objetivo de la sala
Cifrar un campo en la aplicación resuelve el problema de la persona administradora de la base, pero abre otros dos. El primero, que un texto cifrado válido se puede copiar de una fila a otra y la aplicación lo descifra sin protestar. El segundo, que una columna cifrada ya no se puede buscar como una columna normal, y la prisa por buscar lleva a atajos que devuelven la información que el cifrado quería ocultar. Carreto Pagos te entrega el esquema de sus ocho columnas cifradas y el diseño de sus tres búsquedas.Un modo autenticado como GCM comprueba que el texto cifrado no se alteró, pero no sabe de dónde salió. Si la cuenta bancaria de un comercio y la del comercio de al lado están cifradas con la misma clave, intercambiar los dos textos cifrados produce dos textos válidos: la aplicación los descifra y muestra la cuenta equivocada, sin ningún error. El modo autenticado admite un dato asociado, que no se cifra pero sí se autentica. Si ahí se escribe la tabla y el identificador de fila, un texto cifrado movido a otra fila falla al descifrar.
Abre el laboratorio y mira la columna que dice a qué se liga cada texto cifrado.
Responde para continuar
¿Para qué sirve ligar el texto cifrado a la tabla y a la fila mediante el dato asociado?
Ver pista de ayuda
Piensa en qué ocurre hoy si alguien con acceso de escritura a la base intercambia dos valores cifrados.
Para encontrar «los pagos de esta cédula» sin descifrar toda la tabla, la aplicación guarda junto a la fila un valor derivado del dato, que se calcula igual al buscar. Si ese valor es un hash simple, sin clave, cualquiera con la tabla puede calcular el hash de cada valor posible y compararlo: cuando el espacio de valores es pequeño o previsible, como los correos de una lista filtrada, el hash equivale a dejar el dato a la vista. El diseño correcto usa un HMAC con una clave que solo conoce la aplicación, distinta de la que cifra el campo.
La tabla de búsquedas dice cómo se resuelve cada consulta. Encuentra la columna cuyo índice se podría reconstruir sin ninguna clave.
Responde para continuar
¿Qué columna busca por un hash sin clave guardado junto a la fila? Escribe su id de la tabla de columnas cifradas.
Formato esperado: CLM-__
Ver pista de ayuda
Cruza la tabla de búsquedas con la de columnas cifradas; la columna se llama igual en ambas.
Hay tres maneras habituales de permitir la búsqueda. La primera, el hash simple, ya vimos que expone el dato cuando el espacio es pequeño. La segunda, el cifrado determinista, produce siempre el mismo texto cifrado para el mismo valor: permite buscar por igualdad directamente, pero revela qué filas comparten el mismo valor y cuántas veces se repite. La tercera, el índice ciego con HMAC y clave aparte, permite buscar por igualdad exacta y no revela nada a quien no tenga esa clave, a costa de no admitir búsquedas por prefijo ni por rango.
La decisión es siempre un intercambio, y se justifica con lo que la columna necesita: igualdad exacta o algo más.
Responde para continuar
Una columna solo se consulta por igualdad exacta y su espacio de valores es pequeño. ¿Qué diseño de búsqueda es el más prudente?
Ver pista de ayuda
Descarta primero lo que se puede reconstruir sin clave y lo que revela repeticiones; queda lo que depende de un secreto.
Un esquema sin autenticación, como el modo CBC a secas, cifra pero no detecta cambios, algo que ya estudiaste en el módulo de cifrado simétrico. Aquí no se trata de explicarlo otra vez, sino de medirlo: en un esquema real conviven columnas viejas con columnas nuevas, y el informe necesita el número de columnas que aún no comprueban integridad.
Cuenta con la consulta que filtra por autenticación y escribe el número.
Responde para continuar
¿Cuántas de las ocho columnas cifradas no comprueban integridad al descifrar? Escribe el número.
Formato esperado: _
Ver pista de ayuda
Filtra la tabla de columnas cifradas por la columna «autenticado» con valor «no» y cuenta las filas.
Whoami-Labs Pro
Whoami-Labs Pro utiliza cookies
Utilizamos cookies y almacenamiento local para el funcionamiento del sitio, seguridad de sesión y, si lo autorizas, analítica y marketing. Puedes aceptar, rechazar o personalizar. Política de Privacidad
Preferencias
Configuraciones de cookies
Elige qué categorías permitir. Las esenciales siempre están activas. Consulta la Política de Privacidad.
Esenciales
Siempre activas · sesión, CSRF, tema y esta preferencia
Necesarias para iniciar sesión, proteger formularios (CSRF) y recordar tu elección de cookies y tema. Sin ellas la plataforma no funciona de forma segura.
Analíticos
Hoy no activos en la plataforma; listos para cuando se conecten
Nos ayudan a entender uso de cursos y páginas. Si los activas, se usarán cuando conectemos analítica; hasta entonces no se carga ningún tracker.
Marketing
Hoy no activos; campañas futuras solo con tu permiso
Comunicaciones o campañas. No activos hoy en la plataforma; quedarán listos si los conectamos y solo si los permites.