Formulaire d'écran pour la preuve légale de cocher l'une des cases?

45

Nous avons reçu une demande de l'un de nos clients et, comme je ne l'avais jamais rencontrée auparavant, je ne sais même pas par où commencer.

Notre client est un réseau de collèges et nous leur construisons un site. Sur ce site, vous trouverez entre autres un formulaire que les candidats potentiels pourront remplir afin d’obtenir plus d’informations sur les études dans l’un des collèges. Une fois qu'un utilisateur a rempli ce formulaire - y compris en donnant son adresse électronique et / ou son numéro de téléphone - le collège concerné les contacte avec les informations correspondantes.

Maintenant, pour des raisons juridiques, le client demande que ce formulaire comporte également une case à cocher que le demandeur potentiel coche pour indiquer qu'il accepte de recevoir du matériel promotionnel de ces collèges. C'est bien sûr pas de problème. Mais voici la partie étrange de la demande:

Les détails de chaque formulaire rempli doivent être sauvegardés de manière fiable. Apparemment, enregistrer les valeurs du formulaire dans une base de données (une colonne indiquant si l'utilisateur a accepté ou non) n'est pas suffisant, car une base de données peut être modifiée une fois que l'utilisateur a envoyé le formulaire. Notre client affirme que d'autres portails d'université créent une capture d'écran du formulaire rempli et l'enregistrent quelque part dans un dossier dédié, d'une manière facile à trouver, par exemple en attribuant au fichier un nom comprenant le nom de l'utilisateur et la date. et le temps.

Ma question est la suivante: avez-vous entendu parler de l'utilisation de captures d'écran pour prouver qu'un utilisateur a effectivement rempli un formulaire? Existe-t-il d'autres méthodes considérées fiables?

Lea Cohen
la source
96
Les captures d'écran peuvent également être modifiées - surtout si elles sont stockées quelque part sur le disque.
ChrisF
41
Laissez-moi deviner: c'est un professeur d'informatique qui a eu cette idée. Certaines de ces personnes sont fantastiques. Je ne sais pas comment ils le font, mais les idées qu'ils proposent sont souvent aussi surréalistes que s'ils étaient à l'acide.
Mike Nakis
32
Attendez - ils sont en train de sauvegarder l'adresse électronique et d'autres informations personnelles dans la base de données, mais le "problème de sécurité" qui les inquiète est de savoir si cet utilisateur reçoit par erreur des courriers électroniques promotionnels?
Wonko the Sane
11
"dans un dossier difficile à trouver" - aah, La sécurité à travers l'obscurité! C'est beaucoup plus sécurisé qu'une base de données conservée sur un serveur sécurisé, nécessitant des informations de connexion, etc. pour se rendre à ...
Dave
19
Encore mieux qu’une capture d’écran si vous pouviez capturer un clip vidéo de la webcam de l’utilisateur en hochant la tête et en donnant un grand signe «pouce levé». Maintenant que ce serait la preuve!
GrandmasterB

Réponses:

74

Je n'ai jamais entendu parler de quelque chose comme ça, et ce serait ridicule, car une fausse capture d'écran peut être produite aussi facilement qu'une fausse valeur dans une base de données.

EDIT Par ailleurs, je veux dire, WTF? étant donné que vous ne pouvez pas obtenir une capture d'écran de l'écran d'une personne sur le Web, vous devrez évidemment reconstruire la page sur le serveur et prendre une capture d'écran de celle-ci. Ensuite, qui peut dire que vous ne l'avez pas fait?

Mike Nakis
la source
1
+1 bon point, je ne pensais pas que l'on pouvait techniquement utiliser un navigateur programmatique pour restituer le code HTML, puis éventuellement envoyer la page à un document PDF créant un pilote d'impression.
maple_shaft
comme cela se fait régulièrement. En principe, vous pouvez simplement envoyer les mêmes données à 2 modèles xsl: fo, l’un créant du HTML et l’autre du PDF (je l’ai déjà fait par le passé).
Jwenting
1
@jwenting Indépendamment de ce que MikeNakis a déjà souligné, cela peut toujours être altéré. Vous devrez soit utiliser des PDF signés électroniquement, soit créer un hachage à partir de l'image pour pouvoir l'utiliser afin de valider que la capture d'écran n'a pas été falsifiée.
maple_shaft
24
"tout aussi facilement"? Les fausses captures d'écran sont beaucoup plus faciles que de pirater une base de données!
Jesvin Jose
4
Nous le faisons dans certaines des applications que je construis .. Techniquement, ce n'est pas une "capture d'écran", mais aux fins d'audit, nous devons "reconstruire" la session telle qu'elle était à l'époque. Nous y parvenons en sauvegardant les données du formulaire soumis, puis en les reconstruisant ultérieurement. Cela dit, cela vient d’être sauvegardé dans une base de données et la «capture d’écran» n’est qu’une reconstitution des données que nous avons sauvegardées. Cela a l'air joli pour les gens qui le veulent.
Déco
35

Je sais que je commence cette réponse par une question mais j'ai un point:

Sans appeler à s'interroger sur l'absurdité supposée de la demande, s'il s'agit d'une application Web typique basée sur un navigateur HTTP, comment capturer une capture d'écran par programme et l'envoyer au serveur?

J'espère que c'est impossible car cela représenterait un grave problème de sécurité et de confidentialité pour les navigateurs.

Maintenant, imaginez si le numéro de carte de crédit de quelqu'un était également affiché à l'écran au moment de la capture d'écran. Maintenant, vous capturez par inadvertance des informations de carte de crédit et votre système devrait maintenant être conforme à la norme PCI. C’est une autre source de préoccupation.

La seule façon de le faire serait probablement d'utiliser un plug-in de navigateur tiers, tel que Flash, Silverlight, des applets Java ou un contrôle ActiveX avec des privilèges de système élevés. Le composant doit être signé et l'utilisateur doit accepter que le composant ait accès au code d'exécution sur sa machine.

Ce plan comporte trop de lacunes et je doute sérieusement que d'autres collèges mettent en œuvre quelque chose de similaire. Je n'ai certainement jamais entendu parler de cela au cours de ma carrière professionnelle, du moins pas avec une application Web.

MODIFIER:

Je viens de penser à une autre option qui refléterait probablement davantage ce que votre client demande réellement.

J'avais une application que j'avais créée pour un client et qui devait accepter et signer un document NDA pour pouvoir accéder à l'application. Je l'ai réalisé grâce à un document PDF signable. Vous pouvez avoir un champ de signature dans un document PDF qui, soit en utilisant un composant USB du stylet + pavé numérique, soit en cliquant simplement dessus pour confirmer que, à des fins juridiques, sera aussi bon que si vous aviez physiquement signé le document à la main.

C'est ce qu'on appelle une signature électronique et ils résistent devant les tribunaux.

Le document PDF après la signature devient crypté et un hachage est stocké avec lui pour vérifier que le document n'a PAS été falsifié après la signature. Les lecteurs de PDF modernes tels qu'Adobe peuvent en réalité transmettre un document signé à un serveur où vous pouvez le stocker dans un système de gestion de documents ou une base de données pour le conserver en sécurité.

À tout moment, les utilisateurs administrateurs peuvent rappeler l'un de ces documents et les imprimer.

Cela correspond peut-être davantage à ce dont votre client a réellement besoin, mais vous avez eu peu de temps pour expliquer correctement.

maple_shaft
la source
1
+1 pour avoir mentionné que c'était techniquement possible, mais qu'il faudrait un plug-in
bunglestink
10
Alors, qu'est-ce qui vous empêche de remplacer le PDF par celui que vous avez vous-même signé? À ma connaissance, il n’existe pas d’infrastructure robuste à clé publique permettant de traiter les identités des individus.
Random832
1
@ Random832 Checkmate mon ami, tu m'as eu! Je suppose qu'il n'y a pas de réponse 100% sécurisée. Tout système peut être compromis.
maple_shaft
3
Cela n’aurait certainement pas besoin d’un plug in; Notez que les derniers outils de commentaires de Google (sur Google Plus et Youtube) font en réalité cette "capture d'écran". Vous pouvez facilement envoyer tout le code HTML d'une page en cours via JAvascript et utiliser la feuille de style appropriée pour reconstruire l'aspect d'une image. Bien sûr, cela est absurde, car vous pouvez simplement envoyer la valeur de la case à cocher.
Ben Brocka
J'ai écrit un widget qui capture les mouvements de la souris dans un élément CANVAS et sérialise l'heure capturée, ainsi que les coordonnées X, Y du serveur. Je ne suis pas tout à fait sûr du statut juridique d'une telle "signature" (elle pourrait être modifiée et est assez facile à copier) mais si c'est la seule chose qu'ils "signent" sur le système, il serait difficile d'expliquer comment vous avez ces données s'ils n'y consentent pas. (Je ne sais pas ce qui se passe s'ils font signer leur frère frère "pizza", mais le PDF souffre du même problème).
psr
27

Je pense que la vraie question serait de savoir si la personne dont le nom apparaît sur le formulaire a vraiment rempli le formulaire.

En d'autres termes, si quelqu'un va sur le site Web et entre le nom "Bill Gates" et clique sur la case "il est correct de m'envoyer un courrier électronique", comment une capture d'écran prouverait-elle que c'est le vrai Bill Gates?

Ont-ils envisagé de faire ce que beaucoup de sites font et envoient un e-mail de vérification avec un lien unique sur lequel quelqu'un doit cliquer pour confirmer? Ainsi, vous aurez au moins un enregistrement confirmant que vous avez une personne ayant accès à ce compte de messagerie.

JonnyBoats
la source
4
Exactement. Courriel de vérification pour vous assurer que la personne qui demande les courriels a le contrôle de l’adresse électronique en question. J'ajouterais également qu'au lieu d'avoir un casier judiciaire contenant du matériel promotionnel demandé, vous ne faites que vous conformer à la loi CAN SPAM et vous permettre de vous désabonner très facilement. (Chaque courrier électronique qui envoie du matériel promotionnel, même si celui-ci est envoyé par une tierce partie, contient un lien vous permettant de vous désabonner de toutes les listes que vous leur avez
envoyées
20

Ça n'existe pas

Cette discussion doit commencer avec la compréhension qu'il n'y a aucun moyen de prouver absolument que la personne a accepté. Ceci est vrai même dans le monde physique. Même si vous enregistrez en vidéo la personne qui signe physiquement un formulaire et y met une goutte de sang, elle peut affirmer que la vidéo a été falsifiée, que le sang leur a été prélevé à son insu et que la signature a été falsifiée. Mais la preuve absolue n'est pas nécessaire; juste une quantité raisonnable de preuves.

Dans le monde numérique, toutes les données (texte, image, données d'une base de données ou courrier électronique) peuvent être falsifiées. La preuve la plus proche que nous puissions avoir est pour l’utilisateur de chiffrer quelque chose en utilisant une clé privée et de montrer que sa clé publique le déchiffrera. Cependant, la plupart des utilisateurs ne sont pas en mesure de le faire et pourraient toujours affirmer que leur clé privée a été volée.

Le mieux que nous puissions faire est de:

  • Obtenez quelque chose qui serait difficile (bien que pas impossible) à simuler
  • Convenez que, juridiquement, cette preuve est suffisante
  • Faciliter la désinscription de l'utilisateur

L'enregistrement d'une image plutôt que du texte n'ajoute rien en termes de preuve; il ne fait que rendre le processus plus lent et plus coûteux.

Signatures électroniques

Dans mon travail, nous avons une application où les utilisateurs signent une déclaration. Légalement, les juridictions dans lesquelles nous exerçons nos activités ont adopté des lois stipulant qu'un utilisateur qui tape son adresse électronique dans un formulaire peut compter comme une signature électronique. Nous avons déjà vérifié qu'ils ont accès à l'adresse en envoyant un lien sur lequel ils doivent cliquer. Ce n'est pas une preuve absolue, mais cela a été jugé suffisant pour nos besoins.

Quelles que soient les informations que vous capturez, je vous suggère également de saisir un horodatage afin que vous puissiez dire "vous avez accepté à cette date et à cette heure". Je ne suis pas sûr que cela ait une pertinence juridique, mais cela me semble plus convaincant, car cela donne plus de possibilités à l'utilisateur de prouver le contraire ("J'ai la preuve que je n'étais pas devant un ordinateur à cette époque", par exemple ).

Devenir fou avec elle

Certaines choses que vous pourriez faire et qui pourraient être considérées comme des preuves:

  • Capturez l'horodatage, l'adresse IP, le navigateur, etc., de manière à pouvoir affirmer les circonstances de la signature.
  • Exiger une vérification de l'adresse e-mail
  • Demander à l'utilisateur de saisir son mot de passe au moment de la signature
  • Faites en sorte qu'un service Web tiers en écriture seulement fonctionne et reçoive, au moment où l'utilisateur signe, un message POST HTTPS de votre application avec les informations de signature. Si le tiers peut attester que son service est en écriture seule, qu'il a reçu l'enregistrement à ce moment-là et que votre copie est identique, vous pouvez en déduire que vous n'avez pas modifié les données depuis.
  • Envoyez un e-mail à l'utilisateur à ce moment-là en lui disant "Merci pour votre inscription, voici comment vous désabonner." Leur fournisseur de messagerie ou le vôtre peut être en mesure de montrer que le courrier a été envoyé juste après la signature de l'utilisateur.

IANAL

S'il vous plaît ne prenez pas de cela comme un avis juridique.

Nathan Long
la source
Excellente réponse ... mais les adresses électroniques en tant que signatures électroniques ont également été contestées au plan juridique. Vous avez raison cependant, il n'y a pas de moyen absolument éprouvé. Juste différentes nuances de plus difficile. Le système juridique fonctionne avec un doute raisonnable. La plupart des gens conviendraient que le travail de création d'une vidéo, de vol de sang et de signature ne constitue pas une possibilité raisonnable. Cela pourrait-il arriver? Oui, bien sûr, mais il est très improbable que quiconque s’attaque à ce problème.
maple_shaft
1
"... et ils pourraient toujours dire que leur clé publique a été volée." Cela ne devrait-il pas se lire "... et ils pourraient toujours dire que leur clé privée a été volée". La clé publique volée ne pose aucun problème de sécurité dans une infrastructure à clé publique bien conçue.
Lie Ryan
capturing a timestampest juste inutile. De nos jours, il est assez facile pour un utilisateur régulier de créer un automatisme de navigateur ou de bureau pour planifier le remplissage de formulaires à une date ultérieure.
Lie Ryan
10

Une autre option serait de consigner la publication HTTP brute à partir du client. Cela aurait leur adresse IP, d'où ils venaient, quel navigateur, etc., sans nécessiter de capture d'écran. Vous pouvez ensuite le consigner dans une table insérée uniquement sous forme brute ou dans un simple fichier journal à plat ...

J'essaie juste de penser à d'autres options parce que j'ai tendance à rencontrer des demandes aussi ridicules que cela beaucoup plus souvent que je ne le souhaiterais ...

bunglestink
la source
Hmm ouais mais ce journal est dans la même base de données qu'ils craignent d'être falsifié. Voir la modification dans ma réponse, les documents PDF signés électroniquement sont le seul moyen de s’assurer que le document n’a pas été falsifié.
maple_shaft
1
@maple_shaft: L'idée de base d'ajouter une sécurité de base de données supplémentaire serait les autorisations "Insérer uniquement" pour tous les utilisateurs sauf un administrateur. Ce journal viendrait s’ajouter aux activités habituelles de la base de données et ne serait utilisé que pour la vérification en cas de besoin.
Bunglestink
1
@JonnyBoats: Vous êtes techniquement correct à propos de HTTPS, bien qu'une fois reçu au niveau de l'application, vous aurez le même texte brut enregistré.
Bunglestink
1
"Les documents PDF signés électroniquement" ou tout ce qui est signé électroniquement "sont le seul moyen de s'assurer que le document n'a pas été falsifié" sauf par une personne possédant la clé avec laquelle ils doivent être signés.
Random832
1
@ Random832: c'est faisable si la clé privée pour le document est fournie par l'utilisateur, IMO c'est trop cher pour une case à cocher indiquant un accord pour recevoir du matériel promotionnel.
Lie Ryan
8

Une capture d'écran est facilement fabriquée, si vous êtes si enclin. Comme n'importe quel type de hachage, d'horodatage, etc., sans base cryptographique. On peut supposer que le collège doit être en mesure de prouver qu’il a obtenu un consentement positif avant d’envoyer du matériel de marketing à des personnes ou de commercialiser ses informations à des tiers.

Pour ce faire, le seul moyen fiable consiste à demander une signature cryptographique à l'utilisateur. Pour un exemple, voyez la façon dont le site Web http://launchpad.net vous demande de signer de manière cryptographique le code de conduite Ubuntu.

Cela n’a force de loi que dans les pays où une signature cryptographique peut être utilisée sur un document légal, mais en signant un texte spécifique, l’utilisateur peut fournir la preuve de son consentement, qui est ensuite vérifiable. Il serait pratiquement impossible au collège de forger une signature correcte à partir de la même clé publique.

Il est à noter qu’il est toujours facile pour le collège de mettre à jour sa base de données et d’inverser le champ de consentement, ainsi que de remplacer la clé publique par une autre clé pour laquelle il connaît la clé privée et de générer une signature valide pour cette clé.

Par conséquent, en l'absence de signature des clés par un tiers pour attester de son appartenance à un particulier, l'utilisateur ne peut vérifier si le collège a falsifié ses paramètres de confidentialité - sans la signature du tiers, c'est sa parole contre le collège.

Si vous exigez en outre que toutes les clés soient possédées et que la clé soit signée par un ou plusieurs tiers de confiance, le collège ne pourra pas forger de signatures apparemment valides sans une plus grande exposition (ils seraient obligés de tromper ou de coopter les tiers de confiance afin de faire signer leurs fausses clés). La difficulté de cette attaque augmenterait avec le nombre de signatures de tiers requises, mais comme l'indique une autre affiche, ce n'est pas impossible.

Donc, pour résumer:

  • L'utilisateur doit posséder ou générer une paire de clés privée / publique
  • L'utilisateur doit ensuite obtenir une signature pour sa clé publique auprès d'un ou plusieurs tiers de confiance.
  • L'utilisateur doit télécharger sa clé publique, au moins vers le collège et de préférence vers un référentiel de clés tiers.
  • L'utilisateur doit signer un texte en clair connu et fournir la signature comme preuve qu'il a accepté de partager ses données privées.

Problèmes pratiques:

  • Peu de gens comprennent les signatures cryptographiques
  • Le coût de la certification par une tierce partie peut être coûteux
  • Il semble que beaucoup de travail soit fait pour protéger une case Junkmail dans la page de téléchargement d’un prospectus pour le collège.
Adrian
la source
8

Je commencerais par lire les signatures électroniques pour le pays / pays du client avec pour objectif de déterminer les méthodes et les exigences juridiquement contraignantes. Je suis convaincu qu’aucun pays ou État sensé n’exigerait une capture d’écran comme seule méthode de preuve pour une signature électronique obligatoire.

Par exemple, aux États-Unis, 47 États ont accepté la loi uniforme sur les transactions électroniques , qui s’applique, entre autres, aux «affaires gouvernementales» et s’appliquera donc probablement aux exigences du collège. Il comporte les éléments suivants qui peuvent aider:

..

  • Signature électronique - Son électronique, son symbole ou procédé attaché à un document ou associé logiquement à un document et exécuté ou adopté par une personne avec l’intention de signer le document.

..

  • La section 7 reconnaît juridiquement les signatures électroniques, les enregistrements et les contrats
    • (a) Un enregistrement ou une signature ne peut se voir refuser l’effet juridique ou la force exécutoire du seul fait qu’il est sous forme électronique.
    • (b) Un contrat ne peut se voir refuser l’effet juridique ou la force exécutoire du seul fait qu’un enregistrement électronique a été utilisé pour le constituer.
    • c) Si une loi exige qu'un enregistrement soit écrit, un enregistrement électronique satisfait à la loi.
    • d) Si une loi exige une signature, une signature électronique la satisfait.

..

Une fois que je connaissais les lois, j’estimais le coût de la meilleure méthode de signature électronique par rapport au coût de la méthode de capture d’écran.

Enfin, je discuterais avec eux de mes découvertes. Premièrement, je leur expliquerais la meilleure option par rapport à l’option proposée. Ensuite, je leur expliquerais le temps que cela ajouterait au projet. Enfin, si j'étais dans un endroit pour le faire, je leur dirais que cette "fonctionnalité" ajouterait x dollars à la facture finale. Je serais très sûr d'utiliser le coût supplémentaire pour moi comme justification du coût supplémentaire pour eux.

S'ils ne bougeaient toujours pas, je verrais s'ils ont un superviseur avec une raison quelconque avec laquelle je pourrais avoir la même réunion.

* Je ne suis pas avocat, alors demandez conseil à un avocat si vous avez des doutes sur quoi que ce soit.

Briguy37
la source
6

Ceci étant une question juridique, une vraie réponse dépendra bien sûr des lois nationales et peut-être même locales et des circonstances exactes. Donc, évidemment, une vraie réponse ne peut venir que d'un avocat.

Cependant, pour ce qui est de mes connaissances juridiques (limitées), je ne vois aucune raison de penser qu'une capture d'écran serait considérée comme une preuve, car il est évidemment très facile de simuler.

La meilleure chose à faire est probablement d'expliquer à votre client qu'il s'agit essentiellement d'un problème juridique et que l'aide d'un avocat est nécessaire. Ensuite, discutez avec eux s'ils veulent que vous en discutiez avec un avocat ou s'ils veulent le faire eux-mêmes.

Pour obtenir une solution réalisable, vous voudrez peut-être discuter vous-même (si le client est d'accord). Si vous ne voulez pas de problèmes (ou craignez qu'ils ne soient pas disposés à vous payer pour cela), laissez-les le faire.

sleske
la source
6
Si le PO opte pour cette voie, je suggérerais une approche médiane. Expliquez au client qu'il doit en discuter avec un avocat, mais que le PO voudrait participer à ces discussions dans la mesure du possible. De cette façon, la dépense est directement à la charge du client et il y a moins de risque que le client interprète de manière erronée quelque chose que l'avocat dit lorsqu'il transmet cette information au PO.
Kevin D
5

Si vous souhaitez valider qu'un document reste inchangé (enregistrement de base de données, peu importe), la "meilleure pratique" est la suivante:

  • Sérialiser les données de manière reproductible, y compris tous les champs pouvant donner lieu à des litiges (par exemple, une adresse e-mail, si une case est cochée ou non).
  • Prenez le hash de cet enregistrement (par exemple sha1)
  • Utiliser la clé publique d'un tiers de confiance (un tiers désintéressé) pour chiffrer ce hachage
  • Publiez les données de manière publique pour établir la date à laquelle elles existaient, par exemple un groupe de discussion.
  • Pour valider, le tiers peut déchiffrer le hachage et le comparer à la valeur de hachage actuelle.

Cela a été utilisé pour garantir que les registres d'assurance n'ont pas été altérés; Cependant, la "tierce partie de confiance" à qui nous avons versé une certaine somme d'argent a promulgué les hachages au moment de leur signature à nous-mêmes et à plusieurs autres clients.

C'est clairement un fardeau ridicule pour quelque chose comme valider un champ booléen. Mais si vous montrez au client la dépense en cause, il cessera probablement d'être idiot.

BRPocock
la source
4

Bien que la demande elle-même soit absurde et que vous ne puissiez pas avoir la preuve légale raisonnablement établie qu'une personne A a coché la case lors du remplissage d'un formulaire, il existe une question à l'intérieur de votre question à laquelle vous pouvez réellement répondre:

[Comment faire en sorte que les données ne soient pas modifiées ultérieurement, alors que] une base de données peut être modifiée après que les utilisateurs ont envoyé le formulaire?

Ceci, en fait, peut être plus facile à faire techniquement.

1. Conservez la preuve que les données n'ont pas été altérées

Envoyer un e-mail à vous-même (vers une boîte aux lettres dédiée) avec les valeurs réellement envoyées par l'utilisateur est simple (bon, cela peut être, en fonction de la configuration de votre serveur, du seuil, des chances d'être filtré comme spam, nombre d'e-mails envoyés par seconde, etc.), est suffisant pour indiquer que les données n'ont pas été modifiées après leur envoi . Par exemple, à moins d’avoir un accès illimité aux serveurs Google , je suis presque certain que tout le monde sera convaincu de ne pas pouvoir modifier le contenu des courriels que j’ai envoyés à ma propre adresse GMail.

2. Gardez une preuve que les données sont correctes

Il est fort probable que le client ne sera pas satisfait, car même si vous avez la preuve que les données n'ont pas été modifiées par la suite, comment pouvons-nous être sûr qu'elles n'ont pas été modifiées entre l'envoi du formulaire et l'envoi d'informations par courrier électronique? (et s'engager dans la base de données)? Dans ce cas, l'étape suivante consiste à:

  1. Supprimer la case à cocher,
  2. Marquez toute personne ayant rempli le formulaire comme ne souhaitant pas recevoir de matériel publicitaire de spam de la part de votre société cliente,
  3. Indiquez aux visiteurs qu'ils doivent envoyer un e-mail (avec un titre prédéfini et un corps vide) à la boîte aux lettres dédiée afin de recevoir les offres commerciales de spam .

Leurs e-mails peuvent ensuite être traités automatiquement et conservés comme preuve.

3. Conserver une preuve de l'authenticité des données

Maintenant que vous avez la preuve que la personne qui utilise l'adresse e-mail donnée souhaite réellement recevoir le spam, le client peut toujours être insatisfait (ce qui arrive généralement lorsque les clients ont des requêtes aussi folles). Que se passe-t-il si quelqu'un pirate la boîte aux lettres de quelqu'un d'autre uniquement pour enregistrer le pirate informatique afin qu'il reçoive votre spam?

À ce niveau de folie, vous pouvez toujours répondre techniquement aux exigences. Désormais, au lieu d’envoyer un courrier électronique d’inclusion, l’utilisateur du site Web doit:

  1. Envoyez un courrier avec une copie de votre pièce d'identité / passeport et une lettre avec une signature pour indiquer que cette personne souhaite réellement recevoir le spam.

  2. Validez l'adresse e-mail via un code secret qui vous sera renvoyé.

Mais avant cela, persuadez le client de mettre en œuvre ce que j'ai décrit dans la partie 2 et de le tester. Le client verra qu'après un mois ou deux, personne n'enverra jamais d'e-mail de participation, et il sera heureux d'oublier les preuves légales et les données modifiées dans la base de données.

Arseni Mourzenko
la source
Votre étape 2 ne prouve rien. Pour marquer les personnes comme ne souhaitant pas recevoir de spam, vous stockez cette "marque" dans la même base de données que le client craint d'être altérée. Le fait de conserver un hachage d'un ensemble de données garantit toutefois que si quelqu'un altère les données ou le hachage lui-même, comparer ces données par rapport à un hachage entraînerait son échec par rapport au hachage et la preuve que les données ont été corrompues ou altérées.
maple_shaft
@maple_shaft, l'essentiel dans la partie 2 en général n'est pas ce qui est stocké dans la base de données, mais uniquement la réception de l'e-mail d'activation de la part de l'utilisateur du site Web. Les données dans la base de données n'ont pas d'importance.
Arseni Mourzenko
2
L'étape 1 est bonne. Facile, simple, efficace.
Offirmo
@MainMa: Et vous pensez que les e-mails ne peuvent pas être falsifiés ou falsifiés?
Ben Voigt
3

Le statut juridique de ce que vous faites est indépendant du mérite technique de la solution.

Par exemple :

Pendant des années, les députés britanniques ont ignoré les pétitions électroniques, car la loi exigeait que celles-ci portent une signature pour chaque personne. Ensuite, quelqu'un a remarqué que le hachage d'une adresse électronique, d'une date, d'une heure et d'un commentaire, même s'il ne contenait aucune clé secrète, constituait une "signature numérique" aux yeux de la loi britannique.

Par conséquent, demandez à un avocat de vous dire quoi faire et de le faire. Ne vous inquiétez pas si c'est sain.

Ou bien, faites ce que votre client demande en espérant avoir consulté un avocat. Assurez-vous qu'il y a un compte rendu de la discussion.

svelte
la source
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.cela ne ferait que remplir votre obligation légale et politique envers le client; Je pense que le PO (à juste titre) est plus intéressé à aider le client à remplir ses obligations légales (bien que le client semble actuellement mal comprendre ses propres exigences légales, suggérant ainsi la mauvaise solution).
Lie Ryan
3

Comment le bip est-il censé obtenir une capture d'écran? Ce que vous avez, c'est le code HTML et tout ce que vous envoyez au client, ainsi que la réponse électronique du client. Ni implique une capture d'écran.

La capture d'écran représente ce que le navigateur rend et diffère quelque peu en fonction du navigateur utilisé, des paramètres et de l'équipement à l'autre extrémité. Personnellement, je navigue en utilisant Firefox, Chrome, Opera, Safari mobile, parfois Lynx, et même parfois un petit IE.

Vous pouvez restituer la page dans un navigateur standard et faire une capture d'écran, mais créer votre propre document et l'enregistrer ne va pas impressionner un juge. Vous pouvez demander à l'utilisateur d'envoyer une capture d'écran, mais bonne chance pour le faire respecter. Tous les appareils de navigation ne disposent pas d'un moyen évident de prendre et d'envoyer une capture d'écran (comment le faire sur un iPhone?). Si vous utilisez un lecteur d'écran avec un client malvoyant, il peut ne pas y avoir de représentation visuelle du tout chez le client. (J'ai vu un couple d'amis aveugles utiliser un ordinateur portable, qui n'avait aucun écran.)

Expliquez donc au client qu’il n’ya aucun moyen d’obtenir une capture d’écran et qu’il n’ya peut-être même pas d’écran pour prendre une photo.

David Thornley
la source
1
iPhone: maintenez le bouton LOCK enfoncé pendant quelques secondes. Android: Rootkit le téléphone et prie. (Je comprends ce que vous vouliez dire, je ne fais que dire…)
BRPocock
3

Il est en fait possible de créer un contrôle d’accès obligatoire en conjonction avec un horodatage approuvé et une signature numérique pour la base de données afin de garantir la fiabilité de la valeur de la colonne. Les captures d'écran ne sont pas la bonne réponse, il existe cependant des solutions de confiance qui permettent d'atteindre exactement ce que vous souhaitez. Si vous voulez plus de détails, vous pouvez commencer une discussion avec moi.

Ahmed Masud
la source
2

Comme déjà indiqué, vous ne pouvez pas vraiment prouver que la personne était d'accord ou pas aussi sûrement que la meilleure solution est:

a) Demandez à la personne de confirmer son accord via un lien envoyé à son adresse e-mail (cela garantit qu’elle n’a pas entré simplement [email protected])

b) Donnez-leur la possibilité de se désabonner du marketing / de la promotion

Matt Wilko
la source
2

Un schéma qui est le plus proche de l’inviolabilité consiste à générer une paire de clés publique / privée lorsque l’utilisateur remplit le formulaire à l’aide de Javascript (côté client), puis envoie le contenu du formulaire, la clé publique et la signature à le serveur et présentez la clé privée à l'utilisateur et demandez-lui de prendre note et de le stocker dans un endroit sûr.

Avec ce schéma, vous pourrez prouver qu'il est impossible de falsifier les données de formulaire car vous ne connaissez pas la clé privée utilisée pour générer la signature. La faiblesse de ce schéma est que vous devez être en mesure de prouver que vous n'avez jamais touché à la clé privée et que l'utilisateur ne doit pas perdre sa clé privée.

Étant donné que vous devez pouvoir prouver que vous n'avez jamais eu accès à la clé privée, il peut être nécessaire d'inclure le code HTML et tout le code Javascript lors de la génération de la signature de formulaire; cela prouve le formulaire exact que l'utilisateur utilise pour soumettre les données (prouvant ainsi que vous n'avez pas modifié le formulaire / javascript depuis leur soumission, prouvant donc que vous n'avez pas utilisé javascript pour voler leur clé privée).

Ce schéma est complexe et, comme pour tout système complexe, je ne peux pas garantir qu'il n'y a pas de trou (en fait, je suis assez confiant, et quelqu'un serait probablement capable de le signaler).

Lie Ryan
la source
2

Une capture d'écran ne serait pas une preuve suffisante, car il n'y a aucun moyen de vérifier qu'une capture d'écran est réelle. Cela pourrait si facilement être falsifié. En ce qui concerne les solutions plus techniques, il y a le moteur de stockage d'archivespour MySQL qui ne supporte que insérer et sélectionner. Vous ne pouvez pas supprimer du tableau. Remarquez, il est peut-être possible de modifier ALTER TABLE sur un autre moteur de stockage, de supprimer l'enregistrement, puis ALTER TABLE pour modifier le moteur sans que personne ne s'en aperçoive, mais espérons que vous pourrez le limiter à la racine et ne permettre à cette dernière que de se connecter localement. . Ensuite, vous pouvez simplement suivre les connexions sur la machine de base de données locale réelle pour déterminer qui a éventuellement changé. Vous pouvez également analyser les journaux binaires ou activer le journal de requête brut pour voir qui aurait pu émettre des requêtes ayant entraîné ce type d'activité. Je ne suis pas sûr de la technologie de base de données que vous utilisez, mais vous devriez probablement pouvoir proposer une solution qui empêche les données de changer facilement.

Kibbee
la source
2

Je vais vous recommander de vous asseoir et de lire la loi ESIGN . Cette loi couvre ce qui est nécessaire ou non pour enregistrer une signature électronique afin qu’elle soit juridiquement contraignante. Chez un employeur précédent, nous avons constaté que l’obstacle statutaire le plus difficile était de pouvoir rendre les signatures et les documents lisibles pendant 10 à 15 ans.

Les détails de chaque formulaire rempli doivent être sauvegardés de manière fiable. Apparemment, enregistrer les valeurs du formulaire dans une base de données (une colonne indiquant si l'utilisateur a accepté ou non) n'est pas suffisant, car une base de données peut être modifiée une fois que l'utilisateur a envoyé le formulaire. Notre client affirme que d'autres portails d'université créent une capture d'écran du formulaire rempli et l'enregistrent quelque part dans un dossier dédié, d'une manière facile à trouver, par exemple en attribuant au fichier un nom comprenant le nom de l'utilisateur et la date. et le temps.

Comme d'autres l'ont souligné, la capture d'écran est quelque chose qui ne peut pas être fait. Il peut être falsifié, car tous les spectacles "magiques" sont de la pure falsification: vous voyez quelqu'un se faire scier en deux, mais ils ne le sont pas réellement.

Tangurena
la source
1

J'ai déjà eu affaire à ma part de fous. Je peux penser à certaines solutions techniques, mais pourquoi ne pas revenir vers le client et suggérer de reformuler la question en "Vous ne voulez pas recevoir d'e-mails marketing?" (ou un libellé similaire) et permettre à la personne de se retirer? Ensuite, vous n'avez pas besoin d'une capture d'écran.

jqa
la source
1

Comme chacun l’a noté, le mérite technique et juridique de la demande de fonctionnalité est inexistant. Cela dit, il est possible d'autoriser un utilisateur à prendre et télécharger manuellement une capture d'écran en tant que pièce jointe.

Moshe
la source