PDA

Ver la Versión Completa : seguridad en bases de datos


anubis
12-07-2012, 17:25:23
Hola amigos,

Estaba buscando información a cerca de la seguridad en las bases de datos y su encriptación, pero veo algunas diferencias.

Sqlite: En sí misma no tiene seguridad ni encriptación, salvo que cambies la sqlite3.dll por otra del sistema net.
Firebird: La base de datos no está encriptada pero sí se guardan las contraseñas en el archivo securty.gbd (creo que era este).
Postgrestql: ALgo vi al respecto de esta base de datos, pero sí puede encriptar la base de datos con unos script o dll.
Mysql: No encontré la forma en que codifica.

El por qué saco esta cuestión viene porque para bases de datos locales decís en otros post que es un tanto absurdo salvo que estes protegiendo datos de la NASA ;).

Bueno os comento un detalle que he visto.

Algunas aplicaciones locales como programas de pacientes de medicina en la que los datos son bastante sensibles de proteger y a la que se accede a través del programa con un usuario y contraseña, que chiste tiene que no puedas acceder sino estás autorizado pero sí puedas acceder a la base de datos por fuera y ver los datos o incluso te la puedas llevar a otro sitio.

Quizá los datos no sean de extrema importancia para muchos, pero para las empresas que no quieran que sus empleados con conocimientos puedan alterar directamente esos datos desde la propia base de datos en beneficio propio.

Es por estos casos, que os causan gracia (a algunos) que se necesitan proteger en un sistema local dichas bases de datos y que por desgracia, para mis pocos conocimientos, no hay por eso se ha preguntado en el foro la manera de encriptar dichas bases de datos.

Está claro que, al encriptar la base de datos, requiere de más esfuerzo por la CPU (pienso yo), pero por lo menos, si se copian la base de datos, les lleve trabajo averiguar la forma de "romper" la encriptación.

como añadidura, hay un programa que se llama Lita (usa sqlite), programado con adobe air, que si permite encriptación(te da la cadena de la password), pero parece que no se puede implementar en delphi, con lo que estamos en las mismas.

Y si he visto que si quiero abrir una base de datos(no me acuerdo cual era) con un manager, me pide una contraseña, que eso seria lo ideal.

Ustedes perdonen por abrir este post.

Un saludo.

mightydragonlor
12-07-2012, 17:46:49
Cuando el caso es tan puntual sobre un único cliente, la mejor opción para mi, es usar Firebird embebido, lo único que debes hacer es cifrar el archivo como tal y al abrir el programa lo descifras, al cerrarlo, lo vuelves a cifrar y ya, es mas efectivo que cifrar los datos, ya que si cada registro de las tablas es cifrado, las consultas pierden su eficiencia.

Saludos.

Casimiro Notevi
12-07-2012, 17:47:58
Es algo que hemos hablado muchas veces :)

Veamos, lo que no es "normal" es que llegue alguien, copie la base de datos y se la lleve. Eso sí que no es normal.
Si hay alguien con "conocimientos" para usar programas externos y conseguir los datos de la BD... entonces ¿están robando?, porque si es la enfermera quien hace eso... ¿qué hay que hacer entonces?, ¿ponerle un guardián a cada trabajador?. Aquí llegaríamos al mismo problema que al de la protección anticopia del software, que por mucha protección que se ponga... se termina copiando.

Entonces, ¿qué puedes hacer?, algo intermedio, por ejemplo, puedes cifrar el nombre del paciente y sus datos personales y si roban la BD entonces verán que "alguien" se rompió la nariz haciendo el salto del tigre, pero no podrán leer de quién se trata porque está cifrado.

Para hacer eso sólamente es necesario cifra el dato al guardar y descifrar al leer, algo muy simple que prácticamente no consume recurso y no afecta en nada más.
Todo lo demás, la verdad, no sirve para nada, salvo poner varios vigilantes junto al servidor, pero incluso así pueden sobornar a los vigilantes.

anubis
12-07-2012, 18:08:04
Gracias a los dos por contestar,

Efectivamente, sí está complicado como decís. No se puede poner un vigilante ;) para controlar que hace el usuario con el sistema ;).
También tenéis razón, no se puede encriptar los datos por los problemas posteriores en las consultas, pero quizá sí se pueda encriptar el archivo y desencriptarlo al usarlo que, si es una aplicación de un doctor, se la pase desencriptada todo el tiempo y hay un archivo temporal abierto desencriptado por alguna parte:(.

Y sí, no es normal que alguien llegue y se copie la base de datos, pero si pasa, como pasan otras muchas cosas.

Principalmente no es que uno sea paranoico con esto, simplemente, son los comentarios de algunos clientes, puesto que la base de datos está en la misma máquina que el programa, todo sería más fácil si fuera por red, pero en este caso, por fuerza, tiene que ser de forma local.

Creo recordar que sql server encriptaba toda la base de datos, pero evidentemente, es un sistema que no es open source como firebird por ejemplo, aunque creo que la versión alpha de firebird 3 tiene en consideración la encriptación de la base de datos.

Como ya sabeis, hay bastante clientes paranoicos y sólo le ponen "peros" pero no dejan más opciones.

Casimiro Notevi
12-07-2012, 18:25:24
Para esos casos de clientes demasiado paranóicos, les cuento lo que le pasó a otro cliente que quería todo cifrado, claves por todos lados, tenía el servidor en una habitación bajo llave, le había quitado cdrom, disquetera, etc. a todos los equipos para que no copiaran los datos y se lo llevaran.
Cada trabajador tenía su login, clave, clave especial para según qué cosas, permisos, privilegios, etc. Además quedaba registrado todo lo que hacía todo el mundo, en qué opción entraba, qué había hecho, a qué hora, qué datos había cambiado, qué había copiado, borrado, creado, etc.

Un fin de semana entraron al almacen por el tejado, se llevaron todos los ordenadores, impresoras, etc. y el servidor también.
Compró nuevos equipos y un nuevo servidor (luego se lo pagó el seguro) y fuimos a recuperar un backup que tenía de hacía unos meses, ¡¡¡pero no recordaba la clave que le puso!!!, ya que cada vez que hacía un backup, él mismo se encargaba de poner una clave, para que nadie la supiera.
Y no hace falta que cuente nada más.

Al González
12-07-2012, 18:26:11
[...] hay bastante clientes paranoicos [...]
Si son tan "paranoicos", seguramente pueden invertir en una buena cerradura para la habitación donde sea más seguro colocar un servidor económico de medianas características (en la oficina del gerente o director por ejemplo). Con eso y un buen asesor jurídico tienen más que suficiente para hacer frente a cualquier contingencia de robo de datos personales.

El informático suele pensar que todo es responsabilidad de él y que la tecnología debe ser capaz de cubrir cualquier necesidad. Ni una cosa, ni la otra. :)

mightydragonlor
12-07-2012, 18:27:13
JAJAJAJAJAJAJAJA
Realmente hay personas demasiado paranoicas. xD

luisgutierrezb
12-07-2012, 18:48:55
Entiendo tu problema y a tus clientes, sin embargo tiene que haber un punto intermedio, simplemente quisiera saber que medico me daría total privacidad para cuando vaya a verlo no me vea nadie mas, ni otro paciente, seria posible? tal vez si, practico y barato? no lo creo simplemente, cuantos doctores ofrecen esto yo no conozco a alguno que lo haga..., yo creo que la solución es, password para inicio de sesión a la computadora (claro alguien puede llegar y arrancar con un cd, pero si el doctor deja la puerta sin llave, no es culpa del sistema) y utilizar el cifrado de windows, que si alguien copia el archivo en otra computadora no se podrá ver, volvemos al punto anterior de que si alguien copia el archivo, quien lo dejo entrar? el doctor por no poner la llave? la enfermera porque le dio dinero? esos ya no son problemas del sistema, ahora que pasa si se daña el windows, simplemente la base de datos ya no podrá ser leída porque requiere la cuenta en especifico para desencriptar, entonces requerimos los respaldos, pero los respaldos tienen que estar en un lugar físico, una caja fuerte que alguien puede abrir en el mejor de los casos, entonces caemos creo yo, en el factor humano, porque lo mas probable es que si un doctor deja la puerta abierta, se expone a que le roben el equipo, aunque no le puedan sacar la información, o se expone a que le abran la caja fuerte, muy probablemente no por obtener los respaldos, si no por dinero u otras cosas que pudiera guardar, que ellos primero asuman su responsabilidad y con base en eso se puede trabajar pero no puedes hacer todo desde un sistema...

Delphius
12-07-2012, 19:55:00
for i := 1 to Infinito do
writeln('Nunca más voy a decir (des)encriptar. Debo aprender a golpes que es (des)cifrar');

newtron
13-07-2012, 09:41:23
El tema del acceso a los datos es un asunto bastante sensible y en España está regulado por la ley de protección de datos. En particular los datos médicos son especialmente sensibles y hay ciertas obligaciones que hay que cumplir como el que haya claves de acceso por usuario, que se queden grabados los accesos, etc. así que no es capricho de los usuarios, simplemente hay que cumplir la ley para prevenir sanciones.

Otra cosa es llevar esto a los extremos que se están comentando, lo que tampoco tiene mucho sentido porque, como se ha dicho, en caso de querer al final acabarán sacando la información.

Saludos

anubis
28-08-2012, 03:21:05
Mira en eso tienes razon, hay qu ecumplir ciertas obligaciones, pero tampoco creo que hay aque ser paranoico.
Solo preguntaba en el caso de que quieran abrir la base de datos fuera del programa general nada mas.
De hecho, como digo, hay varias bases de datos que si encriptan la propia base de datos en forma local por ejemplo.

Como pregunta interesante hecha en voz alta, nose si en la parte tecnica seria comprimir la base de datos completa y luego se usa alguna dll que desencripta, no creo que en memoria si la base de datos es enorme.

Lo que intento es por lo menos saber como podria funcionar a nivel teorico.

Hay otras partes que hablan de encriptar el filesystem.

Si veo que tiene el tema mucha complejidad.... sorry

newtron
28-08-2012, 09:15:35
Bueno, imagino que lo adecuado para el caso que comentas es que la base de datos tenga la posibilidad de funcionar encriptada, que no sé si es el caso, o en su defecto que tenga un password para poder abrirla.

Casimiro Notevi
28-08-2012, 10:13:06
También puedes cifrar los datos que más te interese ocultar y descifrarlos cuando los leas, pero en ese caso no podrás hacer búsquedas "normales" por ese campo, ni ordenarlo ni cosas habituales.
Tendrías que pensar/planificar bien exactamente lo que necesitas y buscar la solución adecuada.

roman
28-08-2012, 18:31:06
En MySQL, instalado en un servidor unix, la base de datos como tal, o sea, los archivos, se guardan en un directorio al que sólo puede acceder el usuario mysql y root, y todo el acceso a los datos se hace através del usuario mysql, es decir, el demonio de mysql correo bajo este usuario.

La implicación de esto es que, si bien puedo tener acceso al servidor, no hay manera, como usuario regular, que pueda extraer los archivos de una base de datos.

En Windows, por lo general no nos fijamos en estas cosas, pero sospecho fuertemente que se puede hacer algo similar. Con ello se logra que los usuarios del sistemas no puedan llevarse la información a sus casas. A menos, claro está, que se lleven el disco duro, pero para eso hay otro tipo de medidas de seguridad.

// Saludos

Casimiro Notevi
28-08-2012, 19:26:59
Claro, posibilidades hay muchas, como bien dices, en linux dejas el directorio de la base de datos para que sólo tenga acceso firebird y ya nadie podrá entrar a hacer nada en él. Salvo que vayan escribiendo la clave en un papelito junto al servidor :p

Pero todas estas cosas, por muy protegidas que estén, no sirven de nada si (por ejemplo) el programa tiene una opción que dice: "Hacer backup de la base de datos" :D y se la lleva a su casa :confused:

roman
28-08-2012, 19:44:45
Claro. Pero creo que la situación original que plantea el usuario no es un caso de paranoia extrema. Se tiene una base y un sistema al que sólo puede acceder un grupo de usuarios. Si uno de estos usuarios o, peor, cualquier otro usuario de la pc, puede llevarse a casa el archivo, esto es, acceder físicamente a la base de datos, entonces no estamos ante un caso de paranoia extrema sino de mala seguridad.

// Saludos

Casimiro Notevi
28-08-2012, 19:49:45
... esto es, acceder físicamente a la base de datos, entonces no estamos ante un caso de paranoia extrema sino de mala seguridad.

Cierto, grave fallo de seguridad.

ElMug
22-09-2012, 12:42:56
A los que insisten en que encriptar, o cifrar da alguna proteccion de gran nivel, se les olvida que la seguridad se debe de basar en el acceso a la data.

Una persona maligna que tenga acceso a los archivos, y no los pueda leer por estar cifrados, QUE hay que le impida que los DAÑE?

Ahora, si los datos van a estar cifrados, cuantos cifrados tendria que haber para poder prescindir de la restriccion de accesos mediante "roles"?

Que el cifrado de la data no brinda realmente gran seguridad, lo demuestra el hecho de que el cifrado o encriptado no es de uso comun, aun cuando la data es critica. La seguridad se basa en el control de accesos, no en cifrar.

Esto tambien se puede razonar en el hecho de que las principales base de datos, las mas potentes, no tienen la funcion de cifrar como opcion basica.

Lo que SI se cifra son los passwords, y gran parte de la proteccion viene del sistema operativo y los servicios usados.

Si alguien se puede meter a los archivos a "ver" si estan o no cifrados, entonces SI HAY un GRAN problema de SEGURIDAD, mas no tiene que ver con que los archivos esten o no cifrados.

Delphius
22-09-2012, 19:34:58
Lo que SI se cifra son los passwords
MAL. MUY MAL. Allí hay otro problema más de seguridad.

Una password no se debe cifrar. Porque si se ha de cifrar entonces quiere decir que existe la posibilidad de descifrar... ya sea en un segundo o dentro de 50 años.
En todo caso lo que se almacena no es la contraseña sino una representación de la misma que no sea capaz de lograr el paso inverso. Esto se consigue con algoritmos de reducción, como MD5 (http://es.wikipedia.org/wiki/MD5) por ejemplo. Ahora bien esto no quiere decir que tampoco sea infalible... después de todo es posible que incluso los algoritmos de reducción no funcionen como deben.

El asunto pasa por dificultar lo más posible las cosas al atacante de modo que para cuando logre pasar la seguridad la información que contenga no le sea relevante y ya tengas una aplicación más robusta.

Saludos,

Casimiro Notevi
22-09-2012, 19:48:01
Claro, no deben guardarse los passwords cifrados, ya que entonces existe la posibilidad de descifrarlos.
También hay que aclarar que depende para qué se va usar, como siempre, no es lo mismo una tiendecita de barrio que los datos de una entidad bancaria.

mightydragonlor
22-09-2012, 20:32:36
Los password yo los suelo guardar en hash, no es infalible, pero al menos no es reversible, recuerda que hay muchas páginas que puedes llegar con MD5 o con un HASH y te dice cual es su representación, esto es por que ya han calculado miles de millones de contraseñas de manera aleatoria y les han aplicado el MD5, HASH y otros cuantos algoritmos, es mucho trabajo, cabe aclarar.

Saludos.

Casimiro Notevi
22-09-2012, 20:58:55
Los password yo los suelo guardar en hash, no es infalible, pero al menos no es reversible
También suelo seguir ese método.

recuerda que hay muchas páginas que puedes llegar con MD5 o con un HASH y te dice cual es su representación, esto es por que ya han calculado miles de millones de contraseñas de manera aleatoria y les han aplicado el MD5, HASH y otros cuantos algoritmos, es mucho trabajo, cabe aclarar.
De eso no no tenía noticias :eek:

ElMug
29-09-2012, 01:36:11
MAL. MUY MAL. Allí hay otro problema más de seguridad.

Una password no se debe cifrar. Porque si se ha de cifrar entonces quiere decir que existe la posibilidad de descifrar... ya sea en un segundo o dentro de 50 años.
En todo caso lo que se almacena no es la contraseña sino una representación de la misma que no sea capaz de lograr el paso inverso. Esto se consigue con algoritmos de reducción, como MD5 (http://es.wikipedia.org/wiki/MD5) por ejemplo. Ahora bien esto no quiere decir que tampoco sea infalible... después de todo es posible que incluso los algoritmos de reducción no funcionen como deben.

El asunto pasa por dificultar lo más posible las cosas al atacante de modo que para cuando logre pasar la seguridad la información que contenga no le sea relevante y ya tengas una aplicación más robusta.

Saludos,

No estoy hablando de lo que lo que un programador pueda o quiera hacer, en lo que me refiero, es a los motores de datos que hacen su cifrado de los passwords, mediante sus servicios, aun cuando la data esta grabada sin cifrar.

Delphius
29-09-2012, 04:52:37
No estoy hablando de lo que lo que un programador pueda o quiera hacer, en lo que me refiero, es a los motores de datos que hacen su cifrado de los passwords, mediante sus servicios, aun cuando la data esta grabada sin cifrar.
¿WHAT?
NO te entendí. A ver si te explicas.

Lo que yo te critiqué y lo vuelvo a hacer es que NO SE CIFRA UNA PASSWORD. O mejor dicho, no se debería.
Mi crítica fue muy directa y puntual al señalar que el cifrado de password no es correcto ni apropiado. Tu dijiste muy clarito:

Lo que SI se cifra son los passwords

LEE BIEN. Tu dijiste que las password se cifran. Yo simplemente te he dado una explicación de porque NO se cifran. Si tu no entiendes que el proceso por el cual pasan sobre las contraseñas no es un algoritmo de cifrado no es mi problema.

Yo por mi parte lo vuelvo a recalcar, las contraseñas no se cifran. Y no creo que ningun motor de base de datos que se precie guarde una contraseña cifrada... aún con el algoritmo más robusto. Firebird guarda un hash MD5, como así también lo hace Linux.
Y si lo hace Linux ¿es por algo verdad?
No te critico que esté mal o no cifrar una base de datos, o mejor dicho: el contenido de una base de datos. Lee bien lo que yo te he citado.... me limité a lo que es passwaord, sea de base de datos, o lo que fuese. it simple.

Saludos,

ElMug
29-09-2012, 05:21:51
¿WHAT?
NO te entendí. A ver si te explicas.

Lo que yo te critiqué y lo vuelvo a hacer es que NO SE CIFRA UNA PASSWORD. O mejor dicho, no se debería.
Mi crítica fue muy directa y puntual al señalar que el cifrado de password no es correcto ni apropiado. Tu dijiste muy clarito:



LEE BIEN. Tu dijiste que las password se cifran. Yo simplemente te he dado una explicación de porque NO se cifran. Si tu no entiendes que el proceso por el cual pasan sobre las contraseñas no es un algoritmo de cifrado no es mi problema.

Yo por mi parte lo vuelvo a recalcar, las contraseñas no se cifran. Y no creo que ningun motor de base de datos que se precie guarde una contraseña cifrada... aún con el algoritmo más robusto. Firebird guarda un hash MD5, como así también lo hace Linux.
Y si lo hace Linux ¿es por algo verdad?
No te critico que esté mal o no cifrar una base de datos, o mejor dicho: el contenido de una base de datos. Lee bien lo que yo te he citado.... me limité a lo que es passwaord, sea de base de datos, o lo que fuese. it simple.

Saludos,

Tal vez cifrar para ti es una cosa y para mi es otra.

Asi que aclarame:

+ Cual es el verbo que aplicas cuando el password no se graba de manera legible, pero en su lugar se graba algo que esta codificado?

+ Cual es el verbo que se aplica cuando se graba el producto de MD5?

Ahora, de que cómo lo codifica un motor de datos, no creo haberlo puesto en mis comentarios, ni creo que lo haya puesto como interes, o punto de discusion.

Realmente no entiendo el afan en tu argumento, Delphius, asi que haz favor de explicar cual es.

mightydragonlor
29-09-2012, 17:29:55
+ Cual es el verbo que aplicas cuando el password no se graba de manera legible, pero en su lugar se graba algo que esta codificado?

Cifrar, y para obtenerlo de nuevo, descifrar.

+ Cual es el verbo que se aplica cuando se graba el producto de MD5?

Picar o cortar sería lo más apropiado, no existe manera, aún, de aplicar un proceso reversible.
Por esto es que un Password no se cifra, por que se puede obtener el mismo haciendo un proceso inverso.

Saludos.

Delphius
29-09-2012, 20:43:32
Tal vez cifrar para ti es una cosa y para mi es otra.

Por algo está el diccionario. Y existe un amplísimo concenso de lo que es y no es cifrar.


+ Cual es el verbo que aplicas cuando el password no se graba de manera legible, pero en su lugar se graba algo que esta codificado?

Aquí es justamente tu problema: porque para ti justamente es equivalente hablar de manera "ilegible" tanto un algoritmo de cifrado con algoritmo de reducción.
Una cosa es codificar, cuyo objetivo es luego descomponerlo para obtener el original. Y otra muy diferente es obtener una "clave" que represente de manera inequívoca y única un mensaje, o lo que fuese.


+ Cual es el verbo que se aplica cuando se graba el producto de MD5?

No hay un término aceptado en nuestra lengua para ello, pero no por dicha falta se debiera utilizar el término cifrado.
Ya que se trata de algoritmos de reducción lo más de esperarse es que su hubiera un término relacionado con la palabra reducción. Tal vez no sean las mejores palabras las propuestas por mightydragonlor pero es un comienzo.


Ahora, de que cómo lo codifica un motor de datos, no creo haberlo puesto en mis comentarios, ni creo que lo haya puesto como interes, o punto de discusion.

Claro que lo has puesto. Al haber asegurado, y enmarcarlo con mayúsculas lo dejaste bien en claro. Tu mismo lo has asegurado: las contraseñas SI se cifran. Entonces, desde tu punto de vista por tanto en cualquier software que se requiere de una contraseña las mismas estarán cifradas, cual sea el algoritmo elegido no interesa... mientras sea de cifrado.


Realmente no entiendo el afan en tu argumento, Delphius, asi que haz favor de explicar cual es.
Lo expliqué en claro: señalarte tu falta, tu error. Me he limitado a decirte que las contraseñas NO se han de cifrar, o mejor dicho no se deberían (porque hay quienes lo hacen... o peor aún... la almacenan de secas). Que es una falta de seguridad hacerlo ya que como algoritmos de cifrado se puede recuperar el original. Si toma 5, 10 o 50 años no interesa. El punto es que es posible revertirlo.

No sucede lo mismo con los algoritmos de reducción, que no son invertibles. Y he dado dos ejemplos en donde puedes encontrar justamente la utilización de MD5: uno de ellos es precisamente un motor de base de datos, Firebird. Y el otro es un sistema Operativo, Linux. En ambos en lugar de almacenar las contraseñas cifradas, se guarda la reducción o su clave MD5. Y si tienes dudas al respecto, allí tienes sus códigos fuentes... que son proyectos Open Source. Y seguramente se pueden encontrar más ejemplos de la utilización de algoritmos de reducción en lugar de almacenar contraseñas.

No te critiqué en lo demás. Solamente me detuve a señalar tu gravísima falta sobre una apreciación tuya que intentaste pasar como la gran verdad justamente al exponerlas en mayúsculas y en explicarte que en eso estás muy errado.

Y ahora me detengo en señalarte a ti ya que eres tan metido en inglés y en el español como lo has estado dando cátedra estos días... ¿Cómo carajos se te ocurre decir cifrado a algo que no lo es si en verdad no era tu intención llamarlo así? Si hubieras expuesto comillas a la palabra, al menos así se valdría y se entendería que no necesariamente te referías exactamente a un cifrado sino a otra cosas algo "similar". Oh... mira, usé comillas... seguramente las conoces y saben para que son. :p

Saludos,

ElMug
30-09-2012, 04:25:08
Hola Delphius,

Creo que te andas pasando de la raya en tus juicios y te haces eso que te precipites en fallas.

1. En primer lugar, basicamente toda esta tecnologia esta definida en Ingles, y hasta tu mismo admites que no hay palabras apropiadas para algunos terminos en Español

2. Aplicar el resultado de un proceso MD5, por ejemplo, para mi es "Encryption" y yo la traduzco como cifrar. Antes use "encriptar" pero luego vi que esa palabra no existe en el diccionario de la Real Academia Española. En cambio la palabra "cifrar" si existe. Esto lo menciono porque traes como arma de ataque "el uso del diccionario".

3. Los procesos como el MD4, el MD5, los SHA, y sus derivados, en Ingles siguen siendo "encryption algorithms". Y si tu no les puede poner nombre en Español, pues para mi siguen siendo "cifrar".

4. Son algoritmos de "one way", o sea que no hay desde principio "anti-algoritmo", o sea algoritmo de revertir. Mas eso no les quita que sigan siendo "encryption" o "cifrar". Y aunque veo que NO TE PARECE el nombre, veo tambien que NO TIENES alternativa. Es por eso que sinceramente no comprendo tu afan en el argumento.

5. Ahora en cuanto a los errado de tus argumentos, uno de ellos es el que "No se cifran" y argulles que de lo contrario se podria averiguar el password de los usuarios, aunque admites que puede tardar 50 años. Pues bien, fijate que ESA no es la razon por la que se usa el "hashing". La principal razon es porque los algoritmos bi-direccionales son mucho mas lentos que los de tipo "hashing", y tambien usan mas recursos de memoria y CPU. Claro que esto es fundamento historico, pero tu argumento de que con ellos nadie puede saber el password, yo te digo que, actualmente, es mucho mas facil violar un MD5 que un algoritmo de dos vias.

6. Linux, hasta donde se, por ejemplo ya no usa el MD5, pues deberias de saber que simplemente con poner en google el resultado de un hash, es alta la posibilidad de que saque una frase que de ese hash. Y es que hay diccionarios con BILLONES de hashes, disponibles a quien sea que facilitan eso. Claro que el logro se relaciona con lo complejo de el password usado.

7. Aparte, que esta demostrado que por ejemplo para el MD5, hay mas de UNA frase que de como resultado el mismo MD5. Eso ya esta verificado, al grado que el MD5 se considera inapropiado para uso en passwords, y ningun sistema de reputacion lo usa para cifrar passwords ("encriptar" o lo que gusteis llamarle). A eso se le llaman (en Ingles) "Collitions", y creo que serian "coliciones" o "choques", mas no porque no haya el termino (en Español), ya ande uno errado en lo tecnico.

La verdad es que ahorita me gustaria saber de donde sacaste eso de que "no se cifran" los passwords (entendiendo que te refieres a que en exclusiva, se use hashing), y especialmente LAS RAZONES, que lo justifiquen, y no me refiero a la tradicion.

Si crees que "hashing" es de alguna manera "superior" a un algoritmo de dos vias, pues explicate el por que.

Ahora, a falta de terminos, para traducir el cifrado en base de "hashing" o algoritmos uni-direccionales, pues hay varias, y no "picar" como se ha sugerido.

"Comprimir" o "Digerir", diria que serian mucho mas adecuados.

Delphius
30-09-2012, 06:34:23
Hola Delphius,

Creo que te andas pasando de la raya en tus juicios y te haces eso que te precipites en fallas.

No me he pasado en mis juicios pero ahora si lo haré: simplemente estoy demostrando a un completísimo ignorante que no le ha gustado nunca las respuestas que le dieron desde el momento en que llegó. Y pretendía que se le diera hasta el ABC de algunas preguntas. Y que luego pretendía tirar mierda a los que se ofrecieron ayudarlo en un principio porque no les gustaron las soluciones y propuestas que se le fueron dando.
¿Fallas? Por favor... ¡Dame una!


1. En primer lugar, basicamente toda esta tecnologia esta definida en Ingles, y hasta tu mismo admites que no hay palabras apropiadas para algunos terminos en Español

Que no exista palabra en español no amerita emplear MAL un término proveniente del inglés.


2. Aplicar el resultado de un proceso MD5, por ejemplo, para mi es "Encryption" y yo la traduzco como cifrar. Antes use "encriptar" pero luego vi que esa palabra no existe en el diccionario de la Real Academia Española. En cambio la palabra "cifrar" si existe. Esto lo menciono porque traes como arma de ataque "el uso del diccionario".

Pues serás el único burro que llama cifrado a algo que no lo es.
Aquí estás demostrando tu confusión y falta de conocimiento sobre el área y de una errónea interpretación del inglés. Pasaré a demostrar más adelante.


3. Los procesos como el MD4, el MD5, los SHA, y sus derivados, en Ingles siguen siendo "encryption algorithms". Y si tu no les puede poner nombre en Español, pues para mi siguen siendo "cifrar".

4. Son algoritmos de "one way", o sea que no hay desde principio "anti-algoritmo", o sea algoritmo de revertir. Mas eso no les quita que sigan siendo "encryption" o "cifrar". Y aunque veo que NO TE PARECE el nombre, veo tambien que NO TIENES alternativa. Es por eso que sinceramente no comprendo tu afan en el argumento.

¡Bestia! Que no pertenecen a algoritmos de cifrado. Si debieramos ser exactos, los algoritmos como MDx y SHA-x pertenecen a lo que se conoce como cryptographic hash function, que son estudiados por la criptografía. Lo que tu estás confundiendo y asumiendo es justamente que por tener la misma raiz "crypto", todo es en última un cifrado.
La ciencia es criptografía, y muchos confunden justamente por querer traer los términos casi literalmente al español que se dice encriptar/desencriptar. Tenemos la palabra en español adecuada: cifrar.
La criptografía, no sólo se queda en los algoritmos de cifrado sino que además se dedica a otros algoritmos diseñados para otras cosas. Entre ellos, están los algoritmos de funciones criptográficas basadas en tablas hash que generan claves de reducción que las asocia.
Entonces, no son algoritmos de cifrado, son algoritmos de criptografía. ¿Ves y entiendes la diferencia en las palabras?
No me vengas a que por falta de un nombre hay que escudarse... si no hay un término búscalo explicarlo de otra forma... aunque tengas que gastar más saliva. A veces empleamos el puro inglés porque nos resulta más breve y nos hacemos vagos en decir unas cuantas letras o palabras más.

A vos lo que te molesta es que haya demostrado tu error y no quieres admitirlo.


5. Ahora en cuanto a los errado de tus argumentos, uno de ellos es el que "No se cifran" y argulles que de lo contrario se podria averiguar el password de los usuarios, aunque admites que puede tardar 50 años. Pues bien, fijate que ESA no es la razon por la que se usa el "hashing". La principal razon es porque los algoritmos bi-direccionales son mucho mas lentos que los de tipo "hashing", y tambien usan mas recursos de memoria y CPU. Claro que esto es fundamento historico, pero tu argumento de que con ellos nadie puede saber el password, yo te digo que, actualmente, es mucho mas facil violar un MD5 que un algoritmo de dos vias.

Te invito a volver a leer desde el comienzo.
Se ha dejado en claro que los motivos de porqué no se emplean los algoritmos de cifrado son varios, aunque se pueden encontrar 2 principales motivos:
1) Son reversibles, y no interesa si es de ahora o dentro de varios años. El punto es que son reversibles.
2) NUNCA fueron pensados ni diseñados para almacenar contraseñas.

Eso de que consumen más recursos y son más lentos es de menos, efecto colateral y algo secundario.
El punto es que los algoritmos de cifrado no han sido planteados ni sugeridos para almacenar información como la de una contraseña sino para poder compartir datos de una forma más segura.
¿O acaso te pondrás a compartir tu contraseña con alguien?

No se discute que los algoritmos de reducción sean inviolables. De hecho yo mismo he dicho que incluso éstos pueden fallar. Pero al menos a nivel teórico y hasta cierto punto práctico los algoritmos de reducción son la vía pensada y más segura de entre sus usos: poder asociar e identificar una contraseña sin almacenarla como tal.


6. Linux, hasta donde se, por ejemplo ya no usa el MD5, pues deberias de saber que simplemente con poner en google el resultado de un hash, es alta la posibilidad de que saque una frase que de ese hash. Y es que hay diccionarios con BILLONES de hashes, disponibles a quien sea que facilitan eso. Claro que el logro se relaciona con lo complejo de el password usado.

7. Aparte, que esta demostrado que por ejemplo para el MD5, hay mas de UNA frase que de como resultado el mismo MD5. Eso ya esta verificado, al grado que el MD5 se considera inapropiado para uso en passwords, y ningun sistema de reputacion lo usa para cifrar passwords ("encriptar" o lo que gusteis llamarle). A eso se le llaman (en Ingles) "Collitions", y creo que serian "coliciones" o "choques", mas no porque no haya el termino (en Español), ya ande uno errado en lo tecnico.

Si lees bien mis mensajes te enterarías que emplee el término: cómo. De hecho yo he dicho que se emplean algoritmo de reducción como MD5; lo que da por sentado que no es el único ni necesariamente he dicho que sea el mejor. Lo mencioné porque a pesar de que se le ha encontrado fallas, sigue siendo empleado para algunas cosas, es el más conocido y el que figura como ejemplo.

Hay otros más robustos, como el SHA que mencionas.
Que el que un grupo de personas se hayan dedicado a generar MD5/SHA farms es algo extra fuera de discusión... No se puede culpar a la sociedad de criptografía porque hecha la ley hecha la trampa. Es lo que hay... No necesariamente porque existan esos sitios hacen que tantos años de estudio y de propuestas deban estar tirados a la basura.
Si hay que preocuparse, pero tampoco es para decir que ahora son muy inseguros y debamos desecharlos y no usarlos... Eso tampoco es pretexto como para asegurar y justificar que va a resultar mejor aplicar un cifrado que un algoritmo de reducción.

Naturalmente tanto a los algoritmos de cifrado y reducción hay que ir cambiándolos y mejorándolos. Lo hacemos porque cada vez las máquinas son más veloces, y hay más recursos que les permiten ir explotandolos. Por ejemplo, con lo que pasó con SHA-1, se le encontró una falla en su matemática pero no ha sido hasta hace relativamente poco que se la ha podido explotar. Y aún así no cualquiera lo puede hacer... porque no todos tienen esos semerendos equipos. Hoy tenemos SHA2 y es el que se recomienda, y vendrá el día en que a este también lo tendremos que cambiar.
Los algoritmos de cifrado tampoco son de lo más efectivos... incluso para los más efectivos. Tomemos por ejemplo el gran famoso AES, que se dice que es uno de los campeones. ¿Sabías que se le ha encontrado una falla a su AES256? Si... se está en duda de su seguridad... incluso hay quienes están en condiciones de demostrar que AES128 es más seguro que su 256... cuando lo lógico y de esperar es que a mayor tamaño más seguridad.

Yo he dicho que después de todo el objetivo detrás de la criptografía es el última el de ofrecer los medios más seguros y dificultar lo más posible a un atacante. Naturalmente que el en verdad quiera hacerse de alguna información, tarde o temprano lo hará si tiene el conocimiento y los recursos. La idea en que se basan todos los algoritmos que se van proponiendo es que para cuando el atacante esté próximo a su objetivo, ya exista algo más seguro y la tecnología haya migrado y la información ya no tenga el valor que inicialmente tuvo.


La verdad es que ahorita me gustaria saber de donde sacaste eso de que "no se cifran" los passwords (entendiendo que te refieres a que en exclusiva, se use hashing), y especialmente LAS RAZONES, que lo justifiquen, y no me refiero a la tradicion.

Si crees que "hashing" es de alguna manera "superior" a un algoritmo de dos vias, pues explicate el por que.

Yo creo que con lo ya dicho es suficiente como para cerrarte el pico. Pero si es necesario empieza a hacer búsquedas y encontrarás material que ilustra bien porqué es que se utliza algoritmos de reducción o ya que estoy de ganas, para decirlo más clarito: algoritmos de criptográficos basados en tablas hash.


Ahora, a falta de terminos, para traducir el cifrado en base de "hashing" o algoritmos uni-direccionales, pues hay varias, y no "picar" como se ha sugerido.

"Comprimir" o "Digerir", diria que serian mucho mas adecuados.
Y si hay un modo, aunque no suena tan elegante como su contraparte inglesa, de decirlo ¿porqué no decirlo? ¿Tienas paja o vagancia? ¿Te cuesta mucha saliva? Es lo que hay... asi es nuestro idioma. Tenemos palabras muuuuy largas. Que se le va a hacer. Pero no por esto se debería decir tan limpiamente cifrado a algo que no lo es.

Ya te he demostrado que es un error tuyo. Ahora haz el favor de corregirte y empezar a hacer un esfuerzo por decir las cosas de un mejor modo. Termina con tu propia intención de seguir llamando cifrado a algo que no lo es. Si los demás, y no sólo yo, opinamos lo mismo! Fíjate que Casimiro, mightydragonlor han también comentado al respecto y de una u otra forma también están diciendo que las passwords no se cifran.
La verdad es que eres el único tonto del hilo en que lo ha dicho.
Y no somos los únicos que lo decimos... busca en la red y encontrarás a muchos especialistas que pueden argumentar mejor que cualquiera de nosotros que el porque no se ha de cifrar.

Utilizamos lo que hay. Y hemos dicho que tampoco es que no sean inviolable... pero es lo mejor al menos, hasta donde llegan nuestros conocimiento y lo que se ha venido publicando por los especialistas.

Saludos,

ElMug
30-09-2012, 06:40:51
No me he pasado en mis juicios pero ahora si lo haré: simplemente estoy demostrando a un completísimo ignorante que no le ha gustado nunca las respuestas que le dieron desde el momento en que llegó. Y pretendía que se le diera hasta el ABC de algunas preguntas. Y que luego pretendía tirar mierda a los que se ofrecieron ayudarlo en un principio porque no les gustaron las soluciones y propuestas que se le fueron dando.
¿Fallas? Por favor... ¡Dame una!


Que no exista palabra en español no amerita emplear MAL un término proveniente del inglés.


Pues serás el único burro que llama cifrado a algo que no lo es.
Aquí estás demostrando tu confusión y falta de conocimiento sobre el área y de una errónea interpretación del inglés. Pasaré a demostrar más adelante.


¡Bestia! Que no pertenecen a algoritmos de cifrado. Si debieramos ser exactos, los algoritmos como MDx y SHA-x pertenecen a lo que se conoce como cryptographic hash function, que son estudiados por la criptografía. Lo que tu estás confundiendo y asumiendo es justamente que por tener la misma raiz "crypto", todo es en última un cifrado.
La ciencia es criptografía, y muchos confunden justamente por querer traer los términos casi literalmente al español que se dice encriptar/desencriptar. Tenemos la palabra en español adecuada: cifrar.
La criptografía, no sólo se queda en los algoritmos de cifrado sino que además se dedica a otros algoritmos diseñados para otras cosas. Entre ellos, están los algoritmos de funciones criptográficas basadas en tablas hash que generan claves de reducción que las asocia.
Entonces, no son algoritmos de cifrado, son algoritmos de criptografía. ¿Ves y entiendes la diferencia en las palabras?
No me vengas a que por falta de un nombre hay que escudarse... si no hay un término búscalo explicarlo de otra forma... aunque tengas que gastar más saliva. A veces empleamos el puro inglés porque nos resulta más breve y nos hacemos vagos en decir unas cuantas letras o palabras más.

A vos lo que te molesta es que haya demostrado tu error y no quieres admitirlo.


Te invito a volver a leer desde el comienzo.
Se ha dejado en claro que los motivos de porqué no se emplean los algoritmos de cifrado son varios, aunque se pueden encontrar 2 principales motivos:
1) Son reversibles, y no interesa si es de ahora o dentro de varios años. El punto es que son reversibles.
2) NUNCA fueron pensados ni diseñados para almacenar contraseñas.

Eso de que consumen más recursos y son más lentos es de menos, efecto colateral y algo secundario.
El punto es que los algoritmos de cifrado no han sido planteados ni sugeridos para almacenar información como la de una contraseña sino para poder compartir datos de una forma más segura.
¿O acaso te pondrás a compartir tu contraseña con alguien?

No se discute que los algoritmos de reducción sean inviolables. De hecho yo mismo he dicho que incluso éstos pueden fallar. Pero al menos a nivel teórico y hasta cierto punto práctico los algoritmos de reducción son la vía pensada y más segura de entre sus usos: poder asociar e identificar una contraseña sin almacenarla como tal.


Si lees bien mis mensajes te enterarías que emplee el término: cómo. De hecho yo he dicho que se emplean algoritmo de reducción como MD5; lo que da por sentado que no es el único ni necesariamente he dicho que sea el mejor. Lo mencioné porque a pesar de que se le ha encontrado fallas, sigue siendo empleado para algunas cosas, es el más conocido y el que figura como ejemplo.

Hay otros más robustos, como el SHA que mencionas.
Que el que un grupo de personas se hayan dedicado a generar MD5/SHA farms es algo extra fuera de discusión... No se puede culpar a la sociedad de criptografía porque hecha la ley hecha la trampa. Es lo que hay... No necesariamente porque existan esos sitios hacen que tantos años de estudio y de propuestas deban estar tirados a la basura.
Si hay que preocuparse, pero tampoco es para decir que ahora son muy inseguros y debamos desecharlos y no usarlos... Eso tampoco es pretexto como para asegurar y justificar que va a resultar mejor aplicar un cifrado que un algoritmo de reducción.

Naturalmente tanto a los algoritmos de cifrado y reducción hay que ir cambiándolos y mejorándolos. Lo hacemos porque cada vez las máquinas son más veloces, y hay más recursos que les permiten ir explotandolos. Por ejemplo, con lo que pasó con SHA-1, se le encontró una falla en su matemática pero no ha sido hasta hace relativamente poco que se la ha podido explotar. Y aún así no cualquiera lo puede hacer... porque no todos tienen esos semerendos equipos. Hoy tenemos SHA2 y es el que se recomienda, y vendrá el día en que a este también lo tendremos que cambiar.
Los algoritmos de cifrado tampoco son de lo más efectivos... incluso para los más efectivos. Tomemos por ejemplo el gran famoso AES, que se dice que es uno de los campeones. ¿Sabías que se le ha encontrado una falla a su AES256? Si... se está en duda de su seguridad... incluso hay quienes están en condiciones de demostrar que AES128 es más seguro que su 256... cuando lo lógico y de esperar es que a mayor tamaño más seguridad.

Yo he dicho que después de todo el objetivo detrás de la criptografía es el última el de ofrecer los medios más seguros y dificultar lo más posible a un atacante. Naturalmente que el en verdad quiera hacerse de alguna información, tarde o temprano lo hará si tiene el conocimiento y los recursos. La idea en que se basan todos los algoritmos que se van proponiendo es que para cuando el atacante esté próximo a su objetivo, ya exista algo más seguro y la tecnología haya migrado y la información ya no tenga el valor que inicialmente tuvo.


Yo creo que con lo ya dicho es suficiente como para cerrarte el pico. Pero si es necesario empieza a hacer búsquedas y encontrarás material que ilustra bien porqué es que se utliza algoritmos de reducción o ya que estoy de ganas, para decirlo más clarito: algoritmos de criptográficos basados en tablas hash.


Y si hay un modo, aunque no suena tan elegante como su contraparte inglesa, de decirlo ¿porqué no decirlo? ¿Tienas paja o vagancia? ¿Te cuesta mucha saliva? Es lo que hay... asi es nuestro idioma. Tenemos palabras muuuuy largas. Que se le va a hacer. Pero no por esto se debería decir tan limpiamente cifrado a algo que no lo es.

Ya te he demostrado que es un error tuyo. Ahora haz el favor de corregirte y empezar a hacer un esfuerzo por decir las cosas de un mejor modo. Termina con tu propia intención de seguir llamando cifrado a algo que no lo es. Si los demás, y no sólo yo, opinamos lo mismo! Fíjate que Casimiro, mightydragonlor han también comentado al respecto y de una u otra forma también están diciendo que las passwords no se cifran.
La verdad es que eres el único tonto del hilo en que lo ha dicho.
Y no somos los únicos que lo decimos... busca en la red y encontrarás a muchos especialistas que pueden argumentar mejor que cualquiera de nosotros que el porque no se ha de cifrar.

Utilizamos lo que hay. Y hemos dicho que tampoco es que no sean inviolable... pero es lo mejor al menos, hasta donde llegan nuestros conocimiento y lo que se ha venido publicando por los especialistas.

Saludos,

No lo lei. Lo siento. Pues de reojo se ve que se trata de insultos personales, que de ti no me merezco.

Delphius
30-09-2012, 07:21:18
No lo lei. Lo siento. Pues de reojo se ve que se trata de insultos personales, que de ti no me merezco.
¿Pues para que vas a pedir explicaciones si no pretendes leer? Tu has venido empezando, tu tiraste la primera piedra hace ya tiempo y cuando alguien te explica algo te escondes y empiezas a la defensiva.
Si tu no quieres leer, entonces no pidas que te lo expliquen. Y la verdad no se entiende para que pides que te lo expliquen si en verdad desde que llegaste tienes explicaciones para todos y has tratado de meter cizaña en cada uno de tus post.
Si te quedas en lo de reojo... pues de ahora en adelante entonces yo me voy a quedar y empezar a leer de reojo lo que digas y cualquiera de tus palabras.

Desde el primer post que expusiste en el foro que decidiste atacar a los que te han respondido. Ahora no soportas que yo haya decidido darle combate a tu combate.
No es asunto de algo personal, es cosa de hacerte mostrar justamente que la forma en como comenzaste y decidiste continuar en ClubDelphi no es favorable.

Y si aún no deseas leer lo que dije y te quedas en alguna que otra palabra que tampoco llega a ser un gravísimo insulto. Después de todo todos tenemos de completísimo ignorante, somos burros y tontos... por ejemplo me considero un completo bestia para lo que es conducir un auto. :D Y lo que he dicho es bastante suave para lo que en otros hilos se dice.

Anti-saludos, Para entendidos. :D

Casimiro Notevi
30-09-2012, 11:06:21
Por favor, los debates están muy bien, cada uno argumenta lo que piensa, expone sus ideas y la otra persona hace lo mismo.
Así aprendemos todos. Nadie es perfecto, nadie lo sabe todo, muchas veces pensamos que estamos en lo cierto sobre un tema y después de leer/escuchar a alguien nos damos cuenta de que estamos equivocados... eso es aprender.
Repito, debates... sí. Pero los insultos sobran.
Gracias.

Delphius
30-09-2012, 22:10:05
Por favor, los debates están muy bien, cada uno argumenta lo que piensa, expone sus ideas y la otra persona hace lo mismo.
Así aprendemos todos. Nadie es perfecto, nadie lo sabe todo, muchas veces pensamos que estamos en lo cierto sobre un tema y después de leer/escuchar a alguien nos damos cuenta de que estamos equivocados... eso es aprender.
Repito, debates... sí. Pero los insultos sobran.
Gracias.

¿Cómo se le dice a una persona que le explicas muchas veces algo y no le entra por su tozudez?
Yo simplemente expuse la verdad, todos somos bestias, todos somos ignorantes, todos somos tontos... en algo. Después de todo como dijeste nadie es perfecto.
Pero el punto es que se ha demostrado aquí que cierta persona insiste en su ignorancia e intenta defender lo indefendible. No sabe distiguir lo que es cifrado de lo que no es.

Yo tampoco sabía lo que era un MD5 o un SHA pero con el tiempo aprendí a reconocer que es cada cosa. Y eso me bastó para saber que si bien todo esto se enseña y se forma en una ciencia propia, llamada criptografía, ésta no se resume a exclusivamente algoritmos de cifrado.
Está a la vista que ElMug sabe la diferencia, o lo buscó del momento, de un algoritmo de cifrado y otro de reducción o función hash criptográfica. Pero en su mente, erróneamente y que no quiere admitir, se le da por catalogar y llamar a ambos como algoritmos de cifrado. Todo producto de un error conceptal derivado de un mal uso de las palabras inglesas de raíz "crytpo".

Si después de mis palabras el sigue en la misma negativa lo único que estará demostrando es que justamente no tiene el mero interés por corregirse y aprender algo más que le puede dar algo de valor profesional. Y si parece brava mi forma, revísese el historial de los mensajes de ElMug y diganme si estoy equivocado.

Saludos,

Neftali [Germán.Estévez]
01-10-2012, 10:40:45
Delphius, creo que "determinadas" palabras e insultos en tu respuesta están totalmente fuera de lugar.
Para ti y para cualquier otro usuario, tengo 5, 500 o 50000 mensajes.