Función hash
Una función de hash en funcionamiento.
A las funciones hash (adopción más o menos directa del término inglés hash function) también se les
llama funciones picadillo, funciones resumen o funciones de digest (adopción más o menos directa
del término inglés equivalentedigest function)1 2 3 Una función hash H es una función computable
mediante un algoritmo,
H: U → M
x → h(x),
que tiene como entrada un conjunto de elementos, que suelen ser cadenas, y los convierte
(mapea) en un rango de salida finito, normalmente cadenas de longitud fija. Es decir, la función
actúa como una proyección del conjunto U sobre el conjunto M.
Observar que M puede ser un conjunto definido de enteros. En este caso podemos considerar
que la longitud es fija si el conjunto es un rango de números de enteros ya que podemos
considerar que la longitud fija es la del número con mayor número de cifras. Todos los números
se pueden convertir al número especificado de cifras simplemente anteponiendo ceros.
Normalmente el conjunto U tiene un número elevado de elementos y M es un conjunto
de cadenas con un número más o menos pequeño de símbolos. Por esto se dice que estas
funciones resumen datos del conjunto dominio.
La idea básica de un valor hash es que sirva como una representación compacta de
la cadena de entrada. Por esta razón decimos que estas funciones resumen datos del
conjunto dominio.
Índice
[ocultar]
1 Orígenes del término
2 Terminología asociada
3 Parámetros adicionales
o 3.1 Funciones hash con clave
4 Propiedades
o 4.1 Bajo costo
o 4.2 Compresión
o 4.3 Uniforme
o 4.4 De rango variable
o 4.5 Inyectividad. Función hash perfecta
o 4.6 Determinista
o 4.7 Propiedades para analizar la resistencia frente a colisiones
4.7.1 Resistencia a la primera imagen
4.7.2 Resistencia a la segunda preimagen
4.7.3 Resistencia a colisiones (CRHF)
4.7.4 Función hash de un solo sentido (OWHF)
4.7.5 Resistencia a la casi colisión
4.7.6 Resistencia a las preimágenes parciales
o 4.8 Con normalización de datos
o 4.9 Continuidad. Efecto avalancha
o 4.10 Resistencia a la computación de nuevos valores hash
5 Familias de funciones hash y propiedades asociadas
o 5.1 Motivación[17]
o 5.2 Concepto
o 5.3 Familia de funciones hash resistente a colisiones
5.3.1 Definición formal
o 5.4 Función hash universal
5.4.1 Definición formal[23]
o 5.5 Familia de funciones hash universal de un solo sentido
5.5.1 Definición formal
o 5.6 Comparación UOWHF y CRHF[27]
6 Funciones hash iterativas. Construcción de Merkle-Damgård
7 Aplicaciones
8 Véase también
9 Referencias
10 Enlaces externos
Orígenes del término[editar · editar código]
El término hash proviene, aparentemente, de la analogía con el significado estándar (en inglés)
de dicha palabra en el mundo real: picar y mezclar. Donald Knuth cree que H. P. Luhn,
empleado de IBM, fue el primero en utilizar el concepto en un memorándum fechado en enero
de 1953. Su utilización masiva no fue hasta después de 10 años.
Terminología asociada[editar · editar código]
Al conjunto U se le llama dominio de la función hash. A un elemento de U se le
llama preimagen o dependiendo del contexto clave o mensaje.
Al conjunto M se le llama imagen de la función hash. A un elemento de M se le llama valor
hash, código hash o simplemente hash.
Se dice que se produce una colisión cuando dos entradas distintas de la función de hash
producen la misma salida. De la definición de función hash podemos decir que U, el dominio de
la función, puede tener infinitos elementos. Sin embargo M, el rango de la función, tiene un
número finito de elementos debido a que el tamaño de sus cadenas es fijo. Por tanto la
posibilidad de existencia de colisiones es intrínseca a la definición de función hash. Una buena
función de hash es una que tiene pocas colisiones en el conjunto esperado de entrada. Es
decir, se desea que la probabilidad de colisión sea muy baja.
Parámetros adicionales[editar · editar código]
La definición formal dada, a veces se generaliza para poder aprovechar las funciones hash en
otros ámbitos. Para ello a la función hash se le añaden nuevos parámetros de forma que el
valor hash no es sólo función del contenido en sí, sino además de otros nuevos factores.
Para hallar valores hash de ficheros a veces se usan, además del contenido en sí, diversos
parámetros como el nombre del archivo, su longitud, hora de creación, etc.
Otras veces se añaden parámetros que permiten configurar el comportamiento de la función.
Por ejemplo, la función hash puede recibir como parámetro una función de generación de
valores pseudoaleatorios que es usada dentro del algoritmo de la función hash.
Otros ejemplos de parámetros son el uso de valores sal, el uso de claves secretas, el uso de
parámetros que especifican el rango de la función (funciones hash de rango variable), el uso de
parámetros que especifican el nivel de seguridad que se quiere en el valor hash de salida
(funciones hash dinámicas),....
Funciones hash con clave[editar · editar código]
Una función hash con clave HK (en inglés keyed hash function) es una función hash H que
tiene un parámetro secreto K que pertenece al conjunto posible de claves y en la que para
una entrada x, hK(x) es el valor hash de x. Al resto de funciones hash se dice que son sin
clave (en inglés unkeyed hash function).
Propiedades[editar · editar código]
La calidad de una función hash viene definida con base en la satisfacción de ciertas
propiedades deseables en el contexto en el que se va a usar.
Bajo costo[editar · editar código]
Calcular el valor hash necesita poco costo (computacional, de memoria,...).
Compresión[editar · editar código]
Una función hash comprime datos si puede mapear un dominio con datos de longitud muy
grande a datos con longitud más pequeña
Uniforme[editar · editar código]
Se dice que una función hash es uniforme cuando para una clave elegida aleatoriamente es
igualmente probable tener un valor hash determinado, independientemente de cualquier otro
elemento.
Para una función hash H uniforme del tipo H:{0,1}m→{0,1}n, es decir:
Las cadenas están construidas sobre un alfabeto de 2 símbolos (Alfabeto binario)
El dominio es el conjunto de las cadenas de longitud m
El rango es el conjunto de las cadenas de longitud n
podemos decir que a cada resumen le corresponde 2m-n mensajes y que la probabilidad de
que dos mensajes den como resultado la misma salida es 2-n
Para algoritmos de búsqueda, si todas las entradas son igualmente probables, se busca
esta propiedad para minimizar el número de colisiones ya que cuantas más colisiones
haya, será mayor el tiempo de ejecución de las búsquedas.
De rango variable[editar · editar código]
En algunas funciones hash el rango de valores hash puede ser diferente a lo largo del
tiempo. Ejemplo: Funciones hash usadas para tablas hash que necesitan expandirse. En
estos caso a la función hash se le debe pasar un parámetro que le permita saber en qué
rango se mueve la ejecución para hallar el valor hash.
Inyectividad. Función hash perfecta[editar · editar código]
Se dice que la función hash es inyectiva cuando cada dato de entrada se mapea a un valor
hash diferente. En este caso se dice que la función hash es perfecta. Para que se dé, es
necesario que la cardinalidad del conjunto dominio sea inferior o igual a la cardinalidad del
conjunto imagen. Normalmente sólo se dan funciones hash perfectas cuando las entradas
están preestablecidas. Ejemplo:Mapear los días del año en números del 1 al 366 según el
orden de aparición.
Formalización:
implica
Cuando no se cumple la propiedad de inyectividad se dice que hay colisiones. Hay
una colisión cuando y
Determinista[editar · editar código]
Una función hash se dice que es determinista cuando dada una cadena de entrada
siempre devuelve el mismo valor hash. Es decir, el valor hash es el resultado de aplicar un
algoritmo que opera sólo sobre la cadena de entrada. Ejemplos de funciones hash no-
deterministas son aquellas funciones hash que dependen de parámetros externos, tales
como generadores de números pseudoaleatorios o la fecha. Tampoco son deterministas
aquellas funciones hash que dependen de la dirección de memoria en la que está
almacenada la cadena de entrada. Esa dirección es accidental y no se considera un
cambio de la cadena entrada en sí. De hecho puede cambiar dinámicamente durante la
propia ejecución del algoritmo de la función hash.
Propiedades para analizar la resistencia frente a colisiones[editar · editar código]
El estudio de este tipo de propiedades es muy útil en el campo de la criptografía para los
llamados 'códigos de detección de modificaciones'.
Resistencia a la primera imagen[editar · editar código]
4 Se dice que una función hash tiene resistencia a la primera preimagen o simplemente
que tiene resistencia a preimagen (del inglés preimage-resistant) si dado un valor hash
y, es computacionalmente intratable encontrar un x, tal que h(x)=y.
Resistencia a la segunda preimagen[editar · editar código]
5 Se dice que una función hash tiene resistencia a la segunda preimagen (en
inglés second preimage-resistant) si dado un mensaje x, es computacionalmente
intratable encontrar un x', , tal que h(x)=h(x').
Resistencia a colisiones (CRHF)[editar · editar código]
6 Se dice que una función hash tiene resistencia a colisiones o que es resistente a
colisiones o CRHF (del inglés Collision Resistant Hash Function) si encontrar un
par con tal que es computacionalmente intratable. Es
decir, es difícil encontrar dos entradas que tengan el mismo valor hash.
Como encontrar una segunda preimagen no puede ser más fácil que encontrar una
colisión, entonces la resistencia a colisiones incluye la propiedad de resitencia a la
segunda preimagen.7 8 Por otro lado se puede decir que la mayoría de las funciones hash
CRHFs son resistentes a preimagen.9 La resistencia a colisisiones implica resistencia a
preimagen para funciones hash con salida aleatoria uniforme.10
En algunos trabajos a estas funciones se les llama funciones hash de un sólo sentido
fuertes (del inglés strong one way hash function) para resaltar que es fuerte debido a que
hay libre elección de los dos valores x e y.
Función hash de un solo sentido (OWHF)[editar · editar código]
11 Una función hash se dice que es una función hash de un solo sentido o que
es OWHF (del inglés One-Way Hash Function) si tiene las propiedades de resistencia a
preimagen y de resistencia a segunda preimagen. Es decir, es difícil encontrar una
entrada cuya hash sea un valor hash preespecificado.
Observar que es diferente a la definición general que se hace de funciones de un solo
sentido:
12 Una función se dice que es una función de un solo sentido o que es OWF si para cada x
del dominio de la función, es fácil computar f(x), pero para todo y del rango de f, es
computacionalmente intratable encontrar cualquier x tal que y=f(x).
La diferencia entre OWHF y OWF es que OWF no requiere que sea función hash ni que sea
resistente a segunda preimagen.
En algunos trabajos a estas funciones se les llama funciones hash de un sólo
sentido débiles (del inglés strong one way hash function) para resaltar que es
débil en contraste conCRHF (que es fuerte) debido a que al cumplir la propiedad
de resistencia a segunda preimagen no hay libre elección en la selección del
valor x, y por tanto del valor h(x), en el que se tiene que producir la colisión.
Resistencia a la casi colisión[editar · editar código]
13 H es resistente a la casi colisión (en inglés near-colission resistance) si es difícil
encontrar dos mensajes y con para las cuales sus
imágenes y difieran solamente en unos pocos bits.
14 Por ejemplo podemos tener una función resistente a colisiones de 256 bits que
no es resistente a la casi colisión porque se pueden encontrar casi-colisiones
para los 224 bits de más a la izquierda.
Resistencia a las preimágenes parciales[editar · editar código]
15 Una función hash tiene resistencia a preimágenes parciales (en inglés Partial-
preimage resistance) si es difícil encontrar una parte de la preimagen de un valor
hash incluso conociendo el resto de la preimagen. Es decir, se debe recurrir a la
fuerza bruta: si se desconocen t bits de la preimagen, se deben realizar en
promedio 2n-t operaciones de hash encontrarlo.
A una función hash resistente a preimágenes parciales también se le dice que
es localmente de un sólo sentido (del inglés local one-wayness).
Con normalización de datos[editar · editar código]
En algunas aplicaciones, las cadenas de entrada pueden contener características
que son irrelevantes cuando comparamos las cadenas. Por ejemplo en algunas
aplicaciones las mayúsculas pueden ser irrelevantes. Por tanto para hallar el
valor hash es interesante ignorar las distinciones no relevantes entre las cadenas
de entrada. De esta forma cadenas distintas con diferencias no relevantes, tienen
asociados valores hash iguales.
Continuidad. Efecto avalancha[editar · editar código]
Se dice que una función es continua cuando una modificación minúscula (ej un
bit) en la cadena de entrada ocasiona pequeños cambios en el valor hash.
En una función hash se dice que no hay correlación cuando los bits de las
cadenas de entrada y los bits de las cadenas de salida no están relacionados, es
decir cuando una modificación minúscula (ej un bit) en la cadena de entrada
ocasiona cambios en el valor hash comparables a un cambio de cualquier otro
tipo. Por tanto cualquier cambio en el mensaje original idealmente hace que cada
uno de cualquier bit del valor hash resultante cambie con probabilidad 0.5.
Cuando esto sucede (o casi) se dice que se produce un efecto avalancha
En funciones hash usadas para búsqueda normalmente se buscan funciones tan
continuas como sea posible; de forma que entradas que difieran un poco
deberían tener valores hash similares o iguales. Sin embargo la continuidad no es
deseable para funciones hash usadas para sumas de verificación o funciones
criptográficas por evidentes razones.
Resistencia a la computación de nuevos valores hash[editar · editar código]
16 Una función hash con clave K, se dice que tiene resistencia a la
computación de nuevos valores hash (en inglés Computation-resistance) si a
partir de un rango de pares conocidos no puede ser computado
para un nuevo dato x con para cualquier i, sin que K sea
conocida.
Observar que la propiedad anterior implica que no debería ser posible calcular K
a partir de un rango de pares conocidos . A esta propiedad se la
llama propiedad de no recuperación de clave (en inglés key non-recovery).
El estudio de este tipo de propiedades son muy útiles en el campo de
la criptografía para los llamados 'códigos de autenticación de mensajes'
Familias de funciones hash y propiedades asociadas[editar · editar código]
Motivación17 [editar · editar código]
Podríamos imaginarnos un algoritmo probabilístico de tiempo polinomial con dos
mensajes codificados en el algoritmo que dan lugar a una colisión para una
específica función hash. El algoritmo simplemente devolvería los dos mensajes
que causan la colisión. Crear tal algoritmo puede ser extremadamente difícil, pero
una vez construido podría ser ejecutado en tiempo polinomial. Sin embargo,
definiendo una familia de funciones hash como una familia infinita de funciones
hash nos impide que la búsqueda de este algoritmo tenga éxito para todas las
funciones hash de la familia, porque hay infinitas. Por tanto las familias hash nos
proporcionan un mecanismo interesante para el estudio y categorización de las
funciones hash respecto a su fortaleza frente a la búsqueda de colisiones por
parte de un adversario. Este tipo de estudios es muy útil en el campo de
la criptografía para los llamados 'códigos de detección de modificaciones'.
Concepto[editar · editar código]
Sea , el dominio de la función, sea el rango de la
función. Sea el conjunto de todas las posibles claves (teóricamente es infinito
aunque en la práctica es finito),
Una familia de funciones hash es un conjunto infinito de funciones hash de
la forma (notación equivalente ,
donde cada función de la familia es indexada por una clave que
cumple las siguientes propiedades:
es accesible, es decir hay un algoritmo probabilístico de tiempo
polinomial, que sobre una entrada devuelve una instancia
es muestreable, es decir, hay un algoritmo probabilístico de tiempo
polinomial, que selecciona uniformemente elementos de .
es computable en tiempo polinomial, es decir, hay un algoritmo de
tiempo polinomial (en l) que sobre una entrada
computa .
Ejemplo: SHA-1 es una sola instancia de función hash, no una familia. Sin
embargo SHA-1 puede ser modificado para construir una familia finita de
funciones. M. Bellare y P. Rogaway18 modificaron SHA-1 de tal forma que la
claves especifica las constantes usadas en la cuarta ronda de las funciones. En
este caso el tamaño de la clave es de 128 bits y por tanto
, y .
Observar que en la definición de una función hash el dominio se puede formalizar
como , sin embargo en una función hash definida como instancia de un
elemento de una familia de funciones hash el dominio es . Esto es debido a
que para que se cumplan las propiedades de seguridad es necesario que el
dominio sea muestreado uniformemente en tiempo polinomial. Una familia de
funciones puede siempre ser definida con aquel tamaño apropiado para
acomodar cualquier mensaje que sea necesario.
Familia de funciones hash resistente a colisiones[editar · editar código]
De forma informal una familia de funciones es familia de funciones hash
resistente a colisiones, también llamadas CRHF por sus siglas en inglés
(Collision Resistant Hash Function), dada una función escogida aleatoriamente
de la familia, un adversario es incapaz de obtener una colisión para ella.19
Definición formal[editar · editar código]
20 Se dice que una familia de funciones hash es una (t,ε)-familia hash resistente
a colisiones con la forma con n,l y k enteros
positivos y n>=l, que satisfacen la siguiente condición: Sea un buscador de
colisiones de cadenas que para un entrada K en el espacio de claves usa
tiempo y obtiene como salida , un par tal
que . Para cada ,
.
Observar que la probabilidad es tomada sobre las elecciones aleatorias
de .
Mirando esta definición se ve que son interesantes aquellas familias que
tienen un t/ε suficientemente grande.
Estrictamente hablando hablamos de familias CRHF pero por simplicidad se
suele hablar simplemente de CRHF.
La definición no se mete en cómo se eligen las funciones hash de la familia.
Este punto es crucial.21 En realidad, en cualquier aplicación de funciones
hash resistentes a colisiones, alguna parte P tienen que elegir una función de
la familia de forma aleatoria para producir la descripción de la función. Es
importante distinguir entre dos casos:
La elección aleatoria se puede hacer pública (o 'public-coin'). La
elección aleatoria puede ser revelada como parte de la descripción de la
función.
La elección aleatoria se tiene que mantener secreta (o 'secret-coin').
La revelación la elección aleatoria realizada puede que permita
encontrar colisiones. Por tanto P tiene que mantener secreta la elección
después de producir la descripción de la función.
Evidentemente una familia CRHF elegible de forma pública (public-coin)
también puede trabajar si uno elige o mantiene la elección de forma privada
(secret-coin).
Función hash universal[editar · editar código]
Una función hash universal es un familia de funciones donde la
probabilidad de colisión entre dos textos escogidos es despreciable.22
Definición formal23 [editar · editar código]
Una k-familia de funciones hash universal es un conjunto H de
funciones tal que para cada
elemento y todos los (no necesariamente
distintos) .
24 Una familia de funciones hash es ε-casi universal o ε-AU (del inglés ε-
almost universal) si es menor que ε la probabilidad de que dos entradas
distintas m,n tengan el mismo valor hash asociado, estando la función hash
elegida aleatoriamente entre los miembros de . De la definición se percibe
que son interesantes aquellas familias que tienen un valor pequeño de ε
indicando que el adversario no puede encontrar un par de entradas que
producen el mismo valor hash, para una función hash elegida aleatoriamente
de entre los elementos la familia.
Familia de funciones hash universal de un solo sentido[editar · editar código]
Una familia de funciones hash universal de un solo sentido, también
llamadas UOWHF por sus siglas en inglés (Universal One-Way Hash
Function), es una familia de funciones hash universales donde, elegida una
clave K aleatoriamente en el espacio de claves, dada una cadena x con valor
hash hK(x) es difícil encontrar un x' distinta de x tal que hK(x)=hK(x'). Al par
(x,x') se le llama par de colisión
Definición formal[editar · editar código]
25 26 Se dice que una familia de funciones hash es (t,ε)-función hash
universal de un sólo sentido (UOWHF) si no existe ningún adversario que
en tiempo menor que t pueda ganar el siguiente juego con probabilidad
mayor o igual que ε: El adversario escoge un valor x del Rango, entonces
recibe una clave K del espacio de claves escogida de forma aleatoria. El
juego se gana si encuentra un x' tal que hK(x)= hK(x').
El adversario está compuesto por dos algoritmos .
sólo tiene como parámetro de entrada el conjunto de la familia de
funciones hash. Produce como salida x y State. x es el valor hash
objetivo y State es alguna información extra que puede ayudar a A2 a
encontrar la colisión.
tiene como parámetros de entrada K,x y State y produce como
salida x'
por tanto
.
siendo un par con tal que hK(x)= hK(x')
Observar que, al igual que en la definición de (t,ε)-CRHF la probabilidad
es tomada sobre las elecciones aleatorias de . La gran diferencia es
que aquí la entrada x se fija primero.
Mirando esta definición se ve que son interesantes aquellas familias que
tienen un t/ε suficientemente grande.
Comparación UOWHF y CRHF27 [editar · editar
código]
Una familia UOWHF es una noción más débil que una familia CRHF. En
una CRHF, a el oponente primero se le da la clave y después ella o él
tiene que producir la pareja de entradas que colisiona. Encontrar
colisiones para un parámetro fijo de una UOWHF, puede que sea
bastante más fácil, pero esto no ayudará a un oponente a violar la
seguridad. Simon28 ha demostrado que existe un oráculo relativo a el
cual UOWHF existe, pero no CRHF.
Funciones hash iterativas. Construcción de Merkle-Damgård[editar · editar código]
29 30 31 Muchas funciones hash se construyen mediante el proceso
iterativo siguiente hasta conseguir el valor hash de la entrada X, h(X):
El número de bits de la entrada X (en principio de longitud arbitraria)
tiene que ser múltiplo de la longitud de bloque. Para conseguirlo se
tiene una regla de padding que alarga la entrada a una longitud
aceptable. Normalmente esta regla consiste en añadir al final de la
entrada unos símbolos adicionales a los que se
llama relleno o padding.
Se divide la entrada en bloques de longitud fija. Obteniendo un
conjunto de bloques x1,...,xt.
Se realiza un proceso iterativo de la siguiente forma:
H0=IV
Hi=f(xi,Hi-1), i=1,2,...,t y
h(X)=g(Ht).
Al valor IV se le llama valor inicial y se representa por esas siglas
por el término inglés Initial Value. A la función f se la llama función
de ronda o función de compresión. A la función g se la
llama transformación de salida. Lo que hace la función g es
derivar a partir de Ht tantos bits como se quieran en la salida de la
función. Frecuentemente g es la función identidad o un
truncamiento de Ht.
En este tipo de descripción de funciones hash hay dos elecciones
importantes que afectarán a las propiedades que tendrá la función:
La elección de la regla de padding. Si lo que se quiere es evitar
colisiones es recomendable que la regla de padding no permita
que existan dos mensajes que sean rellenados a el mismo
mensaje.
La elección de valor inicial (IV). Debería ser definido como
parte de la descripción de la función hash.
A las funciones que se construyen mediante el anterior sistema se
dice que son son funciones hash iterativas.
A esta forma de construcción recursiva se la conoce también como
de Merkle-Damgård debido a que fue usado por primera vea por R.
Merkle y I. Damgård independientemente en 1989.
Aplicaciones[editar · editar código]
Las funciones hash son usadas en múltiples campos. Ejemplos:
Herramienta básica para la construcción de utilidades más
complejas:
Construcción de estructuras de datos: Su uso en distintas
estructuras de datos hacen más eficientes las búsquedas.
Ej. tablas hash.
Construcción de esquemas de compromiso. Los esquemas
de compromiso permiten que una entidad elija una valor
entre un conjunto finito de posibilidades de tal forma que
no pueda cambiarla. Esa entidad no tiene que revelar su
elección hasta si acaso el momento final (la elección
puede permanecer oculta).
Construcción de algoritmos de cifrado/descifrado. Por
ejemplo se usa en la construcción de cifradores de flujo y
de cifradores de bloque.
Construcción de algoritmos generadores de números
pseudoaleatorios.
Construcción de cadenas pseudoaleatorias. Por ejemplo el
llamado modelo de oráculo aleatorio se basa en considerar
que funciones hash con ciertas propiedades se comportan
como funciones que escogen cadenas al azar, se usa para
el estudio de la seguridad los esquemas criptográficos.
Construcción de algoritmos de testeo de pertenencia o no
a un conjunto.- Se han usado funciones hash para la
construcción de acumuladores criptográficos y filtros de
Bloom. Estas tecnologías permiten establecer mecanismos
que permiten pronunciarse, a veces con cierto grado de
error, sobre la pertenencia o no a cierto conjunto.
Construcción de métodos de generación de sellos de
tiempo confiables.
Herramienta para proteger la integridad
En la firma digital
Como dato que se firma:En los algoritmos de firma
convencionales normalmente en lugar de firmar todo
el contenido se suele ser firmar sólo el valor hash del
mismo. Algunas de las motivaciones para hacer esto
son:32
Cuando se usa para firmar algoritmos de firma
por bloques donde los mensajes son más largos
que el bloque, no es seguro firmar mensajes
bloque a bloque ya que un enemigo podría borrar
bloques del mensaje firmado o insertar bloques
de su elección en el mensaje antes de que sea
firmado. Al usar una función hash hacemos una
transformación que hace a la firma dependiente
de todas las partes del mensaje.
Normalmente los valores hash son mucho más
cortos que los datos originales de entrada. Se
puede mejorar mucho la velocidad de firma
firmando el valor hash en lugar de firmar el dato
original.
Si los mensajes a firmar pueden tener cierta
estructura algebraica y el algoritmo de firma se
comporta de forma que el sistema resultante
puede ser vulnerable acriptoanálisis con ataques
de texto escogido, podemos usar funciones hash
para destruir esta estructura algebraica.
Como parte del algoritmo de firma: Se han
desarrollado algoritmos de firma que usan funciones
hash en el propio algoritmo de firma como una
herramienta interna del mismo. Ejemplo de este tipo
algoritmos son el esquema de firma de Merkle.
Suma de verificación (del inglés checksum): Cuando
queremos almacenar o transmitir información, para
protegernos frente a errores fortuitos en el
almacenamiento o transmisión, es útil acompañar a los
datos de valores hash obtenidos a partir de ellos aplicando
funciones hash con ciertas propiedades de forma que
puedan ser usados para verificar hasta cierto punto el
propio dato. A el valor hash se le llama Suma de
verificación.
Prueba de la integridad de contenidos.- Por ejemplo
cuando se distribuye un contenido por la red, y se quiere
estar seguro de que lo que le llega al receptor es lo que se
está emitiendo, se proporciona un valor hash del contenido
de forma que ese valor tiene que obtenerse al aplicar la
función hash sobre el contenido distribuido asegurando así
la integridad. A esto se le suele llamar checksum
criptográfico debido a que es un checksum que requiere
el uso de funciones hash criptográficas para que sea difícil
generar otros ficheros falso que tengan el mismo valor
hash. Otro ejemplo de uso esta tecnología para verificar la
integridad es calcular y guardar el valor hash de archivos
para poder verificar posteriormente que nadie (Ej un virus)
los ha modificado. Si en lugar de verificar la integridad de
un solo contenido lo que se quiere es verificar la integridad
de un conjunto de elementos, se pueden usar algoritmos
basados en funciones hash como los árboles de
Merkle que se basan en aplicar reiteradamente las
funciones hash sobre los elementos del conjunto y sobre
los valores hash resultantes.
Herramientas vinculadas a la autenticación y control de acceso
Autenticación de entidades: Por ejemplo es frecuente el
uso para este propósito de funciones hash deterministas
con clave secreta que tienen ciertas propiedades
(Códigos de autenticación de mensajes). En estos
esquemas tanto el servicio de autenticación, o verificador,
como la entidad que se quiere autenticar mantienen en
secreto la clave de la función hash. El esquema funciona
de la siguiente forma: El que se quiere autenticar genera
un mensaje y calcula su valor hash. Estos dos datos se
mandan al verificador. El verificador comprueba que el
valor hash se corresponde con el mensaje enviado y de
esta forma verifica que la entidad tiene la clave secreta y
por otra parte puede asegurar que el mensaje es íntegro
(no ha sido modificado desde que se calculó el valor hash).
Observar que el esquema no tiene la propiedad del no-
repudio por parte del que se quiere autenticar ya que el
verificador, al disponer de la clave secreta, puede generar
también los valores hash.
Protección de claves: Para comprobar la corrección de una
clave no es necesario tener la clave almacenada, lo que
puede ser aprovechado para que alguien no autorizado
acceda a ella, sino almacenar el valor hash resultante de
aplicar una función hash determinista. De esta forma para
verificar si una clave es correcta basta con aplicar la
función hash y verificar si el resultado coincide con el que
tenemos almacenado.
Derivación de claves: Por ejemplo en algunas aplicaciones
usan funciones hash para derivar una clave de sesión a
partir de un número de transacción y una clave maestra.
Otro ejemplo de aplicación sería el uso de funciones hash
para conseguir sistemas de autenticación con claves de un
solo uso o OTP (del inglés One Time Password). En este
tipo de sistemas la clave es válida para un solo uso. Estos
sistemas se basan en tener un semilla inicial y luego ir
generando claves (mediante un algoritmo que puede usar
funciones hash) que pueden tener un solo uso y así
evitar ataques de REPLAY.
Herramienta para la identificación y la rápida comparación de
datos: Se pueden usar funciones hash para proporcionar una
identificación de objetos o situaciones. Una buena función hash
para este propósito debería ser rápida y asegurarse de que dos
objetos o situaciones que se considerar iguales den lugar al
mismo valor hash. Observar que dos objetos o situaciones
pueden ser considerados iguales sin ser idénticos. Por ejemplo
podemos considerar iguales a dos ficheros que son distintos bit
a bit porque realmente son la digitalización de la misma
película. Es labor del diseño de la función hash capturar la
esencia del criterio de igualdad. Por otra parte la evaluación de
la función hash debería ser poco costosa para facilitar la rápida
comparación de elementos candidatos a ser iguales y de esta
forma poder implementar algoritmos de búsqueda rápidos.
Huellas digitales .- El uso de funciones hash aplicados
a cadenas permiten obtener valores hash que pueden
usarse detectar fácilmente la aparición de esos datos en
distintos sitios. Pueden ser usados para distintos usos
como búsqueda de virus, autenticación con datos
biométricos, detección de copias,...La idea puede usarse
más allá de textos y ser aplicado a cualquier tipo de
contenido multimedia:33 34 Las funciones hash
específicamente diseñadas para este propósito obtienen
valores hash que permiten detectar características
intrínsecas del contenido multimedia, de forma que se
pueda identificar si dos archivos diferentes se
corresponden con el mismo contenido multimedia. Como
aplicación práctica de este tipo de algoritmo tenemos los
programas que se ejecutan en dispositivos móviles y que
son capaces de adivinar el título de la canción que está
sonando en la habitación solamente capturando el sonido
y comparándolo con estos valores hash. Este tipo de
algoritmos también se puede utilizar para protección de
contenidos multimedia ya que permite validar
automáticamente si cierto fichero multimedia está
protegido o no por derechos de autor.
Identificación de contenidos: En algunas aplicaciones se
usa el valor hash de un contenido multimedia para
identificar ese contenido independientemente de su
nombre o ubicación. Esto es ampliamente usado en
redes Peer-to-peer que intercambian de archivos, tales
como Kazaa, Ares Galaxy, Overnet, BitTorrent.
Identificar un registro en una base de datos y permitir con
ello un acceso más rápido a los registros (incluso más
rápido que teniendo índices).
Algorítmos de búsqueda de subcadenas : Los algoritmos
de búsqueda de subcadenas tratan el problema de
buscar subcadenas, a la que llaman patrón, dentro de
otra cadena a la que llaman texto. Hay algoritmos de este
tipo que usan funciones hash en su implementación.
Ejemplo: algoritmo Karp-Rabin.
Detección de virus: Para detectar los virus muchos
antivirus definen funciones hash que capturan la esencia
del virus y que permiten distinguirlos de otros programas o
virus. Es lo que se llama firma del virus. Estas firmas son
usadas por los antivirus para poder detectarlos.
Muchas de las aplicaciones de las funciones hash son relativas al
campo de la criptografía ( Cifradores, acumuladores
criptográficos, firma digital, protocolos criptográficos de
autenticación,...). La Criptografía es una rama de las matemáticas
que proporciona herramientas para conseguir seguridad en los
sistemas de información. Las funciones hash interesantes en el
área de la criptografía se caracterizan por cumplir una serie de
propiedades que permiten a las utilidades criptográficas que las
utilizan ser resistente frente ataques que intentan vulnerar la
seguridad del sistema. A las funciones hash que cumplen estas
propiedades se las llama funciones hash criptográficas.
Véase también
FUNCIONES HASH Edit 0 10 …
Ver //Funciones Hash// encontraras un concepto mas claro acerca de Hash.
FUNCIÓN HASH (HISTORIA)
Fue creada en 1990, Ron Rivest (la R de RSA) inventó la función hash MD4. En 1992, mejoró el MD4 y desarrolló otra función hash: MD5. En 1993, la National Security Agency (organismo dependiente del gobierno de EE.UU.) publicó una función hash muy similar al MD5, llamada SHA (Secure Hash Algorithm). Cuando, en 1995, se descubrieron debilidades, la NSA hizo cambios al SHA. El nuevo algoritmo fue llamado SHA-1. Hoy la función más popular de hash es SHA-1.Existen funiciones hash de una vía (one-way) que son una construcción criptográfica empleada en muchas aplicaciones. Son usadas junto con los algoritmos de clave pública para cifrado y firma digital.Son usadas en la verificación de integridad, en autenticación. Conforman aplicaciones de muchos protocolos diferentes. Mucho más que los algoritmos de cifrado, las funciones de hashing de una vía son los verdaderos caballos de trabajo de la criptografía
moderna.Estas tienen dos propiedades: 1. Ser de una sola vía. Esto significa que es fácil tomar un mensaje y computarlo en el valor del hash, pero es imposible(o dificultar mucho) tomar el valor del hash y recrear el mensaje original.
2. Estar libres de colisiones. Quiere decir que es imposible encontrar dos mensajes que generen un digesto del mismo valor.
Quebrar una función hash significa mostrar que cada una o ambas de estas propiedades no son ciertas.En febrero del 2005, tres criptógrafos chinos mostraron que el SHA-1 no está libre de colisiones. Esto es: desarrollaron un algoritmo para encontrar las colisiones más rápido que la fuerza bruta.SHA-1 produce un digesto de 160-bit. Cada
mensaje “hasheado” genera un número de 160-bit. Teniendo que hay infinito
número de mensajes que se resumen en cada valor posible, hay infinito número de posibles colisiones. Pero debido a que el número de posibles digestos es también muy grande, la posibilidad de encontrar uno por azar es increíblemente pequeña (uno en 280, para ser exactos). Si se hace hashing de 280 mensajes aleatorios, podrá encontrar un par cuyo digesto es el mismo valor. Esta es la forma en que por “fuerza bruta” se encuentran las colisiones, y dependen únicamente de la longitud del valor del hash. "Quebrar" la función hash significa contar con la posibilidad de encontrar colisiones más rápido que eso.Ellos encontraron colisiones en el SHA-1 en 269 cálculos, cerca de 2.000 veces más rápido que la fuerza bruta. Ahora, esto es justo en el lejano borde de las facilidades de la actual teccnología. Dos cálculos masivos comprables ilustrarán este punto.
EN INFORMATICA HASH:En //informática//, Hash se refiere a una //función// o método para generar //claves// o llaves que representen de manera casi unívoca a
un//documento//, //registro//, //archivo//, etc., resumir o identificar un //dato// a través de la //probabilidad//, utilizando una función hash o algoritmo hash. Un hash es el resultado de dicha //función// o //algoritmo//.Una función de hash es una //función// para resumir o identificar probabilísticamente un gran //conjunto// de información, dando como resultado un conjunto imagen finito generalmente menor (un //subconjunto// de los //números naturales// por ejemplo). Varían en los conjuntos de partida y de llegada y en cómo afectan a la salida similitudes o patrones de la entrada. Una propiedad fundamental del hashing es que si dos resultados de una misma función son diferentes, entonces las dos entradas que generaron dichos resultados también lo son.Es posible que existan claves resultantes iguales para objetos diferentes, ya que el rango de posibles claves es mucho menor que el de posibles objetos a resumir (las claves suelen tener en torno al centenar de bits, pero los ficheros no tienen un tamaño límite).Son usadas en múltiples aplicaciones, como los //arrays asociativos//, //criptografía//, procesamiento de datos y //firmas digitales//, entre otros. Una buena función de hash es una que experimenta pocas //colisiones// en el conjunto esperado de entrada; es decir que se podrán identificar unívocamente las entradas (ver //función inyectiva//).Muchos sistemas relacionados con la seguridad informática usan funciones o tablas hash.
FUNCIONES DE LA FUNCION HASHUna herramienta fundamental en la cripotografía, son las funciones hash, son usadas principalmente para resolver el problema de la integridad de los mensajes, así como la autenticidad de mensajes y de su origen. Una función hash es también ampliamente usada para la firma digital, ya que los documentos a firmar son en general demasiado grandes, la función hash les asocia una cadena de longitud 160 bits que los hace más manejables para el propósito de firma digital.
De forma gráfica la función hash efectúa lo siguiente: un mensaje de longitud arbitraria lo transforma de forma "única" a un mensaje de longitud constante.
¿Cómo hace esto? La idea general es la siguiente:La función hash toma como entrada una cadena de longitud arbitraria, digamos 5259 bits, luego divide éste mensaje en pedazos iguales, digamos de 160 bits, como en este caso y en general el mensaje original no será un múltiplo de 160, entonces para completar un número entero de
pedazos de 160 bits al último se le agrega un relleno, digamos de puros ceros. En nuestro caso en 5259 caben 32 pedazos de 160 bits y sobran 139, entonces se agregarán 21 ceros más.
El mensaje toma la forma X = X1, X2, X3,…,Xt donde cada Xi tiene igual longitud (160 bits por ejemplo).
Posteriormente se asocia un valor constante a un vector inicial IV y H0=IV
Ahora se obtiene H1 que es el resultado de combinar H0 con X1 usando una función de compresión f
H1 = f(H0,X1)
Posteriormente se obtiene H2, combinando H1 y X2 con f
H2 = f(H1,X2)
Se hace lo mismo para obtener H3
H3 = f(H2,X3)
Hasta llegar a Ht
Ht = f(Ht-1, Xt)
Entonces el valor hash será h(M) = HtDe alguna forma lo que se hace es tomar el mensaje partirlo en pedazos de longitud constante y combinar de alguna forma pedazo por pedazo hasta obtener un mensaje único de longitud fija como muestra la figura siguiente:
Las funciones hash (o primitivas hash) pueden operar como: MDC (Modification Detection Codes) ó MAC (Massage Authentication Codes).
Los MDC sirven para resolver el problema de la integridad de la información, al mensaje se le aplica un MDC (una función hash) y se manda junto con el propio mensaje, al recibirlo el receptor aplica la función hash al mensaje y comprueba que sea igual al hash que se envió antes.
Es decir, se aplica un hash al mensaje M y se envía con el mensaje (M, h(M)), cuando se recibe se le aplica una vez más el hash (ya que M es público) obteniendo h'(M), si h(M)=h'(M), entonces se acepta que el mensaje sea transmitido sin alteración.
Los MAC sirven para autenticar el origen de los mensajes (junto con la integridad), un MAC. Es decir, se combina el mensaje M con una clave privada K y se les aplica un hash h(M,K), si al llegar a su destino h(M, K) se comprueba de integridad de la clave privada K, entonces se demuestra que el origen es solo el que tiene la misma clave K, probando así la autenticidad del origen del mensaje.
De forma simple se muestra en la siguiente figura el funcionamiento de un MAC
Las propiedades que deben de tener las primitivas hash son:
1. Resistencia a la preimagen significa que dada cualquier imagen, es computacionalmente imposible encontrar un mensaje x tal que h(x)=y. Otra forma como se conoce esta propiedad es que h sea de un solo sentido.
2. Resistencia a una segunda preimagen significa que dado x, es computacionalmente imposible encontrar una x' tal que h(x)=h(x'). Otra forma de conocer esta propiedad es que h sea resistente a una colisión suave.
3. Resistencia a colisión significa que es computacionalmente imposible encontrar dos mensajes diferentes x, x' tal que h(x)=h(x'). Esta propiedad también se conoce como resistencia a colisión fuerte.
Para ilustrar la necesidad de estas propiedades veamos los siguientes ejemplos:
Consideremos un esquema de firma digital con apéndice, entonces la firma se aplica a h(x), en este caso h debe ser un MDC con resistencia a una 2° preimagen, ya que de lo contrario un atacante C que conozca la firma sobre h(x), puede encontrar otro mensaje x' tal que h(x) = h(x') y reclamar que la firma es del documento x'.
Si el atacante C puede hacer que el usuario firme un mensaje, entonces el atacante puede
encontrar una colisión (x, x') (en lugar de lo más difícil que es encontrar una segunda preimagen de x) y hacer firmar al usuario a x diciendo que firmo x'. En este caso es necesaria la propiedad de resistenhttp:www.google.es/search?q=biography+%22John+Mccarthy%22&hl=es&lr=&ie=UTF-8&start=20&sa=Ncia a colisión.
Por último si (e,n) es la clave pública RSA de A, C puede elegir aleatoriamente un y y calcular z = ye mod n, y reclamar que y es la firma de z, si C puede encontrar una preimagen x tal que z = h(x), donde x es importante para A. Esto es evitable si h es resistente a preimagen.
Las funciones hash más conocidas son las siguientes: las que se crean a partir de un block cipher como DES, MD5 ], SHA-1 y RIPEMD 160.
Actualmente se ha podido encontrar debilidades en las funciones hash que tienen como salida una cadena de 128 bits, por lo que se ha recomendado usar salidas de 160 bits. Así mismo se han encontrado ataques a MD5 y SHA-0 (antecesora de SHA-1), esto ha dado lugar que se dirija la atención sobre la función has RIPEMD-160.
El ataque más conocido (a fuerza bruta) a una función hash es conocido como "birthday attack" y se basa en la siguiente paradoja, si hay 23 personas en un local existe una probabilidad de al menos 1/2, de que existan dos personas con el mismo cumpleaños. Aunque parezca muy difícil esa posibilidad se puede mostrar que en general al recorre la raíz cuadrada del número de un conjunto de datos, se tiene la probabilidad de al menos ½ de encontrar dos iguales.
Al aplicar esto a una función hash, es necesario recorrer entonces la raíz cuadrada de 2160 mensajes para poder encontrar dos con el mismo hash, o sea encontrar una colisión. Por lo tanto una función hash son salida 2160 tiene una complejidad de 280, y una función de 128 bits de salida tiene una complejidad de 264, por lo que es recomendable usar actualmente salida de 160 bits (48 dígitos).
La criptografía simétrica, es claramente insuficiente para llevar a cabo comunicaciones seguras a través de canales inseguros -léase internet-, debido a que los dos interlocutores necesitan compartir una clave secreta -llamada "clave de sesión"-. Dicha clave debe ser
transmitida en algún momento desde un extremo a otro del canal de comunicación de forma segura, ya que de ella depende la protección de toda la información que se transmita a lo largo de esa sesión en particular.Se necesita, pues, un canal seguro para poder crear otro canal seguro. Es la pescadilla que se muerde la cola.
La criptografía asimétrica ofrece una salida al problema, proporcionando ese canal seguro de comunicación que va a permitir a los participantes intercambiar las claves de sesión. Y ésa no es la única ventaja, ya que los algoritmos asimétricos ofrecen mecanismos fiables para que ambos interlocutores se puedan identificar frente al otro de manera segura. La razón por la que no se emplean algoritmos asimétricos todo el tiempo es porque, entre otras ventajas, los criptosistemas simétricos resultan mucho más eficaces y rápidos.
Suponga que hemos creado una función HASHde forma tal que el resumen es sólo de 4 bits, independientemente del tamaño de dicho mensaje de entrada y nos //surge// la pregunta:¿Cuál es la //probabilidad// de que dos mensajes distintos tengan igual función HASH?Si esta probabilidad fuese muy baja (en este caso 1/16: HASH desde 0000 hasta 1111) y podría darse el siguiente caso: Alguien modifica nuestro mensaje firmado y envía ese mensaje falso con la firma del primero ya que en ambos casos son los mismos 4 bits.Mensaje 1: "Rechazamos el //contrato// por no interesarnos nada" HASH: 1101.Mensaje 2: "Firma todo lo que te pongan porque nos interesa" HASH: 1101.Observe que ambos mensajes tienen 47 caracteres, así podríamos crear una gran cantidad de mensajes diferentes que digan cosas distintas incluso con igual número de caracteres, ¡Hasta que los dos HASH coincidan!, y por este motivo para que las funciones HASHsean interesantes en criptografía deben cumplir un conjunto de propiedades, ellas son:h(M) será segura si tiene las siguientes características:
Unidireccionalidad
: Conocido un resumen h(M), debe ser computacionalmente imposible encontrar M a
partir de dicho resumen. Compresión : A partir de un mensaje de cualquier longitud, el
resumen h(M) debe tener una longitud fija, lo normal es que la longitud de h(M) sea menor que el mensaje M.
Facilidad de cálculo : Debe ser fácil calcular h(M) a partir de un
mensaje M. Difusióno : El resumen h(M) debe ser una función compleja
de todos los bits del mensaje Msi se modifica un solo bits del mensaje M y entonces elHASH h(M) debería cambiar la mitad de sus bits aproximadamente
o
TABLAS HASHUna tabla hash o mapa hash es una //estructura de datos// que asocia llaves o claves con valores. La operación principal que soporta de manera eficiente es la búsqueda: permite el acceso a los elementos (teléfono y dirección, por ejemplo) almacenados a partir de una clave generada (usando el nombre o número de cuenta, por ejemplo). Funciona transformando la clave con una //función hash// en un //hash//, un número que la tabla hash utiliza para localizar el valor deseado.Las tablas hash se suelen implementar sobre //arrays// de una dimensión, aunque se pueden hacer implementaciones multi-dimensionales basadas en varias claves. Como en el caso de los arrays, las tablas hash proveen tiempo constante de búsqueda promedio //O(1)//,//[1//] sin importar el número de elementos en la tabla. Sin embargo, en casos particularmente malos el tiempo de búsqueda puede llegar a O(n), es decir, en función del número de elementos.Comparada con otras estructuras de arrays asociadas, las tablas hash son más útiles cuando se almacenan grandes cantidades de información.Las tablas hash almacenan la información en posiciones pseudo-aleatorias, así que el acceso ordenado a su contenido es bastante lento. Otras estructuras como //árboles binarios auto-balanceables// son más rápidos en promedio (tiempo de búsqueda O(log n)) pero la información está ordenada en todo momento.
Archivo:Tabla hash1.png
ventajas de la tabla hashUna tabla hash tiene como principal ventaja que el acceso a los datos suele ser muy rápido si se cumplen las siguientes condiciones://
o Una razón de ocupación no muy elevada (a partir del 75% de ocupación se producen demasiadas colisiones y la tabla se vuelve ineficiente).
o Una //función resumen// que distribuya uniformemente las claves. Si la función está mal
diseñada, se producirán muchas colisiones
desventajas de la tabla hash
o Necesidad de ampliar el espacio de la tabla si el volumen de datos almacenados crece. Se trata de una operación costosa.
o Dificultad para recorrer todos los elementos. Se suelen emplear //**listas**// para procesar la totalidad de los elementos.
o Desaprovechamiento de la memoria. Si se reserva espacio para todos los posibles elementos, se consume más memoria de la necesaria; se suele resolver reservando espacio únicamente para //punteros// a los elementos.
o A finales del año 2004 científicos chinos de la Shandong University presentan trabajos en los que se analizan las debilidades reales de las funciones
Funciones Hash más usadas:1. Hash de División:Dado un diccionario D, se fija un número m >= |D| (m mayor o igual al tamaño del diccionario) y que sea primo no cercano a potencia de 2 o de 10. Siendo k la clave a buscar y h(k) la función hash, se tiene h(k)=k%m (Resto de la división k/m).2. Hash de MultiplicaciónSi por alguna razón, se necesita una tabla hash con tantos elementos o punteros como una potencia de 2 o de 10, será mejor usar una función hash de multiplicación, independiente del tamaño de la tabla. Se escoge un tamaño de tabla m >= |D| (m mayor o igual al tamaño del diccionario) y un cierto número irracional φ (normalmente se usa 1+5^(1/2)/2 o 1-5^(1/2)/2). De este modo se define h(k)= Suelo(m*Parte fraccionaria(k*φ)).
CONCLUSIONESDespues de haber analizado las funciones HASH, su integridad y autenticidad de mensajes y el origen en si. podemos ver que generalmete es el resultado un algoritmo matematico que permite calcular un valor resumen de los datos al ser firmados digitalmete,en si funcionan en una misma direccion.
o Las funciones HASH como son MD5, SHA-1, y otras, pueden usarse además para autenticar a dos usuarios.
o Estas funciones como carecen de una clave privada no pueden usarse de forma directa para estos propósitos, no obstante existen algoritmos
que permiten añadirles esta función.o usando los HASH vistos anteriormente está la
funcion HMAC y una clave secreta autentica a dos usuarios mediante sistemas de clave secreta, las funciones MAC (Message Authentication Code) y HMAC se dedican a la autenticación y firma digital.
o Dentro de la funcion HASH, HMAC se usa en plataformasseguras ip como por ejemplo en Secure Socket Layer, SSL.
ADMINISTRACION DE SEGURIDAD.WIKIPEDIAEl objetivo de la administración de seguridad es lograr la exactitud, integridad y protección de todos los procesos y recursos de los sistemas de información.De este modo la administración de seguridad minimiza errores, fraudes y pérdidas en los sistemas de información que interconectan a las empresas actuales, así como a sus clientes, proveedores y otras partes interesadas.TIPOS DE DEFENSAS DE SEGURIDAD.
* Cifrado .Implica el uso de algoritmos matemáticos especiales, o llaves, para transformar los datos digitales en códigos cifrados antes de ser transmitidos y para descifrarlos cuando son recibidos. El método más usado es el llamado, método de llave pública, que es exclusivamente para el receptor que es conocida por el transmisor.
*Firewalls .Puede ser un procesador de comunicaciones, por lo común un ruteador, o un servidor dedicado, junto con software firewall. Sirve como un sistema de “portero” que protege las intranets de una empresa y otras redes informáticas de la intrusión al proporcionar un filtro y punto de transferencia seguro para el acceso a Internet y otras redes.
*Defensas contra la negación de serviciosLos ataques de negación de servicios a través de Internet dependen de 3 niveles de sistemas interconectados:1) En el sitio Web de la víctima 2) En el proveedor de servicios de Internet 3) En las máquinas zombis
*Monitoreo del correo electrónico*Defensa contra virus ]Muchas empresas crean defensas contra la diseminación de virus al centralizar la distribución y actualización de software de antivirus como responsabilidad de sus departamentos de sistemas de información.
a seguridad de la información es el conjunto de medidas preventivas y reactivas de
las organizaciones y de los sistemastecnológicos que permiten resguardar y proteger
la información buscando mantener la confidencialidad, la disponibilidad e integridad de la misma.
El concepto de seguridad de la información no debe ser confundido con el de seguridad
informática, ya que este último sólo se encarga de la seguridad en el medio informático, pero la
información puede encontrarse en diferentes medios o formas, y no solo en medios informáticos.
Para el hombre como individuo, la seguridad de la información tiene un efecto significativo respecto
a su privacidad, la que puede cobrar distintas dimensiones dependiendo de la cultura del mismo.
El campo de la seguridad de la información ha crecido y evolucionado considerablemente a partir
de la Segunda Guerra Mundial, convirtiéndose en una carrera acreditada a nivel mundial. Este
campo ofrece muchas áreas de especialización, incluidos la auditoría de sistemas de información,
planificación de la continuidad del negocio, ciencia forense digital y administración de sistemas de
gestión de seguridad, entre otros.
Índice
[ocultar]
1 Concepción de la seguridad de la información
o 1.1 Confidencialidad
o 1.2 Integridad
o 1.3 Disponibilidad
o 1.4 Autenticación o autentificación
2 Servicios de seguridad
o 2.1 No repudio
o 2.2 Protocolos de Seguridad de la Información
3 Planificación de la seguridad
o 3.1 Creación de un plan de respuesta a incidentes
o 3.2 Consideraciones legales
o 3.3 Planes de acción
4 El manejo de riesgos
o 4.1 Medios de transmisión de ataques a los sistemas de seguridad
o 4.2 Actores que amenazan la seguridad
o 4.3 Otros conceptos
5 Gobierno de la Seguridad de la Información
6 Tecnologías
7 Estándares de seguridad de la información
o 7.1 Otros estándares relacionados
8 Certificaciones
o 8.1 Certificaciones independientes en seguridad de la información
9 Véase también
10 Referencias
o 10.1 Bibliografía
o 10.2 Enlaces externos
Concepción de la seguridad de la información[editar · editar código]
En la seguridad de la información es importante señalar que su manejo está basado en la
tecnología y debemos de saber que puede ser confidencial: la información está centralizada y
puede tener un alto valor. Puede ser divulgada, mal utilizada, ser robada, borrada o saboteada.
Esto afecta su disponibilidad y la pone en riesgo. La información es poder, y según las
posibilidades estratégicas que ofrece tener acceso a cierta información, ésta se clasifica como:
Crítica: Es indispensable para la operación de la empresa.
Valiosa: Es un activo de la empresa y muy valioso.
Sensible: Debe de ser conocida por las personas autorizadas
Existen dos palabras muy importantes que son riesgo y seguridad:
Riesgo: Es la materialización de vulnerabilidades identificadas, asociadas con su
probabilidad de ocurrencia, amenazas expuestas, así como el impacto negativo que
ocasione a las operaciones de negocio.
Seguridad: Es una forma de protección contra los riesgos.
La seguridad de la información comprende diversos aspectos entre ellos la
disponibilidad, comunicación, identificación de problemas, análisis de riesgos,
la integridad, confidencialidad, recuperación de los riesgos.
Precisamente la reducción o eliminación de riesgos asociado a una cierta
información es el objeto de la seguridad de la información y la seguridad
informática. Más concretamente, laseguridad de la información tiene como
objeto los sistemas el acceso, uso, divulgación, interrupción o destrucción no
autorizada de información.1 Los términos seguridad de la
información, seguridad informática y garantía de la información son usados
frecuentemente como sinónimos porque todos ellos persiguen una misma
finalidad al proteger laconfidencialidad, integridad y disponibilidad de la
información. Sin embargo, no son exactamente lo mismo existiendo algunas
diferencias sutiles. Estas diferencias radican principalmente en el enfoque,
las metodologías utilizadas, y las zonas de concentración. Además, la
seguridad de la información involucra la implementación de estrategias que
cubran los procesos en donde la información es el activo primordial. Estas
estrategias deben tener como punto primordial el establecimiento de políticas,
controles de seguridad, tecnologías y procedimientos para detectar
amenazas que puedan explotar vulnerabilidades y que pongan en riesgo
dicho activo, es decir, que ayuden a proteger y salvaguardar tanto
información como los sistemas que la almacenan y administran. La seguridad
de la información incumbe a gobiernos, entidades militares, instituciones
financieras, los hospitales y las empresas privadas con información
confidencial sobre sus empleados, clientes, productos, investigación y su
situación financiera.
En caso de que la información confidencial de una empresa, sus clientes, sus
decisiones, su estado financiero o nueva línea de productos caigan en manos
de un competidor; se vuelva pública de forma no autorizada, podría ser causa
de la pérdida de credibilidad de los clientes, pérdida de negocios, demandas
legales o incluso la quiebra de la misma.
Por más de veinte años[¿cuándo?] la Seguridad de la Información ha declarado
que la confidencialidad, integridad y disponibilidad (conocida como la Tríada
CIA, del inglés: "Confidentiality,Integrity, Availability") son los principios
básicos de la seguridad de la información.
La correcta Gestión de la Seguridad de la Información busca establecer y
mantener programas, controles y políticas, que tengan como finalidad
conservar la confidencialidad, integridad y disponibilidad de la información, si
alguna de estas características falla no estamos ante nada seguro. Es
preciso anotar, además, que la seguridad no es ningún hito, es más bien un
proceso continuo que hay que gestionar conociendo siempre las
vulnerabilidades y las amenazas que se ciñen sobre cualquier información,
teniendo siempre en cuenta las causas de riesgo y la probabilidad de que
ocurran, así como el impacto que puede tener. Una vez conocidos todos
estos puntos, y nunca antes, deberán tomarse las medidas de seguridad
oportunas.
Confidencialidad[editar · editar código]
La confidencialidad es la propiedad que impide la divulgación de información
a personas o sistemas no autorizados. A grandes rasgos, asegura el acceso
a la información únicamente a aquellas personas que cuenten con la debida
autorización.
Por ejemplo, una transacción de tarjeta de crédito en Internet requiere que el
número de tarjeta de crédito a ser transmitida desde el comprador al
comerciante y el comerciante de a una red de procesamiento de
transacciones. El sistema intenta hacer valer la confidencialidad mediante el
cifrado del número de la tarjeta y los datos que contiene la banda magnética
durante la transmisión de los mismos. Si una parte no autorizada obtiene el
número de la tarjeta en modo alguno, se ha producido una violación de la
confidencialidad.
La pérdida de la confidencialidad de la información puede adoptar muchas
formas. Cuando alguien mira por encima de su hombro, mientras usted tiene
información confidencial en la pantalla, cuando se publica información
privada, cuando un laptop con información sensible sobre una empresa es
robado, cuando se divulga información confidencial a través del teléfono, etc.
Todos estos casos pueden constituir una violación de la confidencialidad.
Integridad[editar · editar código]
Es la propiedad que busca mantener los datos libres de modificaciones no
autorizadas. (No es igual a integridad referencial en bases de datos.) A groso
modo, la integridad es el mantener con exactitud la información tal cual fue
generada, sin ser manipulada o alterada por personas o procesos no
autorizados.
La violación de integridad se presenta cuando un empleado, programa o
proceso (por accidente o con mala intención) modifica o borra los datos
importantes que son parte de la información, así mismo hace que su
contenido permanezca inalterado a menos que sea modificado por personal
autorizado, y esta modificación sea registrada, asegurando su precisión y
confiabilidad. La integridad de un mensaje se obtiene adjuntándole otro
conjunto de datos de comprobación de la integridad: la firma digital Es uno de
los pilares fundamentales de la seguridad de la información
Disponibilidad[editar · editar código]
La disponibilidad es la característica, cualidad o condición de la información
de encontrarse a disposición de quienes deben acceder a ella, ya sean
personas, procesos o aplicaciones. Groso modo, la disponibilidad es el
acceso a la información y a los sistemas por personas autorizadas en el
momento que así lo requieran.
En el caso de los sistemas informáticos utilizados para almacenar y procesar
la información, los controles de seguridad utilizados para protegerlo, y los
canales de comunicación protegidos que se utilizan para acceder a ella
deben estar funcionando correctamente. La Alta disponibilidad sistemas
objetivo debe estar disponible en todo momento, evitando interrupciones del
servicio debido a cortes de energía, fallos de hardware, y actualizaciones del
sistema.
Garantizar la disponibilidad implica también la prevención de ataque
de denegación de servicio. Para poder manejar con mayor facilidad la
seguridad de la información, las empresas o negocios se pueden ayudar con
un sistema de gestión que permita conocer, administrar y minimizar los
posibles riesgos que atenten contra la seguridad de la información del
negocio.
La disponibilidad además de ser importante en el proceso de seguridad de la
información, es además variada en el sentido de que existen varios
mecanismos para cumplir con los niveles de servicio que se requiera. Tales
mecanismos se implementan en infraestructura tecnológica, servidores de
correo electrónico, de bases de datos, de web etc, mediante el uso de
clusters o arreglos de discos, equipos en alta disponibilidad a nivel de red,
servidores espejo, replicación de datos, redes de almacenamiento (SAN),
enlaces redundantes, etc. La gama de posibilidades dependerá de lo que
queremos proteger y el nivel de servicio que se quiera proporcionar.
Autenticación o autentificación[editar · editar código]
Es la propiedad que permite identificar el generador de la información. Por
ejemplo al recibir un mensaje de alguien, estar seguro que es de ese alguien
el que lo ha mandado, y no una tercera persona haciéndose pasar por la otra
(suplantación de identidad). En un sistema informático se suele conseguir
este factor con el uso de cuentas de usuario y contraseñas de acceso.
Esta propiedad se puede considerar como un aspecto de la integridad -si está
firmado por alguien, está realmente enviado por el mismo- y así figura en la
literatura anglosajona.
Servicios de seguridad[editar · editar código]
El objetivo de un servicio de seguridad es mejorar la seguridad de los
sistemas de procesamiento de datos y la transferencia de información en las
organizaciones. Los servicios de seguridad están diseñados para
contrarrestar los ataques a la seguridad y hacen uso de uno o más
mecanismos de seguridad para proporcionar el servicio.
No repudio[editar · editar código]
Proporciona protección contra la interrupción, por parte de alguna de las
entidades implicadas en la comunicación, de haber participado en toda o
parte de la comunicación. El servicio de Seguridad de No repudio o
irrenunciabilidad está estandarizado en la ISO-7498-2.
No Repudio de origen: El emisor no puede negar que envío porque el
destinatario tiene pruebas del envío, el receptor recibe una prueba
infalsificable del origen del envío, lo cual evita que el emisor, de negar tal
envío, tenga éxito ante el juicio de terceros. En este caso la prueba la crea el
propio emisor y la recibe el destinatario.
Prueba que el mensaje fue enviado por la parte específica.
No Repudio de destino: El receptor no puede negar que recibió el mensaje
porque el emisor tiene pruebas de la recepción. Este servicio proporciona al
emisor la prueba de que el destinatario legítimo de un envío, realmente lo
recibió, evitando que el receptor lo niegue posteriormente. En este caso la
prueba irrefutable la crea el receptor y la recibe el emisor.
Prueba que el mensaje fue recibido por la parte específica.
Si la autenticidad prueba quién es el autor de un documento y cual es su
destinatario, el “no repudio” prueba que el autor envió la comunicación (no
repudio en origen) y que el destinatario la recibió (no repudio en destino). El
no repudio evita que el emisor o el receptor nieguen la transmisión de un
mensaje. Así, cuando se envía un mensaje, el receptor puede comprobar
que, efectivamente, el supuesto emisor envió el mensaje. De forma similar,
cuando se recibe un mensaje, el emisor puede verificar que, de hecho, el
supuesto receptor recibió el mensaje. Definición según la recomendación
X.509 de la UIT-T Servicio que suministra la prueba de la integridad y del
origen de los datos- ambos en una relación infalsificable que pueden ser
verificados por un tercero en cualquier momento.
Protocolos de Seguridad de la Información[editar · editar código]
Los protocolos de seguridad son un conjunto de reglas que gobiernan dentro
de la transmisión de datos entre la comunicación de dispositivos para ejercer
una confidencialidad,integridad, autenticación y el no repudio de la
información. Se componen de:
Criptografía (Cifrado de datos), se ocupa del cifrado de mensajes un
mensaje es enviado por el emisor lo que hace es transposicionar o
ocultar el mensaje hasta que llega a su destino y puede ser descifrado
por el receptor.
Lógica (Estructura y secuencia). Llevar un orden en el cual se agrupán
los datos del mensaje el significado del mensaje y saber cuando se va
enviar el mensaje.
Identificación (Autentication). Es una validación de identificación es la
técnica mediante la cual un proceso comprueba que el compañero de
comunicación es quien se supone que es y no se trata de un impostor.
Planificación de la seguridad[editar · editar código]
Hoy en día la rápida evolución del entorno técnico requiere que las
organizaciones adopten un conjunto mínimo de controles de seguridad para
proteger su información y sistemas de información. El propósito del plan de
seguridad del sistema es proporcionar una visión general de los requisitos de
seguridad del sistema y se describen los controles en el lugar o los previstos
para cumplir esos requisitos. El plan de seguridad del sistema también
delinea las responsabilidades y el comportamiento esperado de todos los
individuos que acceden al sistema. Debe reflejar las aportaciones de distintos
gestores con responsabilidades sobre el sistema, incluidos los propietarios de
la información, el propietario de la red, y el alto funcionario de la agencia de
información de seguridad (SAISO).
Los administradores de programas, los propietarios del sistema, y personal
de seguridad en la organización debe entender el sistema de seguridad en el
proceso de planificación. Los responsables de la ejecución y gestión de
sistemas de información deben participar en el tratamiento de los controles
de seguridad que deben aplicarse a sus sistemas.
Creación de un plan de respuesta a incidentes[editar · editar código]
Es importante formular un plan de respuestas a incidentes, soportarlo a lo
largo de la organización y probarlo regularmente. Un buen plan de respuestas
a incidentes puede no sólo minimizar los efectos de una violación sino
también, reducir la publicidad negativa.
Desde la perspectiva del equipo de seguridad, no importa si ocurre una
violación o abertura (pues tales eventos son una parte eventual de cuando se
hacen negocios usando un método de poca confianza como lo es Internet),
sino más bien cuando ocurre. El aspecto positivo de entender la inevitabilidad
de una violación a los sistemas (cualquier sistema donde se procese
información confidencial, no esta limitado a servicios informáticos) es que
permite al equipo de seguridad desarrollar un curso de acciones para
minimizar los daños potenciales. Combinando un curso de acciones con la
experiencia le permite al equipo responder a condiciones adversas de una
manera formal y oportuna.
El plan de respuesta a incidentes puede ser dividido en cuatro fases:
Acción inmediata para detener o minimizar el incidente
Investigación del incidente
Restauración de los recursos afectados
Reporte del incidente a los canales apropiados
Una respuesta a incidentes debe ser decisiva y ejecutarse rápidamente.
Debido a que hay muy poco espacio para errores, es crítico que se efectúen
prácticas de emergencias y se midan los tiempos de respuesta. De esta
forma, es posible desarrollar una metodología que fomenta la velocidad y la
precisión, minimizando el impacto de la indisponibilidad de los recursos y el
daño potencial causado por el sistema en peligro.
Un plan de respuesta a incidentes tiene un número de requerimientos,
incluyendo:
Un equipo de expertos locales (un Equipo de respuesta a emergencias
de computación)
Una estrategia legal revisada y aprobada
Soporte financiero de la compañía
Soporte ejecutivo de la gerencia superior
Un plan de acción factible y probado
Recursos físicos, tal como almacenamiento redundante, sistemas en
stand by y servicios de respaldo
Consideraciones legales[editar · editar código]
Otros aspectos importantes a considerar en una respuesta a incidentes son
las ramificaciones legales. Los planes de seguridad deberían ser
desarrollados con miembros del equipo de asesoría jurídica o alguna forma
de consultoría general. De la misma forma en que cada compañía debería
tener su propia política de seguridad corporativa, cada compañía tiene su
forma particular de manejar incidentes desde la perspectiva legal. Las
regulaciones locales, de estado o federales están más allá del ámbito de este
documento, pero se mencionan debido a que la metodología para llevar a
cabo el análisis post-mortem, será dictado, al menos en parte, por la
consultoría jurídica. La consultoría general puede alertar al personal técnico
de las ramificaciones legales de una violación; los peligros de que se escape
información personal de un cliente, registros médicos o financieros; y la
importancia de restaurar el servicio en ambientes de misión crítica tales como
hospitales y bancos.
Planes de acción[editar · editar código]
Una vez creado un plan de acción, este debe ser aceptado e implementado
activamente. Cualquier aspecto del plan que sea cuestionado durante la
implementación activa lo más seguro es que resulte en un tiempo de
respuesta pobre y tiempo fuera de servicio en el evento de una violación.
Aquí es donde los ejercicios prácticos son invalorables. La implementación
del plan debería ser acordada entre todas las partes relacionadas y ejecutada
con seguridad, a menos que se llame la atención con respecto a algo antes
de que el plan sea colocado en producción.
La respuesta a incidentes debe ir acompañada con recolección de
información siempre que esto sea posible. Los procesos en ejecución,
conexiones de red, archivos, directorios y mucho más debería ser auditado
activamente en tiempo real. Puede ser muy útil tener una toma instantánea
de los recursos de producción al hacer un seguimiento de servicios o
procesos maliciosos. Los miembros de CERT y los expertos internos serán
recursos excelentes para seguir tales anomalías en un sistema.
El manejo de riesgos[editar · editar código]
Dentro de la seguridad en la información se lleva a cabo la clasificación de
las alternativas para manejar los posibles riegos que un activo o bien puede
tener dentro de los procesos de organización. Esta clasificación lleva el
nombre de manejo de riegos. El manejo de riesgos, conlleva una estructura
bien definida, con un control adecuado y su manejo, habiéndolos identificado,
priorizados y analizados, a través de acciones factibles y efectivas. Para ello
se cuenta con las siguientes técnicas de manejo del riesgo:
Evitar. El riesgo es evitado cuando la organización rechaza aceptarlo, es
decir, no se permite ningún tipo de exposición. Esto se logra
simplemente con no comprometerse a realizar la acción que origine el
riesgo. Esta técnica tiene más desventajas que ventajas, ya que la
empresa podría abstenerse de aprovechar muchas oportunidades.
Ejemplo:
No instalar empresas en zonas sísmicas
Reducir. Cuando el riesgo no puede evitarse por tener varias dificultades
de tipo operacional, la alternativa puede ser su reducción hasta el nivel
más bajo posible. Esta opción es la más económica y sencilla. Se
consigue optimizando los procedimientos, la implementación de controles
y su monitoreo constante. Ejemplo:
No fumar en ciertas áreas, instalaciones eléctricas anti flama, planes de contingencia.
Retener, Asumir o Aceptar el riesgo. Es uno de los métodos más
comunes del manejo de riesgos, es la decisión de aceptar las
consecuencias de la ocurrencia del evento. Puede ser voluntaria o
involuntaria, la voluntaria se caracteriza por el reconocimiento de la
existencia del riesgo y el acuerdo de asumir las perdidas involucradas,
esta decisión se da por falta de alternativas. La retención involuntaria se
da cuando el riesgo es retenido inconscientemente. Ejemplo de asumir el
riesgo:
Con recursos propios se financian las pérdidas.
Transferir. Es buscar un respaldo y compartir el riesgo con otros
controles o entidades. Esta técnica se usa ya sea para eliminar un riesgo
de un lugar y transferirlo a otro, o para minimizar el mismo,
compartiéndolo con otras entidades. Ejemplo:
Transferir los costos a la compañía aseguradora
Medios de transmisión de ataques a los sistemas de seguridad[editar · editar código]
El mejor en soluciones de su clase permite una respuesta rápida a las
amenazas emergentes, tales como:
Malware y spam propagado por e-mail.
La propagación de malware y botnets.
Los ataques de phishing alojados en sitios web.
Los ataques contra el aumento de lenguaje de marcado extensible (XML)
de tráfico, arquitectura orientada a servicios (SOA) y servicios web.
Estas soluciones ofrecen un camino a la migración y la integración. Como las
amenazas emergentes, cada vez más generalizada, estos productos se
vuelven más integrados en un enfoque de sistemas.
Un enfoque de sistemas de configuración, la política, y el seguimiento se
reúne cumplimiento de las normativas en curso y permite a los sistemas
rentables de gestión. El enfoque de sistemas de gestión de la seguridad,
dispone:
Configuración de la política común de todos los productos
Amenaza la inteligencia y la colaboración de eventos
Reducción de la complejidad de configuración
Análisis de riesgos eficaces y operativos de control
En la actualidad gracias a la gran cantidad posibilidades que se tiene para
tener acceso a los recursos de manera remota y al gran incremento en las
conexiones a la internet los delitos en el ámbito de TI se han visto
incrementado, bajo estas circunstancias los riesgos informáticos son más
latentes. Los delitos cometidos mediante el uso de la computadora han
crecido en tamaño, forma y variedad. Los principales delitos hechos por
computadora o por medio de computadoras son:
Fraudes
Falsificación
Venta de información
Entre los hechos criminales más famosos en los Estados Unidos están:
El caso del Banco Wells Fargo donde se evidencio que la protección de
archivos era inadecuada, cuyo error costo USD 21.3 millones.
El caso de la NASA donde dos alemanes ingresaron en archivos
confidenciales.
El caso de un muchacho de 15 años que entrando a la computadora de
la Universidad de Berkeley en California destruyo gran cantidad de
archivos.
También se menciona el caso de un estudiante de una escuela que
ingreso a una red canadiense con un procedimiento de admirable
sencillez, otorgándose una identificación como un usuario de alta
prioridad, y tomo el control de una embotelladora de Canadá.
También el caso del empleado que vendió la lista de clientes de una
compañía de venta de libros, lo que causo una pérdida de USD 3
millones.
También el caso de estudiantes de Ingeniería electrónica donde
accedieron al sistema de una Universidad de Colombia y cambiaron las
notas de sus compañeros generando estragos en esta Universidad y
retrasando labores, lo cual dejó grandes perdidas económicas y de
tiempo.2
Los virus, troyanos, spyware, malware y demás código llamado malicioso (por
las funciones que realiza y no por tratarse de un código erróneo), tienen
como objetivo principal el ejecutar acciones no solicitadas por el usuario, las
cuales pueden ser desde, el acceso a una página no deseada, el
redireccionamiento de algunas páginas de internet, suplantación de identidad
o incluso la destrucción o daño temporal a los registros del sistemas, archivos
y/o carpetas propias. El virus informático es un programa elaborado
accidental o intencionadamente, que se introduce y se transmite a través
cualquier medio extraíble y transportable o de la misma red en la que se
encuentre un equipo infectado, causando diversos tipos de daños a los
sistemas.
Históricamente los virus informáticos fueron descubiertos por la prensa el 12
de octubre de 1985, con una publicación del New York Times que hablaba de
un virus que fue se distribuyó desde un BBS y aparentemente era para
optimizar los sistemas IBM basados en tarjeta gráfica EGA, pero al ejecutarlo
salía la presentación pero al mismo tiempo borraba todos los archivos del
disco duro, con un mensaje al finalizar que decía "Caíste".
Este dato se considera como el nacimiento de su nombre, ya que los
programas con código integrado, diseñados para hacer cosas inesperadas
han existido desde que existen las propias computadoras. Las primeras
referencias de virus con fines intencionales surgieron en 1983 cuando Digital
Equipament Corporation (DEC) empleó una subrutina para proteger su
famoso procesador de textos Decmate II, que el 1 de abril de 1983 en caso
de ser copia ilegal borraba todos los archivos de su unidad de disco.
Actores que amenazan la seguridad[editar · editar código]
Un hacker es cualquier persona con amplios conocimientos en
tecnología, bien puede ser informática, electrónica o comunicaciones,
mantiene permanentemente actualizado y conoce a fondo todo lo
relacionado con programación y sistemas complejos; es un investigador
nato que se inclina ante todo por conocer lo relacionado con cadenas de
datos cifrados y las posibilidades de acceder a cualquier tipo de
"información segura". Su formación y las habilidades que poseen les da
una experticia mayor que les permite acceder a sistemas de información
seguros, sin ser descubiertos, y también les da la posibilidad de difundir
sus conocimientos para que las demás personas se enteren de cómo es
que realmente funciona la tecnología y conozcan las debilidades de sus
propios sistemas de información.
Un cracker, es aquella persona con comportamiento compulsivo, que
alardea de su capacidad para reventar sistemas electrónicos e
informáticos. Un cracker es un hábil conocedor de programación de
Software y Hardware; diseña y fabrica programas de guerra y hardware
para reventar software y comunicaciones como el teléfono, el correo
electrónico o el control de otros computadores remotos.
Un lamer Es una persona que alardea de pirata informático, cracker o
hacker y solo intenta utilizar programas de FÁCIL manejo realizados por
auténticos hackers.
Un copyhacker' es una persona dedicada a falsificar
y crackear hardware, específicamente en el sector de tarjetas
inteligentes. Su estrategia radica en establecer amistad con los
verdaderos Hackers, para copiarles los métodos de ruptura y después
venderlos los bucaneros. Los copyhackers se interesan por poseer
conocimientos de tecnología, son aficionados a las revistas técnicas y a
leer todo lo que hay en la red. Su principal motivación es el dinero.
Un "bucanero" es un comerciante que depende exclusivamente de de la
red para su actividad. Los "bucaneros" no poseen ningún tipo de
formación en el área de los sistemas, si poseen un amplio conocimiento
en área de los negocios.
Un phreaker se caracterizan por poseer vastos conocimientos en el área
de telefonía terrestre y móvil, incluso más que los propios técnicos de las
compañías telefónicas; recientemente con el auge de los teléfonos
móviles, han tenido que entrar también en el mundo de la informática y
del procesamiento de datos.
Un newbie o "novato de red" es un individuo que sin proponérselo
tropieza con una página de hacking y descubre que en ella existen áreas
de descarga de buenos programas de hackeo, baja todo lo que puede y
empieza a trabajar con ellos.
Un script kiddie o skid kiddie, es un simple usuario de Internet, sin
conocimientos sobre hackeo o crackeo que, aunque aficionado a estos
tema, no los conoce en profundidad limitándose a recopilar información
de la red y a buscar programas que luego ejecuta, infectando en algunos
casos de virus a sus propios equipos.
Un tonto o descuidado, es un simple usuarios de de la información, con
o sin conocimientos sobre hackeo o crackeo que accidentalmente borra
daña o modifica la información, ya sea en un mantenimiento de rutina o
supervision.
Otros conceptos[editar · editar código]
Otros conceptos relacionados son:3
Auditabilidad: Permitir la reconstrucción, revisión y análisis de la
secuencia de eventos
Identificación: verificación de una persona o cosa; reconocimiento.
Autenticación: Proporcionar una prueba de identidad; puede ser algo
que se sabe, que se es, se tiene o una combinación de todas.
Autorización: Lo que se permite cuando se ha otorgado acceso
No repudio: no se puede negar un evento o una transacción.
Seguridad en capas: La defensa a profundidad que contenga la
inestabilidad
Control de Acceso: limitar el acceso autorizado solo a entidades
autenticadas
Métricas de Seguridad, Monitoreo: Medición de actividades de
seguridad
Gobierno: proporcionar control y dirección a las actividades
Estrategia: los pasos que se requieren para alcanzar un objetivo
Arquitectura: el diseño de la estructura y las relaciones de sus
elementos
Gerencia: Vigilar las actividades para garantizar que se alcancen los
objetivos
Riesgo: la explotación de una vulnerabilidad por parte de una amenaza
Exposiciones: Áreas que son vulnerables a un impacto por parte de una
amenaza
Vulnerabilidades: deficiencias que pueden ser explotadas por
amenazas
Amenazas: Cualquier acción o evento que puede ocasionar
consecuencias adversas
Riesgo residual: El riesgo que permanece después de que se han
implementado contra medidas y controles
Impacto: los resultados y consecuencias de que se materialice un riesgo
Criticidad: La importancia que tiene un recurso para el negocio
Sensibilidad: el nivel de impacto que tendría una divulgación no
autorizada
Análisis de impacto al negocio: evaluar los resultados y las
consecuencias de la inestabilidad
Controles: Cualquier acción o proceso que se utiliza para mitigar el
riesgo
Contra medidas: Cualquier acción o proceso que reduce la
vulnerabilidad
Políticas: declaración de alto nivel sobre la intención y la dirección de la
gerencia
Normas: Establecer los límites permisibles de acciones y procesos para
cumplir con las políticas
Ataques: tipos y naturaleza de inestabilidad en la seguridad
Clasificación de datos: El proceso de determinar la sensibilidad y
Criticidad de la información
Gobierno de la Seguridad de la Información[editar · editar código]
Un término a tomar en cuenta en el área de la seguridad de la información es
su Gobierno dentro de alguna organización empezando por determinar los
riesgos que le atañen y su forma de reducir y/o mitigar impactos adversos a
un nivel aceptable mediante el establecimiento de un programa amplio y
conciso en seguridad de la información y el uso efectivo de recursos cuya
guía principal sean los objetivos del negocio, es decir, un programa que
asegure una dirección estratégica enfocada a los objetivos de una
organización y la protección de su información.
Tecnologías[editar · editar código]
Las principales tecnologías referentes a la seguridad de la información en
informática son:4
Cortafuegos
Administración de cuentas de usuarios
Detección y prevención de intrusos
Antivirus
Infraestructura de llave publica
Capas de Socket Segura (SSL)
Conexión única "Single Sign on- SSO"
Biométria
Cifrado
Cumplimiento de privacidad
Acceso remoto
Firma digital
Intercambio electrónico de Datos "EDI" y Transferencia Electrónica de
Fondos "EFT"
Redes Virtuales Privadas "VPNs"
Transferencia Electrónica Segura "SET"
Informática Forense
Recuperación de datos
Tecnologías de monitoreo
onceptos de Seguridad
Los conceptos confidencialidad, integridad o disponibilidad son muy comunes en el ámbito de la seguridad y aparecen como fundamentales en toda arquitectura de seguridad de la información, ya sea en el ámbito de la protección de datos, normativa vigente relacionada con la protección de datos de carácter personal, como de códigos de buenas prácticas o recomendaciones sobre gestión de la seguridad de la información y de prestigiosas certificaciones internacionales, éstas últimas, relacionadas con la auditoría de los sistemas de información. Suele referirse al grupo de estas características como CIDAN, nombre sacado de la inicial de cada característica.Por estos motivos es importante tener una idea clara de estos conceptos.
Confidencialidad
Se trata de la cualidad que debe poseer un documento o archivo para que este solo se entienda de manera comprensible o sea leído por la persona o sistema que este autorizado.
De esta manera se dice que un documento (o archivo o mensaje) es confidencial si y solo si puede ser comprendido por la persona o entidad a quien va dirigida o esté autorizada. En el caso de un mensaje esto evita que exista una intercepción de este y que pueda ser leído por una persona no autorizada.
Por ejemplo, si Andrea quiere enviar un mensaje a Bruno y que solo pueda leerlo Bruno, Andrea cifra el mensaje con una clave (simétrica o asimétrica), de tal modo que solo Bruno sepa la manera de descifrarlo, así ambos usuarios están seguros que solo ellos van a poder leer el mensaje.
Integridad
La integridad es la cualidad que posee un documento o archivo que no ha sido alterado y que además permite comprobar que no se ha producido manipulación alguna en el documento original. Aplicado a las bases de datos seria la correspondencia entre los datos y los hechos que refleja.
Teniendo como muestra el ejemplo anterior. Finalmente Bruno compara ambas funciones resumen, que se trata de una función que produce un valor alfanumérico que identifica cualquier cambio que se produzca en el mensaje, y si éstas funciones son iguales, quiere decir que no ha existido manipulación del mensaje
Autenticación
La autenticación es la situación en la cual se puede verificar que un documento ha sido elaborado (o pertenece) a quien el documento dice.
Aplicado a la verificación de la identidad de un usuario, la autenticación se produce cuando el usuario puede aportar algún modo de que se pueda verificar que dicha persona es quien dice ser, a partir de ese momento se considera un usuario autorizado.
Otra manera de definirlo seria, la capacidad de determinar si una determinada lista de personas ha establecido su reconocimiento sobre el contenido de un mensaje.
Disponibilidad
Se trata de la capacidad de un servicio, de unos datos o de un sistema, a ser accesible y utilizable por los usuarios (o procesos) autorizados cuando estos lo requieran.
No repudio
El no repudio o irrenunciabilidad es un servicio de seguridad estrechamente relacionado con la autenticación y que permite probar la participación de las partes en una comunicación. La diferencia esencial con la autenticación es que la primera se produce entre las partes que establecen la comunicación y el servicio de no repudio se produce frente a un tercero, de este modo, existirán dos posibilidades:
No repudio en origen: El emisor no puede negar que envío porque el destinatario tiene pruebas del envío, el receptor recibe una prueba infalsificable del origen del envío, lo cual evita que el emisor, de negar tal envío, tenga éxito ante el juicio de terceros. En este caso la prueba la crea el propio emisor y la recibe el destinatario
No repudio en destino: El receptor no puede negar que recibió el mensaje porque el emisor tiene pruebas de la recepción. Este servicio proporciona al emisor la prueba de que el destinatario legítimo de un envío, realmente lo
recibió, evitando que el receptor lo niegue posteriormente. En este caso la prueba irrefutable la crea el receptor y la recibe el emisor.
Si la autenticidad prueba quién es el autor de un documento y cual es su destinatario, el “no repudio” prueba que el autor envió la comunicación (no repudio en origen) y que el destinatario la recibió (no repudio en destino).
Relación de los servicios de seguridad
En la imagen superior se ilustra como se relacionan los diferentes servicios de seguridad, unos dependen de otros jerárquicamente, así si no existe el de mas abajo, no puede aplicarse el superior. De esta manera, la disponibilidad se convierte en el primer requisito de seguridad, cuando existe esta, se puede disponer de confidencialidad, que es imprescindible para conseguir integridad, para poder obtener autenticación es imprescindible la integridad y por ultimo el no repudio solo se obtiene si se produce previamente la autenticación.
Top Related