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?
Réponses:
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?
la source
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.
la source
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.
la source
Ç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:
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:
IANAL
S'il vous plaît ne prenez pas de cela comme un avis juridique.
la source
capturing a timestamp
est 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.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 ...
la source
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:
Problèmes pratiques:
la source
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:
..
..
..
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.
la source
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.
la source
Si vous souhaitez valider qu'un document reste inchangé (enregistrement de base de données, peu importe), la "meilleure pratique" est la suivante:
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.
la source
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:
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 à:
spam dela part de votre société cliente,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:
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.
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.
la source
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.
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).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.
la source
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.
la source
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
la source
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).
la source
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.
la source
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.
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.
la source
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.
la source
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.
la source