Encriptación II

20/11/2003 - 15:51 por Jimy | Informe spam
Gracias por vuestros consejos.
Ya estoy utilizando un componente ActiveX que es bastante sencillo y rápido.

La cuestion que surge ahora es la siguiente:

Almaceno datos de clientes, que se encriptan, en una BD.
La cuestión es que si quiero efectuar una búsqueda tipo:
select * from tblclientes where nombre like %busca%
como los datos están encriptados ésto no funciona.
Lo que se me ha ocurrido es que cuando se produzca una búsqueda, crear una
tabla temporal conteniendo todos los datos desencriptados de la tabla
original y sobre esta nueva tabla efectuar la búsqueda. Y en cuento se
extraen los datos solicitados se borra la tabla temporal.
Lo que pasa es que este método me parace un poco "bruto" y ademas puede
enlentecer bastante los tiempos de respuesta.

¿Algún consejo?

Salu2

Preguntas similare

Leer las respuestas

#1 Jhonny Vargas P. [MVP]
20/11/2003 - 16:00 | Informe spam
y no los puedes desencriptar?

o encriptar el dato que vas a buscar previamente?

Saludos,
Jhonny Vargas P. [MS MVP]
Santiago de Chile


"Jimy" wrote in message
news:bpikfi$ggm$
Gracias por vuestros consejos.
Ya estoy utilizando un componente ActiveX que es bastante sencillo y


rápido.

La cuestion que surge ahora es la siguiente:

Almaceno datos de clientes, que se encriptan, en una BD.
La cuestión es que si quiero efectuar una búsqueda tipo:
select * from tblclientes where nombre like %busca%
como los datos están encriptados ésto no funciona.
Lo que se me ha ocurrido es que cuando se produzca una búsqueda, crear una
tabla temporal conteniendo todos los datos desencriptados de la tabla
original y sobre esta nueva tabla efectuar la búsqueda. Y en cuento se
extraen los datos solicitados se borra la tabla temporal.
Lo que pasa es que este método me parace un poco "bruto" y ademas puede
enlentecer bastante los tiempos de respuesta.

¿Algún consejo?

Salu2


Respuesta Responder a este mensaje
#2 danicastillo
20/11/2003 - 16:11 | Informe spam
Hombre en una bd en la que vas a usar busquedas con like yo "nunca" usaria
encriptacion, el metodo de la tabla q dices, funcionara si tienes pocos
registros, y si tienes pocos usuarios simultaneos, pero imagina a 100
clientes haciendo una consulta simultanea de una tabla de 100000
registros. tu servidor va a hacer pluf =)

existen algunas excepciones, si la encriptacion es no dependiente del
contexto (es decir por poner un ejemplo, la palabra "pepe" se codifica
siempre como "ñlkm" independientemente de donde aparezca en una frase)
puedes probar a buscar el encriptado de lo que pasan por parametro en lugar
de desencriptar todo... pero las encriptaciones como esa no son precisamente
abundantes porque son francamente debiles =)

si en lugar de por like buscas por un = estricto puedes usar esa tecnica
perfectamente

realmente creo que te has metido en problemas para lo que estas haciendo, en
un sistema de seguridad no basta con encriptar, y en algunos casos,
encriptar no soluciona nada y complica las cosas =)

analiza el tema un poco, habra campos que quieres q esten encriptados, otros
no, otros sobre los que quieres busquedas exactas, otros busquedas con like,
etc, haz un esquema, encripta solo lo critico

planteate "porque" quieres encriptar esos datos en la bbdd, teniendo en
cuenta que:

1- la bbdd normalmente no es accesible desde fuera del sitio web (o no
deberia serlo!) , asi q encriptar datos para evitar accesos desde http no
reporta beneficio

2- la bbdd "podria" ser accesible desde alguna vulnerabilidad ftp, o
accesible por cualquiera que realmente tenga acceso ftp o fisico al
servidor, en ese caso esa persona tambien tendra acceso a tu asp, a tu
componente, y por tanto podra desencriptar todo lo que tienes (si tu
encriptacion es bidireccional) , en este caso encriptar los campos es
realmente equivalente a poner contraseña a la bbdd y usar las rutinas
propias del motor (ejemplo si es access, o la clave de una sql, etc) , es
decir, son "saltables", solo evitan acceso accidental, no acceso
premeditado, en este caso son equivalentes... y la clave en bbdd es mil
veces mas sencilla de implementar =)

3- en algunos casos puedes usar encriptacion unidireccional para algunas
cosas, los datos son encriptables, pero no desencriptables (de ninguna
forma, ni tu mismo) eso vale para usar la tecnica de buscar algo por su
texto encriptado, no por su desencriptado. de esta forma pase lo q pase no
se pueden ver esos datos, pero ojo, ni siquiera se pueden mostrar por
pantalla desde asp, solo sirven para casos concretos, ejemplo: las
contraseñas de los usuarios, no hace falta q el sistema conozca la
contraseña original, solo su encriptado

en general, recuerda q un sistema es tan debil como su componente mas debil,
si lo q te preocupa es q te salten el ftp , es inutil intentar encriptar
campos etc etc etc, el q te salte el ftp accedera a tu bbdd , y a tu codigo,
y vera todo, la solucion no es acumular encriptaciones ni sistemas de
seguridad en otros lados, la solucion es mejorar el ftp para que no entren
por ahi =)


te pongo un ejemplo, tu creas ahora tu asp, con control de entrada de
usuarios (poniendo una variable session ("validado")="1" por ejemplo,
consultando los campos en una bbdd encriptada , con contraseña, etc etc) yo
ahora entro a tu ftp o tengo acceso fisico a tu servidor, ¿crees q me
molestare en analizar el encriptado? , no , mas q nada porque soy vago
jajaja, lo que hare es mirar tu asp
y donde digas
if session("validado")="1" then..
else
no tiene acceso
end if

y me creare un pequeño asp que diga
session("validado")="1"
response.redirect..

eso como ejemplo, sino simplemente mirando donde estas "validando" usuarios
en tu asp , algo como

if usuario=desencriptar(rs(") and contraseña

, lo destripare y pondre algo como
if TRUE then ...

=) , ala , ya tendre acceso a todo


-o|o|--
-o|o| dani castillo
-o|o| http://www15.brinkster.com/danic/
-o|o| tutorial y trucos asp, vb, diseño
-o|o|--
"Jimy" escribió en el mensaje
news:bpikfi$ggm$
Gracias por vuestros consejos.
Ya estoy utilizando un componente ActiveX que es bastante sencillo y


rápido.

La cuestion que surge ahora es la siguiente:

Almaceno datos de clientes, que se encriptan, en una BD.
La cuestión es que si quiero efectuar una búsqueda tipo:
select * from tblclientes where nombre like %busca%
como los datos están encriptados ésto no funciona.
Lo que se me ha ocurrido es que cuando se produzca una búsqueda, crear una
tabla temporal conteniendo todos los datos desencriptados de la tabla
original y sobre esta nueva tabla efectuar la búsqueda. Y en cuento se
extraen los datos solicitados se borra la tabla temporal.
Lo que pasa es que este método me parace un poco "bruto" y ademas puede
enlentecer bastante los tiempos de respuesta.

¿Algún consejo?

Salu2


Respuesta Responder a este mensaje
#3 Daniel Álvarez
20/11/2003 - 16:11 | Informe spam
Claro. Como te dice Jhonny la mejor manera sería buscar por el dato
encriptado siempre y cuando uses un algoritmo que te asegures que encripta
siempre dejando el mismo valor. Es que no se como se llama ese tipo de
algoritmo pero hay algoritmos que un mismo valor lo pueden encriptar dando
distintas cadenas

Ejemplo:

encriptar hola puede ser ksaksks999 o yeyewwu11 aplicando los mismos
parametros. Si usaras un encriptador de este tipo no te valdría pero sino
como dice Jhonny la mejor manera sería buscar por el dato encriptado.

Daniel Álvarez




"Jhonny Vargas P. [MVP]" escribió en el
mensaje news:
y no los puedes desencriptar?

o encriptar el dato que vas a buscar previamente?

Saludos,
Jhonny Vargas P. [MS MVP]
Santiago de Chile


"Jimy" wrote in message
news:bpikfi$ggm$
> Gracias por vuestros consejos.
> Ya estoy utilizando un componente ActiveX que es bastante sencillo y
rápido.
>
> La cuestion que surge ahora es la siguiente:
>
> Almaceno datos de clientes, que se encriptan, en una BD.
> La cuestión es que si quiero efectuar una búsqueda tipo:
> select * from tblclientes where nombre like %busca%
> como los datos están encriptados ésto no funciona.
> Lo que se me ha ocurrido es que cuando se produzca una búsqueda, crear


una
> tabla temporal conteniendo todos los datos desencriptados de la tabla
> original y sobre esta nueva tabla efectuar la búsqueda. Y en cuento se
> extraen los datos solicitados se borra la tabla temporal.
> Lo que pasa es que este método me parace un poco "bruto" y ademas puede
> enlentecer bastante los tiempos de respuesta.
>
> ¿Algún consejo?
>
> Salu2
>
>


Respuesta Responder a este mensaje
#4 Jimy
20/11/2003 - 17:29 | Informe spam
Gracias Jhonny. Costesto mejor en el hilo de Dani que toca el corazón del
problema

"Jhonny Vargas P. [MVP]" escribió en el
mensaje news:
y no los puedes desencriptar?

o encriptar el dato que vas a buscar previamente?

Saludos,
Jhonny Vargas P. [MS MVP]
Santiago de Chile


"Jimy" wrote in message
news:bpikfi$ggm$
> Gracias por vuestros consejos.
> Ya estoy utilizando un componente ActiveX que es bastante sencillo y
rápido.
>
> La cuestion que surge ahora es la siguiente:
>
> Almaceno datos de clientes, que se encriptan, en una BD.
> La cuestión es que si quiero efectuar una búsqueda tipo:
> select * from tblclientes where nombre like %busca%
> como los datos están encriptados ésto no funciona.
> Lo que se me ha ocurrido es que cuando se produzca una búsqueda, crear


una
> tabla temporal conteniendo todos los datos desencriptados de la tabla
> original y sobre esta nueva tabla efectuar la búsqueda. Y en cuento se
> extraen los datos solicitados se borra la tabla temporal.
> Lo que pasa es que este método me parace un poco "bruto" y ademas puede
> enlentecer bastante los tiempos de respuesta.
>
> ¿Algún consejo?
>
> Salu2
>
>


Respuesta Responder a este mensaje
#5 Jhonny Vargas P. [MVP]
20/11/2003 - 17:33 | Informe spam
Pero por favor... dani te dio mucho mas información... no hay problema!!!!


Saludos,
Jhonny Vargas P. [MS MVP]
Santiago de Chile


"Jimy" wrote in message
news:
Gracias Jhonny. Costesto mejor en el hilo de Dani que toca el corazón del
problema

"Jhonny Vargas P. [MVP]" escribió en el
mensaje news:
> y no los puedes desencriptar?
>
> o encriptar el dato que vas a buscar previamente?
>
> Saludos,
> Jhonny Vargas P. [MS MVP]
> Santiago de Chile
>
>
> "Jimy" wrote in message
> news:bpikfi$ggm$
> > Gracias por vuestros consejos.
> > Ya estoy utilizando un componente ActiveX que es bastante sencillo y
> rápido.
> >
> > La cuestion que surge ahora es la siguiente:
> >
> > Almaceno datos de clientes, que se encriptan, en una BD.
> > La cuestión es que si quiero efectuar una búsqueda tipo:
> > select * from tblclientes where nombre like %busca%
> > como los datos están encriptados ésto no funciona.
> > Lo que se me ha ocurrido es que cuando se produzca una búsqueda, crear
una
> > tabla temporal conteniendo todos los datos desencriptados de la tabla
> > original y sobre esta nueva tabla efectuar la búsqueda. Y en cuento


se
> > extraen los datos solicitados se borra la tabla temporal.
> > Lo que pasa es que este método me parace un poco "bruto" y ademas


puede
> > enlentecer bastante los tiempos de respuesta.
> >
> > ¿Algún consejo?
> >
> > Salu2
> >
> >
>
>


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida