Formular-Screenshot zum legalen Nachweis, dass Sie auf eines der Kontrollkästchen geklickt haben?

45

Wir haben eine Anfrage von einem unserer Kunden erhalten, und da ich noch nie zuvor auf eine solche Anfrage gestoßen bin, weiß ich nicht einmal, wo ich anfangen soll, danach zu suchen.

Unser Kunde ist ein Netzwerk von Hochschulen, und wir bauen ihnen eine Website. Auf dieser Website wird unter anderem ein Formular bereitgestellt, das potenzielle Bewerber ausfüllen können, um weitere Informationen über das Studium an einem der Colleges zu erhalten. Nachdem ein Benutzer dieses Formular - einschließlich der Angabe seiner E-Mail-Adresse und / oder Telefonnummer - ausgefüllt hat, kontaktiert ihn das entsprechende College mit den entsprechenden Informationen.

Aus rechtlichen Gründen bittet der Kunde nun darum, dass dieses Formular auch ein Kontrollkästchen enthält, das der potenzielle Antragsteller überprüft, um anzuzeigen, dass er Werbematerial von diesen Hochschulen erhalten möchte. Das ist natürlich kein Problem. Aber hier kommt der seltsame Teil der Anfrage:

Die Details jedes ausgefüllten Formulars müssen auf zuverlässige Weise gespeichert werden. Offensichtlich reicht es nicht aus, die Formularwerte in einer Datenbank zu speichern - eine Spalte, in der angegeben wird, ob der Benutzer zustimmt oder nicht -, da eine Datenbank geändert werden kann, nachdem der Benutzer das Formular gesendet hat. Unser Kunde behauptet, dass andere College-Portale einen Screenshot des ausgefüllten Formulars erstellen und ihn in einem speziellen Ordner auf eine leicht zu findende Weise speichern, z. B. indem sie der Datei einen Namen geben, der den Namen des Benutzers und das Datum enthält und Zeit.

Meine Frage lautet wie folgt: Haben Sie von der Verwendung von Screenshots gehört, um zu beweisen, dass ein Benutzer tatsächlich ein Formular ausgefüllt hat? Gibt es andere Methoden, die als zuverlässig gelten?

Lea Cohen
quelle
96
Screenshots können ebenfalls geändert werden - insbesondere, wenn sie nur irgendwo auf der Festplatte gespeichert sind.
ChrisF
41
Lassen Sie mich raten: Es ist ein Informatikprofessor, der auf diese Idee gekommen ist. Einige dieser Leute sind fantastisch. Ich weiß nicht, wie sie das machen, aber die Ideen, die ihnen einfallen, sind oft so surreal, als wären sie sauer.
Mike Nakis
32
Warten Sie - sie speichern die E-Mail-Adresse und andere persönliche Informationen in der Datenbank, aber das "Sicherheitsproblem", über das sie sich Sorgen machen, ist, ob dieser Benutzer versehentlich Werbe-E-Mails erhält.
Wonko the Sane 22.12.11
11
"in einem Ordner, der nicht leicht zu finden ist" - aah, Sicherheit durch Dunkelheit! Das ist viel sicherer als eine Datenbank auf einem sicheren Server, für die Anmeldeinformationen usw. erforderlich sind ...
Dave
19
Noch besser als ein Screenshot wäre es, wenn Sie einen Videoclip von der Webcam des Benutzers aufnehmen könnten, der nickte und ein großes "Daumen hoch" -Zeichen zeigte. Nun wäre das ein Beweis!
GrandmasterB

Antworten:

74

Ich habe noch nie davon gehört, und es wäre lächerlich, weil ein gefälschter Screenshot genauso einfach erstellt werden kann wie ein gefälschter Wert in einer Datenbank.

EDIT Außerdem meine ich, WTF? Da Sie keinen Screenshot von einem Bildschirm über das Internet erhalten können, müssen Sie natürlich die Seite auf dem Server rekonstruieren und einen Screenshot davon machen.

Mike Nakis
quelle
1
+1 Gut, ich habe nicht in Betracht gezogen, dass man technisch einen programmgesteuerten Browser zum Rendern des HTML-Codes ausführen und die Seite dann möglicherweise an ein PDF-Dokument senden kann, das einen Druckertreiber erstellt.
maple_shaft
wie es ja regelmäßig gemacht wird. Das ist ganz einfach, im Prinzip können Sie die gleichen Daten einfach an 2 xsl: fo-Vorlagen senden, wobei eine HTML-Datei und die andere PDF-Datei erstellt wird (das habe ich in der Vergangenheit tatsächlich getan).
22.
1
@jwenting Unabhängig davon, wie MikeNakis bereits betont hat, kann dies immer noch manipuliert werden. Sie müssen entweder elektronisch signierte PDF-Dateien verwenden oder einen Hash aus dem Bild erstellen, um zu überprüfen, ob der Screenshot manipuliert wurde.
maple_shaft
24
"genauso leicht"? Die gefälschten Screenshots sind viel einfacher als das Hacken einer Datenbank!
Jesvin Jose
4
Wir tun dies in einigen der von mir erstellten Anwendungen. Technisch gesehen handelt es sich nicht um einen "Screenshot", aber zu Prüfungszwecken müssen wir die Sitzung so "rekonstruieren", wie sie zu der Zeit war. Dies erreichen wir, indem wir die Daten aus dem übermittelten Formular speichern und später rekonstruieren. Allerdings ist das nur in einer Datenbank gespeichert und der "Screenshot" ist nur eine Rekonstruktion der von uns gespeicherten Daten. Es sieht einfach hübsch für die Leute aus, die es wollen.
Deco
35

Ich weiß, dass ich diese Antwort mit einer Frage beginne, aber ich habe einen Punkt:

Wenn dies eine typische HTTP-Browser-basierte Webanwendung ist, ohne die vermeintliche Absurdität der Anfrage in Frage zu stellen, wie würde man dann einen Screenshot programmgesteuert erfassen und an den Server senden?

Ich würde hoffen, dass dies unmöglich ist, da dies ein ernstes Sicherheits- und Datenschutzproblem für den Browser darstellt.

Stellen Sie sich nun vor, dass zum Zeitpunkt der Screenshot-Erfassung auch eine Kreditkartennummer auf dem Bildschirm angezeigt wurde. Jetzt erfassen Sie versehentlich Kreditkarteninformationen und Ihr System sollte jetzt PCI-kompatibel sein. Dies ist ein weiterer Grund zur Besorgnis.

Die einzige Möglichkeit, dies zu tun, wäre wahrscheinlich die Verwendung eines Browser-Plugins eines Drittanbieters wie Flash, Silverlight, Java Applets oder eines ActiveX-Steuerelements mit erhöhten Systemberechtigungen. Die Komponente muss signiert werden und der Benutzer muss zustimmen, dass die Komponente Zugriff auf die Ausführung von Code auf ihrem Computer hat.

Es gibt zu viele Lücken in diesem Plan und ich bezweifle ernsthaft, dass andere Colleges etwas Ähnliches implementieren. Davon habe ich in meiner beruflichen Laufbahn noch nie gehört, zumindest nicht mit einer Webanwendung.

BEARBEITEN:

Ich habe mir gerade eine andere Option überlegt, die wahrscheinlich besser widerspiegeln würde, wonach Ihr Kunde wirklich fragt.

Ich hatte eine Bewerbung für einen Kunden, bei der der Kunde zustimmen und ein NDA-Dokument unterzeichnen musste, um Zugriff auf die Bewerbung zu erhalten. Ich habe dies durch ein signierbares PDF-Dokument erreicht. Sie könnten ein Unterschriftsfeld in einem PDF-Dokument haben, das entweder mithilfe einer USB-Komponente mit Stift und Schreibblock oder durch einfaches Anklicken zur Bestätigung aus rechtlichen Gründen genauso gut ist, als hätten Sie das Dokument physisch von Hand unterschrieben.

Es wird eine elektronische Unterschrift genannt und sie halten sich vor Gericht.

Das PDF-Dokument wird nach dem Signieren verschlüsselt und es wird ein Hash gespeichert, der bestätigt, dass das Dokument nach dem Signieren NICHT manipuliert wurde. Moderne PDF-Reader wie Adobe können ein signiertes Dokument tatsächlich an einen Server übertragen, auf dem Sie es zur sicheren Aufbewahrung in einem Dokumentenverwaltungssystem oder einer Datenbank speichern können.

Administratorbenutzer können jederzeit eines dieser Dokumente abrufen und ausdrucken.

Dies mag eher dem entsprechen, was Ihr Kunde tatsächlich benötigt, hatte aber eine schlechte Zeit, um es richtig zu erklären.

maple_shaft
quelle
1
+1 für die Erwähnung, dass dies technisch möglich ist, aber ein Plug-in erforderlich wäre
bunglestink
10
Was hindert Sie daran , die PDF-Datei durch eine von Ihnen selbst signierte zu ersetzen ? Soweit ich weiß, gibt es keine solide Public-Key-Infrastruktur für den Umgang mit der Identität von Personen.
Random832
1
@ Random832 Schachmatt mein Freund, du hast mich! Ich denke, es gibt keine 100% sichere Antwort. Jedes System kann kompromittiert werden.
maple_shaft
3
Dies würde sicherlich kein Plug-In erfordern; Beachten Sie, dass die neuesten Feedback-Tools von Google (auf Google Plus und Youtube) tatsächlich diesen "Screenshot" erstellen. Sie können ganz einfach den gesamten HTML-Code einer aktuellen Seite über JAvascript senden und mithilfe des entsprechenden Stylesheets nachvollziehen, wie ein Bild aussehen würde. Natürlich ist das absurd, weil Sie einfach den Wert des Kontrollkästchens senden können.
Ben Brocka
Ich habe ein Widget geschrieben, das Mausbewegungen in einem CANVAS-Element aufzeichnet und die erfassten Zeit-, X- und Y-Koordinaten zurück zum Server serialisiert. Ich bin mir nicht ganz sicher, wie der rechtliche Status einer solchen "Signatur" ist (sie kann geändert werden und ist recht einfach zu kopieren), aber wenn dies die einzige Sache ist, die sie im System "signieren", ist es schwer zu erklären, wie Sie haben diese Daten erhalten, wenn sie nicht zustimmen. (Ich weiß nicht, was passiert, wenn ihr kleiner Bruder "Pizza" signiert, aber das PDF hat das gleiche Problem).
PSR
27

Ich würde denken, die eigentliche Frage wäre, ob die Person, deren Name auf dem Formular erscheint, das Formular wirklich ausfüllt.

Mit anderen Worten, wenn jemand auf die Website geht und den Namen "Bill Gates" eingibt und das Kästchen "Es ist in Ordnung, mir eine E-Mail zu senden" anklickt, wie würde ein Screenshot beweisen, dass es sich um den echten Bill Gates handelt?

Haben sie darüber nachgedacht, wie viele Websites vorgehen, und dabei eine Bestätigungs-E-Mail mit einem eindeutigen Link gesendet, auf den jemand klicken muss, um zu bestätigen? Auf diese Weise haben Sie zumindest eine Aufzeichnung, aus der hervorgeht, dass Sie eine Bestätigung von jemandem mit Zugriff auf dieses E-Mail-Konto erhalten haben.

JonnyBoats
quelle
4
Genau. Bestätigungs-E-Mail, um sicherzustellen, dass die Person, die die E-Mails anfordert, die Kontrolle über die betreffende E-Mail-Adresse hat. Ich möchte auch hinzufügen, dass Sie, anstatt eine rechtliche Aufzeichnung der angeforderten Werbematerialien zu haben, nur die Bestimmungen des CAN-SPAM-Gesetzes einhalten und es sehr einfach machen, Ihr Werbematerial abzubestellen. (Jede E - Mail , das Werbematerial sendet auch wenn ihr von einem Dritten einen Link zu abmelden muss alle Listen Sie sie auf.)
dr jimbob
20

Nicht so etwas

Diese Diskussion muss mit dem Verständnis beginnen, dass es keine Möglichkeit gibt , die Zustimmung der Person absolut zu beweisen. Dies gilt auch in der physischen Welt. Selbst wenn Sie die Person, die ein Formular physisch signiert und einen Tropfen ihres Blutes auf das Formular aufträgt, auf Video aufnehmen, können sie sagen, dass das Video gefälscht, ihnen ohne ihr Wissen Blut abgenommen und die Signatur gefälscht wurde. Ein absoluter Beweis ist jedoch nicht erforderlich. nur eine angemessene Menge an Beweisen.

In der digitalen Welt können alle Daten - Text, Bild, Daten in einer Datenbank oder E-Mail - gefälscht werden. Der nächste Beweis, den wir haben können, ist, dass der Benutzer etwas mit einem privaten Schlüssel verschlüsselt und zeigt, dass sein öffentlicher Schlüssel ihn entschlüsselt. Dies ist jedoch derzeit für die meisten Benutzer nicht möglich, und sie könnten immer noch sagen, dass ihr privater Schlüssel gestohlen wurde.

Das Beste, was wir tun können, ist:

  • Holen Sie sich etwas, das schwer (wenn auch nicht unmöglich) zu fälschen wäre
  • Stimmen Sie zu, dass diese Beweise rechtlich ausreichen
  • Erleichtern Sie dem Benutzer das Abbestellen

Das Speichern eines Bildes anstelle von Text fügt dem Beweis nichts hinzu. Alles, was es macht, ist, den Prozess langsamer und teurer zu machen.

Elektronische Unterschriften

In meinem Job haben wir eine Anwendung, bei der Benutzer eine Erklärung unterzeichnen. Rechtlich haben die Gerichtsbarkeiten, in denen wir tätig sind, Gesetze erlassen, nach denen ein Benutzer, der seine E-Mail-Adresse in ein Formular eingibt, als elektronische Signatur gelten kann. Wir haben bereits überprüft, ob sie Zugriff auf die Adresse haben, indem sie einen Link gesendet haben, auf den sie klicken müssen. Das ist kein absoluter Beweis, aber für unsere Zwecke als gut genug erachtet.

Unabhängig davon, welche Informationen Sie erfassen, würde ich vorschlagen, auch einen Zeitstempel zu erfassen , damit Sie sagen können, dass Sie genau zu diesem Datum und zu dieser Uhrzeit zugestimmt haben. Ich bin mir nicht sicher, ob dies rechtlich relevant ist, aber es scheint mir überzeugender zu sein, da es dem Benutzer mehr Gelegenheit gibt, das Gegenteil zu beweisen ("Ich habe den Beweis, dass ich zu diesem Zeitpunkt nicht an einem Computer war") ).

Verrückt werden mit ihm

Einige Dinge , die Sie könnten tun , die möglicherweise Beweise in Betracht gezogen werden:

  • Erfassen Sie Zeitstempel, IP-Adresse, Browser usw., damit Sie die Umstände der Signatur bestätigen können
  • Bestätigung der E-Mail-Adresse erforderlich
  • Fordern Sie den Benutzer auf, sein Kennwort zum Zeitpunkt der Signatur einzugeben
  • Sorgen Sie dafür, dass ein schreibgeschützter Webdienst eines Drittanbieters ausgeführt wird, der zum Zeitpunkt der Signierung des Benutzers einen HTTPS-POST von Ihrer App mit den Signaturinformationen erhält. Wenn der Dritte bezeugen kann, dass sein Dienst nur schreibgeschützt ist, dass er die Aufzeichnung zu diesem Zeitpunkt erhalten hat und dass Ihre Kopie identisch ist, können Sie argumentieren, dass Sie die Daten seitdem nicht geändert haben.
  • Senden Sie dem Benutzer in diesem Moment eine E-Mail mit der Aufschrift "Vielen Dank für Ihre Anmeldung, hier erfahren Sie, wie Sie sich abmelden können." Möglicherweise können der E-Mail-Anbieter oder Ihr E-Mail-Anbieter nachweisen, dass die E-Mail direkt nach dem Signieren des Benutzers gesendet wurde.

IANAL

Bitte nehmen Sie nichts davon als Rechtsberatung.

Nathan Long
quelle
Tolle Antwort ... aber auch E-Mail-Adressen als elektronische Signaturen sind rechtlich umstritten. Sie haben jedoch Recht, es gibt keinen absolut erprobten Weg. Nur verschiedene Nuancen schwieriger. Das Rechtssystem arbeitet im begründeten Zweifel. Die meisten Menschen würden zustimmen, dass die Arbeit, ein Video zu fälschen, Blut zu stehlen und eine Signatur zu fälschen, keine vernünftige Möglichkeit ist. Könnte es passieren? Ja, natürlich, aber es ist sehr unwahrscheinlich, dass sich irgendjemand diese Mühe macht.
maple_shaft
1
"... und sie könnten immer noch sagen, dass ihr öffentlicher Schlüssel gestohlen wurde." sollte das nicht heißen "... und sie könnten immer noch sagen, dass ihr privater Schlüssel gestohlen wurde." Gestohlener öffentlicher Schlüssel wirft in einer gut gestalteten PKI keine Sicherheitsprobleme auf.
Lie Ryan
capturing a timestampist einfach nutzlos. Heutzutage ist es für normale Benutzer einigermaßen einfach, einen Browser oder eine Desktop-Automatisierung zu erstellen, um das Ausfüllen von Formularen zu einem späteren Zeitpunkt zu planen.
Lie Ryan
10

Eine andere Möglichkeit wäre, den HTTP-Rohbeitrag vom Client zu protokollieren. Dies hätte ihre IP, woher sie kamen, welchen Browser usw., ohne einen Screenshot zu benötigen. Sie könnten dies dann in einer Nur-Einfügen-Tabelle in Rohform oder in einer einfachen flachen Protokolldatei protokollieren ...

Ich versuche nur, mir ein paar andere Optionen auszudenken, weil ich so oft auf lächerliche Anfragen stoße, als ich es gerne hätte ...

Mistkerl
quelle
Hmm ja, aber dieses Protokoll befindet sich in derselben Datenbank, in der sie sich Sorgen machen, manipuliert zu werden. Die Bearbeitung finden Sie in meiner Antwort. Elektronisch signierte PDF-Dokumente sind die einzige Möglichkeit, um sicherzustellen, dass das Dokument nicht manipuliert wurde.
maple_shaft
1
@maple_shaft: Die Grundidee für das Hinzufügen zusätzlicher Datenbanksicherheit wären die "Nur Einfügen" -Berechtigungen für alle Benutzer mit Ausnahme eines Administrators. Dieses Protokoll ergänzt die regulären Datenbankaktivitäten und wird nur bei Bedarf zur Überprüfung verwendet.
Mistkerl
1
@JonnyBoats: Sie sind technisch korrekt in Bezug auf HTTPS, obwohl nach dem Empfang auf Anwendungsebene derselbe Rohtext protokolliert wird.
Mistkerl
1
"Elektronisch signierte PDF-Dokumente" oder "Elektronisch signierte Dokumente" sind der einzige Weg, um sicherzustellen, dass das Dokument nicht manipuliert wurde ", außer von jemandem, der den Schlüssel besitzt, mit dem sie signiert werden sollen.
Random832
1
@ Random832: Dies ist machbar, wenn der Benutzer den privaten Schlüssel für das Dokument zur Verfügung stellt. IMO bedeutet dies, dass ein Kontrollkästchen, das die Zustimmung zum Empfang von Werbematerial angibt, viel zu viel bedeutet.
Lie Ryan
8

Ein Screenshot kann leicht erstellt werden, wenn Sie dazu neigen. Ebenso wie jede Art von Hashing, Timestamping usw. ohne kryptografische Grundlage. Man geht davon aus, dass eine strenge gesetzliche Anforderung besteht, damit das College nachweisen kann, dass es eine positive Einwilligung erhalten hat, bevor es Marketingmaterial an Personen sendet oder ihre Informationen an Dritte weitergibt.

Der einzige zuverlässige Weg, dies zu tun, besteht darin, vom Benutzer eine kryptografische Signatur anzufordern. Ein Beispiel finden Sie auf der Website http://launchpad.net , auf der Sie aufgefordert werden, den Ubuntu-Verhaltenskodex kryptografisch zu signieren.

Dies ist nur in Rechtsordnungen rechtskräftig, in denen eine kryptografische Signatur in einem Rechtsdokument verwendet werden kann. Durch die Unterzeichnung eines bestimmten Textes kann der Benutzer jedoch seine Zustimmung nachweisen, die später überprüft werden kann. Es wäre für das College praktisch unmöglich, eine korrekte Signatur von demselben öffentlichen Schlüssel zu fälschen.

Beachten Sie, dass es für das College immer noch trivial ist, die Datenbank zu aktualisieren und somit das Zustimmungsfeld zu kippen und den öffentlichen Schlüssel durch einen anderen zu ersetzen, für den sie den privaten Schlüssel kennen, und eine gültige Signatur für diesen Schlüssel zu generieren .

Ohne die Unterschrift eines Drittanbieters, der bestätigt, dass er einer bestimmten Person angehört, kann der Benutzer lediglich überprüfen, ob das College seine Datenschutzeinstellungen gefälscht hat. Ohne die Unterschrift eines Drittanbieters ist dies sein Wort gegen das College.

Wenn Sie außerdem verlangen, dass alle Schlüsseleigentümer überprüft und der Schlüssel von einem oder mehreren vertrauenswürdigen Dritten signiert werden, kann das College keine anscheinend gültigen Signaturen fälschen, ohne dass dies zu einer größeren Gefährdung führt (sie müssten das täuschen oder kooptieren) vertrauenswürdiger Dritter, um ihre gefälschten Schlüssel signieren zu lassen). Die Schwierigkeit dieses Angriffs würde mit der Anzahl der erforderlichen Unterschriften von Dritten zunehmen, aber wie ein anderes Plakat feststellt, ist dies nicht unmöglich.

Um es zusammenzufassen:

  • Der Benutzer muss ein privates / öffentliches Schlüsselpaar besitzen oder generieren
  • Der Benutzer muss dann eine Signatur für seinen öffentlichen Schlüssel von einem oder mehreren vertrauenswürdigen Dritten erhalten
  • Der Benutzer muss seinen öffentlichen Schlüssel mindestens auf das College und vorzugsweise auf ein Drittanbieter-Schlüsselrepository hochladen
  • Der Benutzer muss einen bekannten Klartext unterschreiben und die Unterschrift als Nachweis dafür vorlegen, dass er der Weitergabe seiner privaten Daten zugestimmt hat

Praktische Probleme:

  • Nur wenige Leute verstehen kryptografische Signaturen
  • Die Kosten für die Zertifizierung durch Dritte können hoch sein
  • Dies scheint eine Menge Arbeit zu sein, um ein Junkmail-Kontrollkästchen auf einer Download-Seite für Hochschulprospekte zu schützen
Adrian
quelle
8

Ich beginne mit dem Lesen der elektronischen Signaturen für das Land / den Staat des Kunden, um herauszufinden, welche Methoden und Anforderungen rechtsverbindlich sind. Ich bin mir sicher, dass kein Land oder Staat, der bei Verstand ist, einen Screenshot als einzige Beweismethode für eine verbindliche elektronische Signatur benötigt.

Zum Beispiel haben in den USA 47 Staaten den Uniform Electronic Transactions Act akzeptiert, der unter anderem für "Regierungsangelegenheiten" gilt und somit wahrscheinlich für die College-Anforderungen gelten würde. Es hat die folgenden Teile, die helfen können:

..

  • Elektronische Signatur - bezeichnet einen elektronischen Ton, ein Symbol oder einen Prozess, der an eine Aufzeichnung angehängt oder logisch damit verknüpft ist und von einer Person ausgeführt oder übernommen wird, die beabsichtigt, die Aufzeichnung zu signieren.

..

  • In Abschnitt 7 werden elektronische Signaturen, Aufzeichnungen und Verträge rechtlich anerkannt
    • (a) Aufzeichnungen oder Unterschriften dürfen nicht allein deshalb als rechtswirksam oder vollstreckbar eingestuft werden, weil sie in elektronischer Form vorliegen.
    • (b) Einem Vertrag kann die Rechtswirksamkeit oder Durchsetzbarkeit nicht allein deshalb verweigert werden, weil bei seiner Erstellung eine elektronische Aufzeichnung verwendet wurde.
    • (c) Wenn ein Gesetz eine schriftliche Aufzeichnung erfordert, entspricht eine elektronische Aufzeichnung dem Gesetz.
    • (d) Wenn ein Gesetz eine Signatur erfordert, entspricht eine elektronische Signatur dem Gesetz.

..

Sobald ich die Gesetze kannte, schätzte ich die Kosten der besten elektronischen Signaturmethode im Vergleich zu den Kosten der Screenshot-Methode.

Zuletzt würde ich mit ihnen meine Erkenntnisse besprechen. Zuerst würde ich ihnen die beste Option gegenüber der vorgeschlagenen Option erklären. Als nächstes erkläre ich ihnen, wie viel Zeit das zum Projekt hinzufügen würde. Zu guter Letzt würde ich ihnen sagen, dass diese "Funktion" der endgültigen Rechnung x Dollar hinzufügen würde. Ich würde die zusätzlichen Kosten mit großer Sicherheit als Begründung für die zusätzlichen Kosten für sie verwenden.

Wenn sie sich immer noch nicht rühren würden, würde ich sehen, ob sie einen Vorgesetzten haben, mit dem ich dasselbe Treffen haben könnte.

* Ich bin kein Anwalt. Wenn Sie sich über irgendetwas nicht sicher sind, wenden Sie sich bitte an einen Anwalt.

Briguy37
quelle
6

Da dies eine rechtliche Frage ist, hängt eine echte Antwort natürlich von nationalen und möglicherweise sogar lokalen Gesetzen und genauen Umständen ab. Offensichtlich kann eine echte Antwort nur von einem Anwalt kommen.

Nach meinem (eingeschränkten) Kenntnisstand sehe ich jedoch keinen Grund anzunehmen, dass ein Screenshot als Beweis für irgendetwas gelten würde, da es offensichtlich sehr leicht zu fälschen ist.

Am besten erklären Sie Ihrem Mandanten, dass es sich im Wesentlichen um ein rechtliches Problem handelt und dass die Hilfe eines Anwalts erforderlich ist. Besprechen Sie dann mit ihnen, ob Sie mit einem Anwalt darüber sprechen sollen oder ob sie es selbst tun möchten.

Um eine praktikable Lösung zu finden, sollten Sie die Diskussion selbst durchführen (wenn der Kunde zustimmt). Wenn Sie diesen Ärger nicht wollen (oder befürchten, dass sie nicht bereit sind, Sie dafür zu bezahlen), lassen Sie sie es tun.

sleske
quelle
6
Sollte das OP diesen Weg einschlagen, würde ich einen Mittelweg-Ansatz vorschlagen, dem Klienten erklären, dass er dies mit einem Anwalt besprechen sollte, dass das OP jedoch an diesen Gesprächen beteiligt werden möchte, wenn dies überhaupt möglich ist. Auf diese Weise gehen die Kosten direkt zu Lasten des Kunden, und das Risiko, dass der Kunde etwas falsch interpretiert, was der Anwalt sagt, wenn er diese Informationen an das OP weiterleitet, ist geringer.
Kevin D
5

Wenn Sie überprüfen möchten, ob ein Dokument unverändert bleibt (Datenbankeintrag, was auch immer), lautet die "Best Practice" wie folgt:

  • Serialisieren Sie die Daten auf reproduzierbare Weise, einschließlich etwaiger umstrittener Felder (z. B. E-Mail-Adresse, ob ein Kontrollkästchen aktiviert ist).
  • Nimm den Hash dieses Datensatzes (zB sha1)
  • Verwenden Sie den öffentlichen Schlüssel für einen vertrauenswürdigen Dritten (dh einen nicht interessierten Dritten), um diesen Hash zu verschlüsseln
  • Veröffentlichen Sie die Daten auf eine öffentliche Art und Weise, um das Datum zu bestimmen, an dem sie existierten, z. B. eine Newsgroup.
  • Zur Validierung kann der Dritte den Hash entschlüsseln und mit dem jetzt aktuellen Hashwert vergleichen.

Dies wurde verwendet, um sicherzustellen, dass die Versicherungsunterlagen nicht manipuliert wurden. Die "vertrauenswürdige dritte Partei", an die wir einen bestimmten Geldbetrag gezahlt haben, hat die Hashes veröffentlicht, als sie an uns selbst und mehrere andere Kunden zurückgesandt wurden. Es gab also mehrere Aufbewahrer von Aufzeichnungen, die möglicherweise vorgeladen werden könnten, um Beweise zu erhalten.

Dies ist eindeutig eine lächerliche Belastung für so etwas wie die Validierung eines Booleschen Feldes. Aber wenn Sie dem Kunden die damit verbundenen Kosten aufzeigen, werden sie wahrscheinlich nicht mehr dumm sein.

BRPocock
quelle
4

Obwohl die Anfrage selbst absurd ist und Sie keinen vernünftigen rechtlichen Beweis dafür haben können, dass eine Person A das Kontrollkästchen beim Ausfüllen eines Formulars aktiviert hat, gibt es in Ihrer Frage eine Frage, die tatsächlich beantwortet werden kann:

[Wie kann sichergestellt werden, dass die Daten später nicht geändert werden, während] eine DB geändert werden kann, nachdem die Benutzer das Formular gesendet haben?

Dies kann technisch einfacher sein.

1. Bewahren Sie einen Nachweis dafür auf, dass die Daten nicht verändert wurden

Das Senden einer E-Mail an sich selbst (an eine dedizierte Mailbox) mit den tatsächlich vom Benutzer gesendeten Werten ist einfach (je nach Konfiguration Ihres Servers kann es sein, dass der Schwellenwert, die Wahrscheinlichkeit, als Spam gefiltert zu werden, der ist) Anzahl der pro Sekunde versendeten E-Mails usw.) und zeigt an, dass die Daten nach der Übermittlung nicht geändert wurden . Wenn ich beispielsweise keinen uneingeschränkten Zugriff auf Google-Server habe , bin ich ziemlich sicher, dass jeder davon überzeugt ist, dass ich den Inhalt der E-Mails, die ich an meine eigene GMail-Adresse gesendet habe, nicht ändern kann.

2. Bewahren Sie einen Beweis für die Richtigkeit der Daten auf

Es besteht die Möglichkeit, dass der Kunde nicht zufrieden ist, denn auch wenn Sie nachweisen können, dass die Daten später nicht geändert wurden, wie können wir sicher sein, dass die Daten zwischen dem Absenden des Formulars und dem Versenden von Informationen per E-Mail nicht geändert wurden (und in die Datenbank eintragen)? In diesem Fall ist der nächste Schritt:

  1. Entfernen Sie das Kontrollkästchen,
  2. Markieren Sie jeden, der das Formular ausgefüllt hat, als nicht bereit, Spam- Werbematerial von Ihrem Kundenunternehmen zu erhalten.
  3. Zeigen Sie den Besuchern an, dass sie eine E-Mail (mit einem vordefinierten Titel und einem leeren Text) an die dafür vorgesehene Mailbox senden müssen, um die kommerziellen Spam- Angebote zu erhalten.

Ihre E-Mails können dann automatisch verarbeitet und als Beweis aufbewahrt werden.

3. Bewahren Sie einen Beweis dafür auf, dass die Daten authentisch sind

Jetzt, da Sie den Beweis haben, dass die Person, die die angegebene E-Mail-Adresse verwendet, tatsächlich den Spam erhalten möchte, ist der Kunde möglicherweise immer noch unzufrieden (was normalerweise bei Kunden mit solch verrückten Anfragen der Fall ist). Was passiert, wenn jemand das Postfach eines anderen gehackt hat, um den Hacker zu registrieren und Ihren Spam zu erhalten?

Bei dieser Verrücktheit können Sie immer noch technisch auf die Anforderungen reagieren. Anstatt jetzt eine Anmelde-E-Mail zu senden, muss der Benutzer der Website:

  1. Senden Sie eine E-Mail mit einer Kopie des Personalausweises / Reisepasses und einem Brief mit einer Unterschrift, aus der hervorgeht, dass diese Person den Spam wirklich erhalten möchte.

  2. Bestätigen Sie die E-Mail-Adresse mit einem Geheimcode, der Ihnen zurückgesandt wird.

Überzeugen Sie den Kunden jedoch vorher, das in Teil 2 Beschriebene umzusetzen und zu testen. Der Kunde wird feststellen, dass nach ein oder zwei Monaten niemand eine Anmelde-E-Mail verschickt und die rechtlichen Beweise und geänderten Daten in der Datenbank vergisst.

Arseni Mourzenko
quelle
Ihr Schritt 2 beweist nichts. Um Personen als nicht bereit zu markieren, Spam zu empfangen, speichern Sie diese Markierung in derselben Datenbank, in der der Kunde sich Sorgen macht, manipuliert zu werden. Das Behalten eines Hash einer Reihe von Daten stellt jedoch sicher, dass, wenn jemand die Daten oder den Hash selbst manipuliert, das Vergleichen der Daten mit dem Hash dazu führen würde, dass dieser nicht mit dem Hash verglichen wird und der Beweis erbracht wird, dass die Daten beschädigt oder manipuliert wurden.
maple_shaft
@maple_shaft, was in Teil 2 im Allgemeinen wichtig ist, ist nicht, was in der Datenbank gespeichert ist, sondern nur der Empfang der Opt-In-E-Mail vom Benutzer der Website. Die Daten in der Datenbank spielen keine Rolle.
Arseni Mourzenko
2
Schritt 1 ist gut. Einfach, einfach, effektiv.
Offirmo
@MainMa: Und Sie denken, E-Mails können nicht gefälscht oder gefälscht werden?
Ben Voigt
3

Der rechtliche Status Ihrer Aktivitäten ist unabhängig vom technischen Nutzen der Lösung.

Zum Beispiel :

Jahrelang ignorierten britische Abgeordnete E-Petitionen, da das Gesetz verlangte, dass die Petitionen für jede Person eine Unterschrift trugen. Dann merkt jemand, dass ein Hash von E-Mail-Adresse, Datum, Uhrzeit und Kommentar - obwohl er keinen geheimen Schlüssel enthielt - nach britischem Recht eine "digitale Signatur" darstellt.

Lassen Sie sich daher von einem Anwalt sagen, was zu tun ist, und tun Sie es. Mach dir keine Sorgen, ob es klingt.

Oder tun Sie, was Ihr Mandant verlangt, und vertrauen Sie darauf, dass er sich bei einem Anwalt erkundigt hat. Stellen Sie sicher, dass eine Aufzeichnung der Diskussion vorliegt.

schlank
quelle
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.das würde lediglich Ihre rechtliche und politische Verpflichtung gegenüber dem Kunden erfüllen; Ich denke, das OP ist (zu Recht) mehr daran interessiert, dem Kunden zu helfen, seine gesetzlichen Anforderungen zu erfüllen (obwohl der Kunde derzeit seine eigenen gesetzlichen Anforderungen zu missverstehen scheint und somit die falsche Lösung vorschlägt).
Lie Ryan
3

Wie zum Teufel soll man einen Screenshot bekommen? Was Sie haben, ist der HTML-Code und alles, was Sie an den Kunden senden, sowie die elektronische Antwort des Kunden. Beides beinhaltet keinen Screenshot.

Der Screenshot zeigt, was der Browser rendert und unterscheidet sich je nach verwendetem Browser und den Einstellungen und der Ausstattung am anderen Ende. Persönlich surfe ich mit Firefox, Chrome, Opera, Mobile Safari, gelegentlich Lynx und manchmal sogar ein bisschen IE.

Sie könnten die Seite in einem Standardbrowser rendern und einen Screenshot davon machen, aber wenn Sie ein eigenes Dokument erstellen und aufzeichnen, wird dies keinen Richter beeindrucken. Sie könnten den Benutzer bitten, einen Screenshot zu senden, aber viel Glück beim Durchsetzen. Nicht bei allen Browsern ist es möglich, Screenshots zu erstellen und zu senden (wie geht das auf einem iPhone?). Wenn Sie mit einem Bildschirmlesegerät mit einem Kunden mit eingeschränkter Sehkraft zu tun haben, ist auf Kundenseite möglicherweise überhaupt keine visuelle Darstellung vorhanden. (Ich sah ein paar blinde Freunde von mir, die einen tragbaren Computer verwendeten, der überhaupt kein Display hatte.)

Erklären Sie dem Kunden, dass es keine Möglichkeit gibt, einen Screenshot zu erstellen, und dass möglicherweise nicht einmal ein Bildschirm zum Fotografieren vorhanden ist.

David Thornley
quelle
1
iPhone: Halten Sie die LOCK-Taste einige Sekunden lang gedrückt. Android: Rootkit das Telefon und beten. (Ich verstehe den Punkt, den Sie gemacht haben, nur sagen ...)
BRPocock
3

Es ist tatsächlich möglich, eine obligatorische Zugriffssteuerung in Verbindung mit einem vertrauenswürdigen Zeitstempel und einer digitalen Signatur für die Datenbank zu erstellen, um sicherzustellen, dass dem Wert der Spalte vertraut werden kann. Screenshots sind nicht die richtige Antwort, es gibt jedoch Trusted Computing-Lösungen, die genau das erreichen, was Sie erreichen möchten. Wenn Sie weitere Informationen wünschen, können Sie einen Chat mit mir beginnen.

Ahmed Masud
quelle
2

Wie bereits erwähnt, kann man nicht wirklich beweisen, dass die Person zugestimmt hat oder nicht, so sicher ist die beste Lösung:

a) Lassen Sie die Person ihre Zustimmung über einen an ihre E-Mail-Adresse gesendeten Link bestätigen (dies stellt sicher, dass sie nicht gerade [email protected] eingegeben hat).

b) Geben Sie ihnen die Möglichkeit, das Abonnement für Marketing / Promotion aufzuheben

Matt Wilko
quelle
2

Ein Schema, das am ehesten manipulationssicher ist, besteht darin, ein öffentliches / privates Schlüsselpaar zu generieren, wenn der Benutzer das Formular mit (clientseitigem) Javascript ausfüllt und dann den Formularinhalt, den öffentlichen Schlüssel und die Signatur an sendet Legen Sie dem Benutzer den privaten Schlüssel vor und bitten Sie ihn, ihn zur Kenntnis zu nehmen und an einem sicheren Ort aufzubewahren.

Mit diesem Schema können Sie nachweisen, dass es unmöglich ist, die Formulardaten zu manipulieren, da Sie den privaten Schlüssel, der zum Generieren der Signatur verwendet wird, nicht kannten. Die Schwäche dieses Schemas besteht darin, dass Sie nachweisen müssen, dass Sie den privaten Schlüssel nie berührt haben und dass der Benutzer seinen privaten Schlüssel nicht verlieren darf.

Da Sie nachweisen müssen, dass Sie nie Zugriff auf den privaten Schlüssel hatten, müssen Sie bei der Generierung der Formularsignatur möglicherweise den HTML-Code und das gesamte Javascript einbeziehen. Dies belegt die genaue Form, die der Benutzer verwendet, um die Daten zu übermitteln (und zeigt damit, dass Sie das Formular / Javascript seit seiner Übermittlung nicht geändert haben und dass Sie kein Javascript verwendet haben, um ihren privaten Schlüssel zu stehlen).

Dieses Schema ist komplex, und wie bei jedem komplexen System kann ich nicht garantieren, dass es keine Lücke gibt (tatsächlich bin ich ziemlich zuversichtlich, dass es eine gibt, und wahrscheinlich kann jemand darauf hinweisen).

Lie Ryan
quelle
2

Ein Screenshot wäre kein guter Beweis, da es keine Möglichkeit gibt, die Echtheit eines Screenshots zu überprüfen. Das könnte so leicht gefälscht werden. Was technischere Lösungen anbelangt, gibt es die Archive Storage Enginefür MySQL, das nur Einfügen und Auswählen unterstützt. Sie können überhaupt nicht aus der Tabelle löschen. Wohlgemerkt, es ist möglich, TABLE auf eine andere Speicher-Engine zu ÄNDERN, den Datensatz zu löschen und dann TABLE zu ÄNDERN, um die Engine wieder zu ändern, ohne dass es jemand merkt . Dann können Sie einfach die Anmeldungen auf dem tatsächlichen lokalen Datenbankcomputer nachverfolgen, um herauszufinden, wer diese möglicherweise geändert hat. Sie können auch die binären Protokolle analysieren oder das unformatierte Abfrageprotokoll aktivieren, um festzustellen, wer möglicherweise Abfragen ausgegeben hat, die zu dieser Art von Aktivität geführt haben. Ich bin nicht sicher, welche Datenbanktechnologie Sie verwenden, aber höchstwahrscheinlich sollten Sie in der Lage sein, eine Lösung zu finden, die verhindert, dass die Daten leicht geändert werden können.

Kibbee
quelle
2

Ich werde empfehlen, dass Sie sich hinsetzen und das ESIGN-Gesetz lesen . Dieses Gesetz regelt, was für die rechtsverbindliche Erfassung einer elektronischen Signatur erforderlich ist und was nicht. Bei einem früheren Arbeitgeber stellten wir fest, dass die schwierigste gesetzliche Hürde darin bestand, die Unterschriften und Dokumente für einen Zeitraum von 10 bis 15 Jahren in der Zukunft lesbar zu machen.

Die Details jedes ausgefüllten Formulars müssen auf zuverlässige Weise gespeichert werden. Offensichtlich reicht es nicht aus, die Formularwerte in einer Datenbank zu speichern - eine Spalte, in der angegeben wird, ob der Benutzer zustimmt oder nicht -, da eine Datenbank geändert werden kann, nachdem der Benutzer das Formular gesendet hat. Unser Kunde behauptet, dass andere College-Portale einen Screenshot des ausgefüllten Formulars erstellen und ihn in einem speziellen Ordner auf eine leicht zu findende Weise speichern, z. B. indem sie der Datei einen Namen geben, der den Namen des Benutzers und das Datum enthält und Zeit.

Wie bereits erwähnt, kann der Screenshot nicht ausgeführt werden. Es kann gefälscht werden, da alle "Zaubershows" reine Fälschungen sind: Sie sehen, wie jemand in zwei Hälften gesägt wird, aber tatsächlich werden sie nicht in zwei Hälften gesägt.

Tangurena
quelle
1

Ich habe mich schon mal mit meinem Anteil an Verrückten beschäftigt. Ich kann mir einige technische Lösungen vorstellen, aber warum nicht zum Kunden zurückkehren und vorschlagen, die Frage in "Möchten Sie keine Marketing-E-Mails erhalten?" (oder eine ähnliche Formulierung) und der Person erlauben, sich abzumelden? Dann brauchen Sie keinen Screenshot.

jqa
quelle
1

Wie alle angemerkt haben, ist der technische und rechtliche Wert der Funktionsanforderung nicht vorhanden. Es besteht jedoch die Möglichkeit, einem Benutzer das manuelle Aufnehmen und Hochladen eines Screenshots als Formularanhang zu ermöglichen.

Moshe
quelle