Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > Lazarus, FreePascal, Kylix, etc.
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #13  
Antiguo 14-11-2015
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.918
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Cita:
Empezado por Lepe Ver Mensaje
Las contraseñas se debería hacer un hash en lugar de cifrar... me explico:

Se hace así porque no hay posibilidad de "desencriptar" y como dato sensible que es, nadie debería saber qué contraseña usa el usuario o el administrador del programa.
No. Casi-correcto, pero casi-correcto en seguridad es igual a incorrecto .

Cuando hay que proteger un dato? Se encripta. Hashear hace parte del proceso en algunas formas, pero un hash no es seguro.

Un hash es:

https://en.wikipedia.org/wiki/Hash_function
Cita:
A hash function is any function that can be used to map data of arbitrary size to data of fixed size.
Es posible deducir el valor de un hash? Por supuesto. De hecho se hace TODO EL TIEMPO. Le suenan las "hash tables"?.

Asi que luego piensan: "Claro hombre, es que hay que saltear!". Y si se pega/copia sin pensar un ejemplo en la web, puedes terminar con algo errado:

https://en.wikipedia.org/wiki/Salt_(cryptography)
Código:
A new salt is randomly generated for each password. In a typical setting, the salt and the password are concatenated and processed with a cryptographic hash function
Noten que menciona: Por cada password, saltear (muchos ejemplos tienen un salt global), y que se debo usar un hash criptografico (ie: probado para encriptar).

Por lo tanto "hash sin cifrar" es todo lo contrario de lo que se debe usar para guardar un password.

P.D: Para los que no estan al tanto: PBKDF2, bcrypt, scrypt son los que se pueden usar. Utilizar una libreria confiable hecha por expertos. JAMAS hacer "encriptacion" de tipo casera en un entorno serio de produccion. Si leen este mensaje en unos meses, es probable que todas o algunas de las funciones mencionadas dejen de ser seguras! Siempre chequea cuando es cosas de seguridad y no creas ciegamente lo que te dicen, aun cuando lo diga YO!

----

Tener usuario/clave NO ES SEGURIDAD.

Autenticación, autorización, privacidad, integridad, seguridad son conceptos relacionados pero diferenciados.

----

Hacer una app segura es basicamente decir que es una app *correcta*. Por ejemplo, las injecciones SQL existen porque se usan cadenas de texto cuando realmente se quiere decir fragmentos de un lenguaje SQL. Osea, es una falla de asignar el tipo errado al dato.

De igual manera, mantener la privacidad/integridad de la informacion es lo mismo que hacer una app *correcta*. Si es posible acceder a los datos remotamente, y se cree que "mis claves tienen hash salteados!" es lo que lo hace seguro, es asignar el acceso errado al dato.
__________________
El malabarista.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Control de Usuarios segun Tablas diegonazaruka Firebird e Interbase 10 22-03-2010 17:46:52
Control de usuarios KeyMan HTML, Javascript y otros 4 20-04-2006 10:13:41
Componente para Control de usuarios El_Chava Noticias 3 07-09-2005 14:45:52
Control de Usuarios JamesBond_Mx Conexión con bases de datos 2 15-07-2005 03:55:51
Control de usuarios concurrentes Toni Providers 2 02-08-2004 15:43:17


La franja horaria es GMT +2. Ahora son las 23:54:40.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi