¿Captura de pantalla del formulario para la prueba legal de hacer clic en una de las casillas de verificación?


45

Recibimos una solicitud de uno de nuestros clientes, y dado que nunca antes había encontrado tal solicitud, ni siquiera sé por dónde empezar a buscar.

Nuestro cliente es una red de universidades, y les estamos construyendo un sitio. En ese sitio, entre otras cosas, habrá un formulario que los solicitantes potenciales pueden completar para obtener más información sobre los estudios en una de las universidades. Después de que un usuario complete este formulario, incluso dando su correo electrónico y / o número de teléfono, la universidad correspondiente los contacta con la información relevante.

Ahora, por razones legales, el cliente solicita que este formulario también tenga una casilla de verificación que el posible solicitante verifica para indicar que acepta obtener material promocional de estas universidades. Por supuesto que no hay problema. Pero aquí viene la parte extraña de la solicitud:

Los detalles de cada formulario completado deben guardarse en un método confiable. Aparentemente, guardar los valores del formulario en una base de datos, una columna que indica si el usuario estuvo de acuerdo o no, no es suficiente, porque una base de datos podría cambiarse después de que los usuarios hayan enviado el formulario. Nuestro cliente afirma que otros portales universitarios crean una captura de pantalla del formulario completado y lo guardan en algún lugar de una carpeta dedicada, de una manera fácil de encontrar, como darle al archivo un nombre que incluya el nombre del usuario y la fecha y tiempo.

Mi pregunta es la siguiente: ¿has oído hablar del uso de capturas de pantalla como método para demostrar que un usuario realmente ha completado un formulario? ¿Existen otros métodos que se consideran confiables?


96
Las capturas de pantalla también se pueden modificar, especialmente si solo se almacenan en el disco en algún lugar.
ChrisF

41
Déjame adivinar: es un profesor de informática quien se le ocurrió esta idea. Algunas de estas personas son fantásticas. No sé cómo lo hacen, pero las ideas que surgen son a menudo tan surrealistas como si estuvieran tomando ácido.
Mike Nakis

32
Espere: están guardando la dirección de correo electrónico y otra información personal en la base de datos, pero el "problema de seguridad" que les preocupa es si ese usuario recibe por error correos electrónicos promocionales.
Wonko el sano

11
"en una carpeta que no se encuentra fácilmente" - ¡Ah, seguridad a través de la oscuridad! Esa es la manera más segura que una base de datos guardado en un servidor seguro, que requiere credenciales de acceso, etc., para llegar a ...
David

19
Incluso mejor que una captura de pantalla sería si pudieras capturar un videoclip desde su cámara web del usuario asintiendo y dando un gran cartel de 'pulgar hacia arriba'. ¡Ahora eso sería una prueba!
GrandmasterB

Respuestas:


74

Nunca he oído hablar de algo así, y sería ridículo, porque una captura de pantalla falsa se puede producir tan fácilmente como un valor falso en una base de datos.

EDITAR Además, quiero decir, ¿WTF? Dado que no puede obtener una captura de pantalla de la pantalla de alguien en la web, obviamente tendrá que reconstruir la página en el servidor y tomar una captura de pantalla de eso, y luego ¿quién puede decir que no lo hizo?


1
+1 Buen punto, no consideré que técnicamente se pudiera ejecutar un navegador programático para renderizar el HTML y luego posiblemente enviar la página a un documento PDF creando un controlador de impresión.
maple_shaft

como de hecho se hace regularmente. Sería bastante fácil de hacer, en principio, podría enviar los mismos datos a 2 xsl: plantillas fo, una creando html y la otra pdf (en realidad lo he hecho en el pasado).
Jwenting

1
@jwenting Independientemente de lo que MikeNakis ya señaló, esto todavía puede ser manipulado. Debería usar PDF firmados electrónicamente o crear un hash de la imagen para que lo use para validar que la captura de pantalla no ha sido alterada.
maple_shaft

24
"con la misma facilidad"? ¡Las capturas de pantalla falsas son mucho más fáciles que hackear una base de datos!
Jesvin Jose

44
Hacemos esto en algunas de las aplicaciones que construyo. Técnicamente no es una "captura de pantalla", pero para fines de auditoría tenemos que "reconstruir" la sesión como estaba en ese momento. Logramos esto al guardar los datos del formulario enviado y luego reconstruirlos más tarde. Pero dicho esto, eso solo se guarda en una base de datos y la "captura de pantalla" es solo una reconstrucción de los datos que hemos guardado. Simplemente se ve bonito para las personas que lo quieren.
Deco

35

Sé que estoy comenzando esta respuesta con una pregunta, pero tengo un punto:

Sin llamar para cuestionar el supuesto absurdo de la solicitud, si esta es una aplicación web típica basada en un navegador HTTP, ¿cómo se podría capturar programáticamente una captura de pantalla y enviarla al servidor?

Espero que esto sea imposible ya que representaría una seria preocupación de seguridad y privacidad del navegador.

Ahora imagine si el número de tarjeta de crédito de alguien también estaba en la pantalla en el momento de la captura de pantalla. Ahora inadvertidamente captura información de la tarjeta de crédito y su sistema ahora debe ser compatible con PCI. Esta es otra vía de preocupación por completo.

La única forma de hacerlo probablemente sería usar un complemento de navegador de terceros como Flash, Silverlight, Java Applets o un control ActiveX con privilegios elevados del sistema. El componente deberá estar firmado y el usuario deberá aceptar que el componente tenga acceso para ejecutar código en su máquina.

Hay demasiados agujeros con este plan y dudo seriamente que otras universidades implementen algo similar. Ciertamente nunca he oído hablar de esto en mi carrera profesional, al menos no con una aplicación web.

EDITAR:

Acabo de pensar en otra opción que probablemente reflejaría en mayor medida lo que creo que su cliente realmente está pidiendo.

Tenía una solicitud que hice para un cliente donde el cliente tenía que aceptar y firmar un documento NDA para obtener acceso a la aplicación. Lo logré a través de un documento PDF firmable. Puede tener un campo de firma en un documento PDF que, ya sea utilizando un componente USB de lápiz + almohadilla o simplemente haciendo clic en él para reconocer, para fines legales será tan bueno como si hubiera firmado físicamente el documento a mano.

Se llama firma electrónica y se mantienen en la corte.

El documento PDF después de ser firmado se encripta y se almacena un hash junto con él que verifica que el documento NO haya sido manipulado después de la firma. Los lectores de PDF modernos como Adobe pueden transmitir un documento firmado a un servidor donde puede almacenarlo en un sistema de gestión de documentos o en una base de datos para su custodia.

En cualquier momento, los usuarios administradores pueden recuperar uno de estos documentos e imprimirlos.

Esto puede estar más en la línea de lo que su cliente realmente necesita, pero tuvo un mal momento para explicarlo adecuadamente.


1
+1 por mencionar que esto es técnicamente posible, pero requeriría un complemento
bunglestink

10
Entonces, ¿qué le impide reemplazar el PDF con uno que haya firmado usted mismo? Hasta donde sé, no existe una infraestructura de clave pública sólida para tratar las identidades de las personas.
Random832

1
@ Random832 Jaque mate mi amigo, me tienes! Supongo que no hay una respuesta 100% segura. Cualquier sistema puede verse comprometido.
maple_shaft

3
Esto ciertamente no requeriría un complemento; tenga en cuenta que las últimas herramientas de comentarios de Google (en Google Plus y Youtube) realmente hacen esta "captura de pantalla". Puede enviar fácilmente todo el HTML en una página actual a través de JavaScript y utilizar la hoja de estilo adecuada para reconstruir el aspecto de una imagen. Por supuesto, esto es ^% & * ing absurdo porque solo puede enviar el valor de la casilla de verificación.
Ben Brocka

He escrito un widget que captura los movimientos del mouse en un elemento CANVAS y serializa el tiempo capturado, las coordenadas X, Y de vuelta al servidor. No estoy totalmente seguro de cuál es el estado legal de tal "firma" (podría modificarse y es bastante fácil de copiar), pero si esto es lo único que "firman" en el sistema, sería difícil explicar cómo obtuviste esos datos si no dieron su consentimiento. (No sé qué sucede si su hermano menor firma "pizza", pero el PDF sufre el mismo problema).
psr

27

Creo que la verdadera pregunta sería si la persona cuyo nombre aparece en el formulario, ¿realmente completó el formulario?

En otras palabras, si alguien va al sitio web e ingresa el nombre "Bill Gates" y hace clic en la casilla "está bien enviarme un correo electrónico", ¿cómo podría una captura de pantalla demostrar que era el verdadero Bill Gates?

¿Han considerado hacer lo que hacen muchos sitios y enviar un correo electrónico de verificación con un enlace único en el que alguien tiene que hacer clic para confirmar? De esa manera, al menos tiene un registro de que tiene la confirmación de alguien con acceso a esa cuenta de correo electrónico.


44
Exactamente. Correo electrónico de verificación para garantizar que la persona que solicita los correos electrónicos tiene el control de la dirección de correo electrónico en cuestión. También agregaría que, en lugar de tener un registro legal de personas que solicitaron materiales promocionales, simplemente cumple con la Ley CAN SPAM y hace que sea muy fácil darse de baja de su material promocional. (Cada correo electrónico que envía material promocional, incluso si es de un tercero, tiene un enlace para cancelar la suscripción a todas las listas en las que los puso.)
Dr. jimbob

20

No hay tal cosa

Esta discusión debe comenzar con el entendimiento de que no hay forma de probar absolutamente que la persona estuvo de acuerdo. Esto es cierto incluso en el mundo físico. Incluso si graba en video a la persona que firma físicamente un formulario y pone una gota de su sangre en el formulario, puede decir que el video fue falso, que se les extrajo la sangre sin su conocimiento y que se falsificó la firma. Pero no se necesita una prueba absoluta; solo una cantidad razonable de evidencia.

En el mundo digital, se puede falsificar cualquier dato (texto, imagen, datos en una base de datos o correo electrónico). Lo más parecido a la prueba que podemos tener es que el usuario cifre algo usando una clave privada y demuestre que su clave pública lo descifrará. Sin embargo, esto actualmente está más allá de la capacidad de la mayoría de los usuarios, y aún podrían decir que su clave privada fue robada.

Lo mejor que podemos hacer es:

  • Obtenga algo que sería difícil (aunque no imposible) de falsificar
  • Acuerde que, legalmente, esa evidencia es suficiente
  • Facilite al usuario darse de baja

Guardar una imagen en lugar de texto no agrega nada en términos de prueba; todo lo que hace es hacer que el proceso sea más lento y costoso.

Firmas electrónicas

En mi trabajo, tenemos una aplicación donde los usuarios firman una declaración. Legalmente, las jurisdicciones en las que operamos han aprobado leyes que dicen que un usuario que escribe su dirección de correo electrónico en un formulario puede contar como una firma electrónica. Ya hemos verificado que tienen acceso a la dirección enviando un enlace en el que deben hacer clic. Eso no es una prueba absoluta, pero se ha considerado lo suficientemente bueno para nuestros propósitos.

Independientemente de la información que capture, le sugiero que también capture una marca de tiempo , para que pueda decir "usted estuvo de acuerdo en esta fecha y hora exactas". No estoy seguro de si eso tiene alguna relevancia legal, pero me parece más convincente, porque le da más oportunidades al usuario de demostrar lo contrario ("Tengo pruebas de que no estaba en una computadora en ese momento", por ejemplo )

Volviendo loco con eso

Algunas cosas que podría hacer que podrían considerarse evidencia:

  • Capture la marca de tiempo, IP, navegador, etc., para que pueda afirmar las circunstancias de la firma
  • Requerir verificación de dirección de correo electrónico
  • Solicite al usuario que ingrese su contraseña en el momento de la firma
  • Haga arreglos para que se ejecute un servicio web de terceros de solo escritura que recibirá, en el momento en que el usuario firme, un POST HTTPS de su aplicación con la información de la firma. Si el tercero puede testificar que su servicio es de solo escritura, que recibió el registro en ese momento y que su copia es idéntica, podría argumentar que no ha modificado los datos desde entonces.
  • Envíe al usuario un correo electrónico en ese momento diciendo "gracias por registrarse, así es cómo cancelar su suscripción". Su proveedor de correo electrónico o el suyo pueden mostrar que el correo electrónico se envió justo después de que el usuario firmó.

IANAL

Por favor, no tome nada de esto como asesoramiento legal.


Gran respuesta ... pero aún así las direcciones de correo electrónico como firmas electrónicas también se han disputado legalmente. Sin embargo, tienes razón, no hay una forma absolutamente probada. Solo diferentes tonos de más difícil. El sistema legal funciona con dudas razonables. La mayoría de la gente estaría de acuerdo en que el trabajo para falsificar un video, robar sangre y falsificar una firma no es una posibilidad razonable. ¿Podría suceder? Sí, por supuesto, pero es muy poco probable que alguien se meta en ese problema.
maple_shaft

1
"... y aún podrían decir que su clave pública fue robada". no debería leer "... y aún podrían decir que su clave privada fue robada". La clave pública robada no plantea ningún problema de seguridad, en una PKI bien diseñada.
Lie Ryan

capturing a timestampEs inútil. Hoy en día, es bastante fácil para un usuario normal crear un navegador o automatización de escritorio para programar el llenado de formularios en algún momento futuro.
Lie Ryan

10

Otra opción sería registrar la publicación HTTP sin procesar del cliente. Esto tendría su IP, de dónde vinieron, qué navegador, etc., sin requerir una captura de pantalla. Luego, puede iniciar sesión en una tabla de solo inserción en forma cruda, o en un simple archivo de registro plano ...

Solo trato de pensar en otras opciones porque tiendo a encontrarme con solicitudes ridículas como esta con mucha más frecuencia de la que me gustaría ...


Hmm, sí, pero ese registro está en la misma base de datos que les preocupa ser manipulado. Vea la edición en mi respuesta, los documentos PDF firmados electrónicamente son la única forma de garantizar que el documento no haya sido alterado.
maple_shaft

1
@maple_shaft: La idea básica de agregar seguridad adicional a la base de datos serían los permisos de "solo inserción" para todos los usuarios, excepto un administrador. Este registro se agregaría a las actividades regulares de la base de datos y solo se usaría para la verificación cuando sea necesario.
bunglestink

1
@JonnyBoats: Técnicamente tiene razón acerca de HTTPS, aunque una vez recibido a nivel de aplicación, tendrá el mismo texto sin procesar que se registra.
bunglestink

1
Los "documentos PDF firmados electrónicamente" o cualquier cosa firmada electrónicamente "son la única forma de garantizar que el documento no haya sido alterado", excepto por alguien que posea la clave con la que deben firmarse.
Random832

1
@ Random832: eso es factible si el usuario proporciona la clave privada del documento, en mi opinión, es una exageración para una casilla de verificación que indica que acepta recibir materiales promocionales.
Lie Ryan

8

Una captura de pantalla se fabrica fácilmente, en caso de que lo desee. Como es cualquier tipo de hashing, marca de tiempo, etc., sin una base criptográfica. Se presume que existe un requisito reglamentario estricto para que la universidad pueda demostrar que obtuvieron un consentimiento positivo antes de enviar material de marketing a las personas o intercambiar su información con terceros.

La única forma confiable de hacerlo es exigiendo una firma criptográfica del usuario. Por ejemplo, vea la forma en que el sitio web http://launchpad.net le pide que firme criptográficamente el Código de conducta de Ubuntu.

Esto solo tiene fuerza de ley en las jurisdicciones donde se puede usar una firma criptográfica en un documento legal, pero al firmar un texto específico, el usuario puede proporcionar una prueba de su consentimiento que luego sea verificable. Sería prácticamente imposible para la universidad falsificar una firma correcta de la misma clave pública.

Tenga en cuenta que todavía es trivial para la universidad actualizar su base de datos, y así voltear el campo de consentimiento, y también reemplazar la clave pública por otra para la que conocen la clave privada, y generar una firma válida para esa clave.

Por lo tanto, sin que un tercero firme las claves para dar fe de que pertenecen a un individuo en particular, todo lo que se logra es que el usuario puede verificar si la universidad falsificó o no su configuración de privacidad; sin la firma de un tercero, es su palabra contra la universidad.

Si además requiere que se verifique toda la propiedad de la clave y la clave sea firmada por uno o más terceros de confianza, la universidad no podrá falsificar firmas aparentemente válidas sin mucha más exposición (tendrían que engañar o cooptar el tercero de confianza para que firmen sus claves falsas). La dificultad de este ataque aumentaría con el número de firmas de terceros requeridas, pero como señala otro afiche, no es imposible.

Entonces para resumir:

  • El usuario debe poseer o generar un par de claves privada / pública
  • El usuario debe obtener una firma para su clave pública de uno o más terceros confiables
  • El usuario debe cargar su clave pública, al menos a la universidad y preferiblemente a un repositorio de claves de terceros
  • El usuario debe firmar un texto sin formato conocido y proporcionar la firma como prueba de que ha aceptado compartir sus datos privados.

Problemas prácticos :

  • Pocas personas entienden las firmas criptográficas
  • El costo de la certificación de terceros puede ser costoso
  • Esto parece una gran cantidad de trabajo para salvaguardar una casilla de verificación de correo no deseado en una página de descarga de prospectos universitarios

8

Comenzaría leyendo sobre Firmas electrónicas para el país / estado del cliente con el objetivo de averiguar qué métodos y requisitos son legalmente vinculantes. Estoy seguro de que ningún país o estado en su sano juicio requeriría una captura de pantalla como el único método de prueba para una firma electrónica vinculante.

Por ejemplo, en los Estados Unidos, 47 estados han aceptado la Ley Uniforme de Transacciones Electrónicas , que se aplica a "asuntos gubernamentales" entre otras cosas y, por lo tanto, probablemente se aplicaría a los requisitos de la universidad. Tiene las siguientes partes que pueden ayudar:

..

  • Firma electrónica : significa un sonido electrónico, símbolo o proceso adjunto o asociado lógicamente a un registro y ejecutado o adoptado por una persona con la intención de firmar el registro.

..

  • La Sección 7 otorga reconocimiento legal a firmas electrónicas, registros y contratos.
    • (a) No se puede negar el efecto legal o la exigibilidad de un registro o firma únicamente porque está en formato electrónico.
    • (b) No se puede negar el efecto legal o la exigibilidad de un contrato únicamente porque se utilizó un registro electrónico en su formación.
    • (c) Si una ley requiere que un registro esté por escrito, un registro electrónico cumple con la ley.
    • (d) Si una ley requiere una firma, una firma electrónica satisface la ley.

..

Una vez que supiera las leyes, estimaría el costo del mejor método de firma electrónica versus el costo del método de captura de pantalla.

Por último, discutiría con ellos mis hallazgos. Primero, les explicaría la mejor opción frente a la opción propuesta. A continuación, les explicaría la cantidad de tiempo que esto agregaría al proyecto. Por último, si estuviera en un lugar para hacerlo, les diría que esta "característica" agregaría x dólares a la factura final. Estaría muy seguro de utilizar el costo adicional para mí como justificación del costo adicional para ellos.

Si todavía no se movieran, vería si tienen un supervisor con cierta cordura con la que podría tener la misma reunión.

* No soy un abogado, así que busque asesoramiento legal si no está seguro de algo.


6

Al tratarse de una pregunta legal, una respuesta real dependerá, por supuesto, de las leyes nacionales y posiblemente de las leyes locales y de las circunstancias exactas. Obviamente, una respuesta real solo puede provenir de un abogado.

Sin embargo, en lo que respecta a mi conocimiento legal (limitado), no veo ninguna razón para asumir que una captura de pantalla se considere evidencia de algo, ya que obviamente es muy fácil de falsificar.

Su mejor curso de acción es probablemente explicarle a su cliente que esto es esencialmente un problema legal y que se requiere la ayuda de un abogado. Luego discuta con ellos si quieren que lo hable con un abogado, o si quieren hacerlo ellos mismos.

Para obtener una solución factible, es posible que desee discutirlo usted mismo (si el cliente está de acuerdo). Si no quieres esa molestia (o temes que no estén dispuestos a pagarte por ella), deja que lo hagan.


66
Si el OP toma esta ruta, sugeriría un enfoque intermedio, explíquele al cliente que deben discutirlo con un abogado, pero que al OP le gustaría participar en esas discusiones si es posible. De esa manera, el gasto recae directamente en el cliente y hay menos riesgo de que el cliente interprete mal algo que el abogado dice al pasar esa información al OP.
Kevin D

5

Si desea validar que un documento permanece inalterado (registro de la base de datos, lo que sea), la "mejor práctica" es la siguiente:

  • Serialice los datos de forma reproducible, incluidos los campos que puedan ser polémicos (por ejemplo, dirección de correo electrónico, si se marca una casilla).
  • Tome el hash de ese registro (por ejemplo, sha1)
  • Utilice la clave pública para un tercero de confianza (es decir, un tercero desinteresado) para cifrar este hash
  • Publique los datos de forma pública para establecer la fecha en que existieron, por ejemplo, un grupo de noticias.
  • Para validar, el tercero puede descifrar el hash y compararlo con el valor de hash actual.

Esto se ha utilizado para garantizar que los registros de seguro no fueron alterados; sin embargo, el "tercero de confianza" al que pagamos una cierta cantidad de dinero, promulgó los hashes a medida que se firmaban para nosotros y para otros clientes, por lo que había varios custodios de los registros que podrían ser citados para obtener pruebas.

Esto es claramente una carga ridícula para algo como validar un campo booleano. Pero, si le muestra al cliente los gastos involucrados, probablemente dejarán de ser tontos.


4

Si bien la solicitud en sí es absurda, y no puede tener una prueba legal razonablemente hecha de que una persona A marcó la casilla de verificación al completar un formulario, hay una pregunta dentro de su pregunta que en realidad se puede responder:

[¿Cómo asegurarse de que los datos no se alteraron más tarde, mientras que] una base de datos podría cambiarse después de que los usuarios hayan enviado el formulario?

Esto, en realidad, puede ser más fácil de hacer técnicamente.

1. Mantenga una prueba de que los datos no fueron alterados

Enviar un correo electrónico a usted mismo (a un buzón dedicado) con los valores realmente enviados por el usuario es fácil (bueno, puede ser, dependiendo de la configuración de su servidor, el umbral, las posibilidades de ser filtrado como correo no deseado, el número de correos electrónicos enviados por segundo, etc.), y es suficiente para mostrar que los datos no se alteraron después de que se enviaron . Por ejemplo, a menos que tenga un acceso ilimitado a los servidores de Google , estoy bastante seguro de que todos estarán convencidos de que no puedo alterar el contenido de los correos electrónicos que envié a mi propia dirección de GMail.

2. Mantenga una prueba de que los datos son correctos

Lo más probable es que el cliente no esté satisfecho, porque incluso si tiene una prueba de que los datos no se modificaron después, ¿cómo podemos estar seguros de que los datos no se modificaron entre el envío del formulario y el envío de información por correo electrónico? (y comprometerse con la base de datos)? En este caso, el siguiente paso es:

  1. Eliminar la casilla de verificación,
  2. Marque a cualquiera que haya completado el formulario como no dispuesto a recibir material promocional de spam de la empresa de su cliente
  3. Indique a los visitantes que deben enviar un correo electrónico (con un título predefinido y un cuerpo vacío) al buzón dedicado para recibir las ofertas comerciales de spam .

Sus correos electrónicos pueden procesarse automáticamente y conservarse como prueba.

3. Mantenga una prueba de que los datos son auténticos.

Ahora que tiene una prueba de que la persona que utiliza la dirección de correo electrónico dada realmente desea recibir el correo no deseado, el cliente aún puede estar insatisfecho (lo que generalmente sucede con clientes que tienen solicitudes tan locas). ¿Qué pasa si alguien hackeó el buzón de otra persona solo para registrar el hackee para recibir su correo no deseado?

En este nivel de locura, aún puede responder técnicamente a los requisitos. Ahora, en lugar de enviar un correo electrónico opcional, el usuario del sitio web debe:

  1. Envíe un correo con una copia de identificación / pasaporte, y una carta con una firma, diciendo que esta persona realmente quiere recibir el correo no deseado.

  2. Valide la dirección de correo electrónico a través de un código secreto que será enviado de vuelta.

Pero antes de hacer esto, convenza al cliente para que implemente lo que describí en la parte 2 y pruébelo. El cliente verá que después de un mes o dos, nadie envía ningún correo electrónico de suscripción voluntaria, y felizmente se olvidará de las pruebas legales y los datos alterados en la base de datos.


Tu paso 2 no prueba nada. Para marcar a las personas como no dispuestas a recibir correo no deseado, está almacenando esa "marca" en la misma base de datos que al cliente le preocupa ser manipulado. Sin embargo, mantener un hash de un conjunto de datos garantiza que si alguien manipula los datos o el hash en sí mismo, comparar los datos con el hash provocaría un error en el hash y la prueba de que los datos se han dañado o alterado.
maple_shaft

@maple_shaft, lo que es esencial en la parte 2 en general no es lo que se almacena en la base de datos, sino solo la recepción del correo electrónico de aceptación del usuario del sitio web. Los datos en la base de datos no importan.
Arseni Mourzenko

2
El paso 1 es bueno. Fácil, simple, efectivo.
Offirmo

@MainMa: ¿Y crees que los correos electrónicos no pueden ser falsificados o falsificados?
Ben Voigt

3

El estado legal de lo que haga es independiente del mérito técnico de la solución.

Por ejemplo :

Durante años, los parlamentarios británicos ignoraron las peticiones electrónicas porque la ley exigía que las peticiones llevaran una firma para cada persona. Entonces alguien nota que un hash de una dirección de correo electrónico, fecha, hora y comentario, aunque no contenía clave secreta, constituía una "firma digital" a los ojos de la ley del Reino Unido.

Por lo tanto, busque un abogado que le diga qué hacer y hágalo. No te preocupes si es sonido.

O haga lo que su cliente le pida, confiando en que ha consultado con un abogado. Asegúrese de que haya un registro de la discusión.


Therefore, get a lawyer to tell you what to do, and do it. Don't worry whether it's sound. Or, do what your client asks, trusting that they have checked with a lawyer. Make sure there's a record of the discussion.eso simplemente cumpliría su obligación legal y política con el cliente; Creo que el OP (con razón) está más interesado en ayudar al cliente a cumplir con sus requisitos legales (aunque el cliente actualmente parece malinterpretar sus propios requisitos legales, lo que sugiere la solución incorrecta).
Lie Ryan

3

¿Cómo se supone que debes obtener una captura de pantalla? Lo que tienes es el HTML y lo que sea que estés enviando al cliente, y la respuesta electrónica del cliente. Tampoco implica una captura de pantalla.

La captura de pantalla es de lo que representa el navegador, y diferirá un poco dependiendo del navegador en uso y la configuración y el equipo en el otro extremo. Personalmente, navego usando Firefox, Chrome, Opera, Mobile Safari, ocasionalmente Lynx, e incluso un pequeño IE a veces.

Puede renderizar la página en un navegador estándar en su extremo y capturarla, pero hacer su propio documento y grabarlo no impresionará a un juez. Puede pedirle al usuario que envíe una captura de pantalla, pero buena suerte para cumplirlo. No todos los dispositivos de navegación tienen una forma obvia de tomar y enviar una captura de pantalla (¿cómo se hace en un iPhone?). Si se trata de un cliente con discapacidad visual que utiliza un lector de pantalla, es posible que no haya ninguna representación visual en el extremo del cliente. (Vi a un par de amigos míos ciegos usar una computadora portátil, que no tenía pantalla alguna).

Por lo tanto, explique al cliente que no hay forma de obtener una captura de pantalla, y que puede que ni siquiera haya una pantalla para tomar una foto.


1
iPhone: Mantenga presionado el botón BLOQUEAR durante unos segundos. Android: Rootkit el teléfono y rezar. (Entiendo lo que estabas diciendo, solo diciendo ...)
BRPocock

3

En realidad, es posible crear un control de acceso obligatorio junto con una marca de tiempo confiable más una firma digital para la base de datos para garantizar que se pueda confiar en el valor de la columna. Las capturas de pantalla no son la respuesta correcta, sin embargo, existen soluciones de informática confiable que logran exactamente lo que desea lograr. Si quieres más detalles puedes iniciar un chat conmigo.


2

Como ya se señaló, realmente no puede probar que la persona estuvo de acuerdo o no con tanta seguridad, la mejor solución es:

a) Haga que la persona confirme su acuerdo a través de un enlace enviado a su dirección de correo electrónico (esto asegura que no hayan ingresado billgates@microsoft.com)

b) Darles la opción de cancelar la suscripción de marketing / promoción


2

Un esquema que está más cerca de ser a prueba de manipulaciones sería generar un par de claves pública / privada cuando el usuario llene el formulario usando Javascript (del lado del cliente), luego envíe el contenido del formulario, la clave pública y la firma a el servidor, y presente la clave privada al usuario y pídale que tome nota y la guarde en un lugar seguro.

Con este esquema, podrá demostrar que es imposible alterar los datos del formulario, ya que no conocía la clave privada que se utiliza para generar la firma. La debilidad de este esquema es que debe poder demostrar que nunca tocó la clave privada y que el usuario no debe perder su clave privada.

Dado que debe poder demostrar que nunca tuvo acceso a la clave privada, puede ser necesario incluir el HTML y todo Javascript al generar la firma del formulario; esto prueba el formulario exacto que el usuario usa para enviar los datos (por lo tanto, prueba de que no ha modificado el formulario / javascript desde su envío, por lo tanto, prueba que no usó javascript para robar su clave privada).

Este esquema es complejo, y al igual que con cualquier sistema complejo, no puedo garantizar que no haya un agujero (en realidad, estoy bastante seguro de que sí existe, y alguien probablemente podría señalarlo).


2

Una captura de pantalla no sería una gran prueba, ya que no hay forma de verificar que una captura de pantalla sea real. Eso podría ser fácilmente falsificado. En cuanto a más soluciones técnicas, existe el motor de almacenamiento de archivospara MySQL que solo admite insertar y seleccionar. No se puede eliminar de la tabla en absoluto. Eso sí, es posible ALTERAR TABLA a un motor de almacenamiento diferente, eliminar el registro y luego ALTERAR TABLA para volver a cambiar el motor sin que nadie lo note, pero es de esperar que pueda limitarlo a root, y solo permitir que root inicie sesión localmente . Luego, podría rastrear los inicios de sesión en la máquina de base de datos local real para descubrir quién posiblemente lo cambió. También puede analizar los registros binarios, o habilitar el registro de consultas sin procesar para ver quién podría haber emitido consultas que resultaron en este tipo de actividad. No estoy seguro de qué tecnología de base de datos está utilizando, pero lo más probable es que pueda encontrar una solución que evite que los datos se cambien fácilmente.


2

Voy a recomendar que te sientes y leas la Ley ESIGN . Este estatuto cubre lo que es y no es necesario para registrar una firma electrónica para que sea legalmente vinculante. En un empleador anterior, descubrimos que el obstáculo legal más difícil era hacer que las firmas y documentos fueran legibles durante 10-15 años en el futuro.

Los detalles de cada formulario completado deben guardarse en un método confiable. Aparentemente, guardar los valores del formulario en una base de datos, una columna que indica si el usuario estuvo de acuerdo o no, no es suficiente, porque una base de datos podría cambiarse después de que los usuarios hayan enviado el formulario. Nuestro cliente afirma que otros portales universitarios crean una captura de pantalla del formulario completado y lo guardan en algún lugar de una carpeta dedicada, de una manera fácil de encontrar, como darle al archivo un nombre que incluya el nombre del usuario y la fecha y tiempo.

Como otros han señalado, la captura de pantalla es algo que no se puede hacer. Se puede falsificar, ya que todos los espectáculos de "magia" son pura falsificación: ves a alguien ser aserrado por la mitad, pero en realidad no lo están aserrando por la mitad.


1

He tratado con mi parte de locos antes. Se me ocurren algunas soluciones técnicas, pero ¿por qué no volver al cliente y sugerirle que vuelva a redactar la pregunta "No desea recibir correos electrónicos de marketing"? (o una redacción similar) y permitir que la persona opte por no participar? Entonces no necesitas una captura de pantalla.


1

Como todos notaron, el mérito técnico y legal de la solicitud de características es inexistente. Dicho esto, existe la opción si permite que un usuario tome y cargue manualmente una captura de pantalla como un archivo adjunto de formulario.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.