Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-01-2009
rolandoj rolandoj is offline
Miembro
 
Registrado: abr 2007
Posts: 395
Poder: 20
rolandoj Va por buen camino
Punto interesante. La explicación es:

Hola Roman,

Gracias por intervenir. Tocastes un punto crucial, que yo por simplicidad no mencioné antes; pero, indirectamente si lo hice en algunos comentarios, cuando hablaba de que un algoritmo no debe producir dos veces la misma cadena y de que lo ideal es cifrar todo. Ya que lo planteas, profundicemos:

El caso es que al encriptar, cada vez que yo me conecto debe ir, como parte del encriptado una serie de informaciones complementarias, tales como derivadas del reloj del equipo, de tal forma que no te puedas volver a conectar usando exactamente la misma cadena encriptada, especialmente desde un equipo diferente.

Igualmente, el comando post de http debería tener una sola cadena encriptada; sin ningún nombre de campo de datos involucrado, para dificultar más cualquier descifrado. Igualmente esto aplica para todas las llamadas y los datos que se devuelven; de hecho, es así como yo lo hago cuando trabajo mis propias aplicaciones donde tengo tanto el cliente como el servidor elaborados en Delphi.

Dec:

La interpretación de la palabra "cifrado" no es el problema. Queda claro que ambos la entendemos de manera diferente, y también es clara la interpretación que cada uno hace de la misma; pero, eso es simple forma de decir las cosas, y para ambos es válida. Ese no es el punto; lo importante que hemos terminado discutiendo es sí la información debe o no encriptarse en el cliente antes de enviarse al servidor.

Yo insisto en que debe ser así; de lo contrario, es como un viejo chiste que ví esta semana en el superagente 86. Blindó la puerta de su apartamento para resistir hasta una bomba; pero, dejó la llave debajo del tapete que estaba afuera.

No sirve de nada toda la protección que quieras colocar en el servidor si cualquiera, con más o menos conocimientos, puede averiguar tú clave de usuario simplemente viendo lo que envías al servidor por la red.

Es más, siendo más realistas, toda la seguridad informática no sirve de nada si un usuario acostumbra a digitar su clave delante de otras personas, o si la escribe en algún lado. Por eso he hablado de niveles de seguridad, y por eso dije que quería una seguridad media, esto tampoco es el Pentágono.

Quiero reiterar las gracias por el interés; pero, en últimas, me preocupa que mi verdadero problema, como hacer la encriptación en el cliente?, sigue sin resolverse.
Responder Con Cita
  #2  
Antiguo 09-01-2009
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Hacer la encriptación en el cliente no creo que tenga problema; bastará buscar algún algoritmo de javascript que lo haga. El problema estaría con las informaciones complementarias. No creo que javascript pueda acceder a ese tipo de información.

Como ya ta ha comentado dec, si se quiere tener algo verdaderamente confiable, entonces la solución ya está hecha y se llama https.

// Saludos
Responder Con Cita
  #3  
Antiguo 09-01-2009
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.141
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

De todas formas, este asunto me parece muy interesante por lo siguiente. Cuando se dice que "cualquiera puede 'escuchar' lo que uno envía al servidor desde el cliente", ¿qué tan cierto es esto? Quiero decir, ¿cómo podría yo hacer, por ejemplo, para tratar de "escuchar" las peticiones HTTP hacia el ClubDelphi que haga Román, por ejemplo? ¿Es factible? ¿Cualquiera puede hacerlo sin más? No me queda claro nada de esto y por eso me llama la atención, sobre todo, el hecho de que la mayoría de páginas web (no sé porqué será, porqué no usar directamente el protocolo HTTPS) se conforme con el protocolo HTTP... ¿acaso habrá gente "por ahí" escuchando lo que transmitimos y dejamos de transmitir? ¿O depende de si tengo algún "troyano" en mi ordenador o algo similar? En fin, supongo que son demasiadas preguntas.
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 09-01-2009 a las 18:03:53.
Responder Con Cita
  #4  
Antiguo 09-01-2009
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
No creo que puedas interceptar la información que yo mando, pero ése no es el problema. El problema es que alguien puede interceptar mi información. Creo que eso lo hacen con los llamados sniffers y no desde cualquier punto podrás colocar uno. Rolando seguramente sabe más de este tema.

Ahora, ¿por qué no se usa normalmente https? Porque, según entiendo, tiene un costo. Para que realmente sea un sitio confiable, necesitas un certificado, y para que ese certificado sea válido, debes registrarlo con algún organismo reconocido como VeriSign, y eso cuesta.

Entonces, si la información que manejas no lo amerita, quizá no vale la pena echarse el gasto. Estos foros, por ejemplo, ¿cuántas personas realmente estarán interesadas en interceptar paquetes? ¿Cuál sería el daño real causado por una intromisión? ¿Valdría la pena el gasto?

// Saludos
Responder Con Cita
  #5  
Antiguo 09-01-2009
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.141
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Efectivamente, suponía que por ahí iban los tiros: por el costo de implementar el protocolo "HTTPS". Pero estoy contigo, Román, en que hay que ver hasta qué punto merece la pena el desembolso. Bueno. Ya me queda más claro. Gracias.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #6  
Antiguo 09-01-2009
rolandoj rolandoj is offline
Miembro
 
Registrado: abr 2007
Posts: 395
Poder: 20
rolandoj Va por buen camino
Comentarios generales

Hola,

Una vez más agradezco a ambos el interés.

Roman, como dije antes; para mi el encriptar no es problema; yo hago mis propios algoritmos de esa índole desde hace mucho tiempo.

Mi problema es de conocimento del manejo con páginas Web, no de lógica de programación. En parte, ya he avanzado en la solución. Según le explicaron a una persona que trabaja conmigo, en el evento onclick de un form se puede invocar una función javascript o una clase java, ubicada en archivo separado, no visible al cliente, que se encarguen de encriptar. En eso hemos estado trabajando en la mañana pero aún no logramos que la instrucción llame a la función; vamos a tratar de contactar de nuevo a quén le dió la información para revisar la sintaxis.

Por otra parte, en cuanto a los sniffers hay un montón de gente que puede tener conocimientos al respecto. Sin ir más lejos, en la clase univeristaria de la persona que trabaja conmigo, el profesor le hizo un ejemplo detallado a todo el curso rompiendo la seguridad de un sistema y mostrando la información que viajaba al servidor. Si eso lo muestran a nivel universitario, es claro que ha demasiada gente que podría hacerlo

Respecto a https, la solución alternativa que yo uso es encriptar todo con mis propios algoritmos en un cliente escrito en Delphi. El nivel de seguridad depende del algoritmo usado y como ustedes lo plantearon depende de que tan seguro requiero una aplicación. Cuando lo hago en Delphi es muy facil; pero, en páginas Web ?

Acerca de si hash te brinda o no más seguridad que otro tipo de algoritmos, vuelvo y repito que no es el punto de la discusión. Hay varias cosas que decir ahí; pero eso es otro tema. Lo que estabamos analizando, que ni siquiera era la razón de mi nota, es si se debe encriptar o no en el cliente.

A ese respecto, vuelvo al ejemplo que puse al principio: El usuario digita su clave Pedro en el cliente; si no se encripta cuando viaje al servidor, se puede interceptar en el camino y de ahí en adelante no importa que tan seguro es lo que se haya hecho en el servidor, la puerta está abierta.
Responder Con Cita
  #7  
Antiguo 09-01-2009
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por rolandoj Ver Mensaje
Según le explicaron a una persona que trabaja conmigo, en el evento onclick de un form se puede invocar una función javascript o una clase java, ubicada en archivo separado, no visible al cliente, que se encarguen de encriptar. En eso hemos estado trabajando en la mañana pero aún no logramos que la instrucción llame a la función; vamos a tratar de contactar de nuevo a quén le dió la información para revisar la sintaxis.
Disculpa, la verdad es que nos hemos ido por las ramas, aunque tampoco quedaba clara cuál era la duda. Por lo que comentas aquí, pienso que lo que estás buscando es el evento OnSubmit del formulario:

Código:
<form method='post' action='...' onsubmit='return enviar()'>
  <input type='text' name='user' id='user'>
  <input type='password' name='password' id='password'>
  ...

</form>
La función enviar() sería una función javascript que debe devolver true o false dependiendo de si son o no correctos los datos (si por ejemplo falta uno, devuelves false). En dicha función pueds llamar a tus rutinas de cifrado y aplicarlas a tus campos:

Código:
function enviar()
{
  user = document.getElementById('user');
  password = document.getElementById('password');

  user.value = cifrar(user.value);
  password.value = cifrar(password.value);

  return true;
}
Ya sé que no sería exactamente así, pero ya te das la idea. Puedes tener tus rutinas en un archivo externo, digamos cifrado.js que incluyes en tu documento html así:

<script type='text/javascript' src='cifrado.js'></script>

// Saludos
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Enviar Datos a pagina web desde delphi tocomi Internet 3 18-02-2009 23:02:59
email html desde base de datos nfrfabian Internet 2 26-01-2007 23:24:44
Como abrir una pagina html (LOCAL) desve Varios 3 23-05-2005 21:53:49
Leer desde una página <HTML> AGAG4 Varios 2 20-08-2004 02:56:43
Leer datos desde una página Web cone220 Internet 1 16-01-2004 23:03:44


La franja horaria es GMT +2. Ahora son las 18:07:15.


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