Форма скриншота для юридического подтверждения нажатия на один из флажков?

45

Мы получили запрос от одного из наших клиентов, и, поскольку я никогда не сталкивался с таким запросом, я даже не знаю, с чего начать.

Наш клиент - это сеть колледжей, и мы создаем им сайт. На этом сайте, среди прочего, будет форма, которую потенциальные абитуриенты могут заполнить, чтобы получить больше информации об учебе в одном из колледжей. После того, как пользователь заполняет эту форму, включая указание своего адреса электронной почты и / или телефона, соответствующий колледж связывается с ним с соответствующей информацией.

Теперь, по юридическим причинам, клиент просит, чтобы эта форма также имела флажок, который потенциальный кандидат проверяет, чтобы указать, что он согласен получать рекламные материалы из этих колледжей. Это конечно не проблема. Но тут возникает странная часть запроса:

Детали каждой заполненной формы должны быть сохранены надежным способом. Очевидно, что сохранения значений формы в базе данных - столбце, указывающем, согласился или не согласился пользователь, - недостаточно, поскольку БД можно было изменить после того, как пользователи отправили форму. Наш клиент утверждает, что другие порталы колледжа создают скриншот заполненной формы и сохраняют его где-то в отдельной папке, таким образом, чтобы его можно было легко найти, например, присвоив файлу имя, которое включает имя пользователя и дату и время.

У меня такой вопрос: слышали ли вы об использовании снимков экрана как метода доказательства того, что пользователь действительно заполнил форму? Есть ли другие методы, которые считаются надежными?

Леа Коэн
источник
96
Снимки экрана также могут быть изменены - особенно если они просто хранятся где-то на диске.
ChrisF
41
Дай угадаю: эту идею придумал профессор компьютерных наук. Некоторые из этих людей фантастические. Я не знаю, как они это делают, но идеи, которые они предлагают, часто бывают ирреальными, как если бы они были на кислоте.
Майк Накис
32
Подождите - они сохраняют адрес электронной почты и другую личную информацию в базе данных, но «проблема безопасности», о которой они беспокоятся, заключается в том, что этот пользователь по ошибке получает рекламные электронные письма?
Вонко вменяемый
11
«в папке, которую нелегко найти» - ааа, безопасность через неизвестность! Это намного более безопасно, чем база данных, хранящаяся на защищенном сервере, требующая учетные данные для входа и т. Д., Чтобы добраться до ...
Дэйв
19
Даже лучше, чем снимок экрана, если бы вы могли снять видеоклип с их веб-камеры, где пользователь кивает и показывает большой палец вверх. Теперь это будет доказательством!
GrandmasterB

Ответы:

74

Я никогда не слышал о чем-то подобном, и это было бы смешно, потому что фальшивый скриншот можно создать так же легко, как фальшивое значение в базе данных.

РЕДАКТИРОВАТЬ Кроме того, я имею в виду, WTF? поскольку вы не можете получить снимок экрана чьего-либо экрана через Интернет, вам, очевидно, придется реконструировать страницу на сервере и сделать снимок этого экрана, а затем кто скажет, что вы его не лечили?

Майк Накис
источник
1
+1 Хорошо, я не думал, что технически можно запустить программный браузер для рендеринга HTML, а затем, возможно, отправить страницу в PDF-документ, создав драйвер печати.
maple_shaft
как на самом деле делается регулярно. Это было бы довольно легко сделать, в принципе, вы могли бы просто отправить те же данные в 2 шаблона xsl: fo, один из которых создавал html, а другой pdf (на самом деле я делал это раньше).
Вечером
1
@jwenting Несмотря на то, что MikeNakis уже указывал, это все еще может быть подделано. Вам нужно будет либо использовать PDF-файлы с электронной подписью, либо создать хеш-код изображения, чтобы использовать его для проверки скриншота.
maple_shaft
24
"так же легко"? Поддельные скриншоты намного проще, чем взлом базы данных!
Джесвин Хосе
4
Мы делаем это в некоторых приложениях, которые я создаю. Технически это не «скриншот», но для целей аудита мы должны «реконструировать» сеанс, как это было в то время. Мы достигаем этого, сохраняя данные из отправленной формы, а затем восстанавливая их позже. Но, сказав это, это просто сохраняется в базе данных, а «скриншот» - это просто реконструкция данных, которые мы сохранили. Это выглядит красиво для людей, которые хотят этого.
Деку
35

Я знаю, что начинаю этот ответ с вопроса, но у меня есть точка зрения:

Не вызывая сомнений в предполагаемой абсурдности запроса, если это типичное веб-приложение на основе браузера HTTP, как можно программно сделать снимок экрана и отправить его на сервер?

Я надеюсь, что это невозможно, так как это будет представлять серьезную проблему безопасности и конфиденциальности браузера.

Теперь представьте, был ли номер кредитной карты кого-то еще на экране во время захвата скриншота. Теперь вы случайно собираете информацию о кредитной карте, и ваша система должна быть совместимой с PCI. Это еще один путь беспокойства.

Единственный способ сделать это, вероятно, будет использовать сторонний плагин браузера, такой как Flash, Silverlight, Java Applets или элемент управления ActiveX с повышенными системными привилегиями. Компонент должен быть подписан, и пользователь должен будет согласиться с тем, что компонент имеет доступ для запуска кода на своей машине.

В этом плане слишком много дыр, и я серьезно сомневаюсь, что другие колледжи реализуют нечто подобное. Я, конечно, никогда не слышал об этом в своей профессиональной карьере, по крайней мере, с веб-приложением.

РЕДАКТИРОВАТЬ:

Я просто подумал о другом варианте, который, вероятно, будет в большей степени отражать то, что я думаю, что ваш клиент действительно просит.

У меня было заявление, которое я сделал для клиента, где клиент должен был согласиться и подписать документ NDA, чтобы получить доступ к приложению. Я достиг этого через подписываемый документ PDF. У вас может быть поле для подписи в документе PDF, которое либо с помощью USB-компонента «ручка + блокнот», либо просто нажав на него, чтобы подтвердить, что для юридических целей будет так же хорошо, как если бы вы подписывали документ вручную.

Это называется электронная подпись, и они остаются в суде.

Документ PDF после подписания становится зашифрованным и вместе с ним сохраняется хеш, который проверяет, что документ НЕ был подделан после подписания. Современные программы для чтения PDF, такие как Adobe, могут фактически передавать подписанный документ на сервер, где вы можете сохранить его в системе управления документами или базе данных для безопасного хранения.

В любое время пользователи-администраторы могут вспомнить один из этих документов и распечатать их.

Это может быть больше похоже на то, что на самом деле нужно вашему клиенту, но у него было мало времени для правильного объяснения.

оборота maple_shaft
источник
1
+1 за упоминание о том, что это технически возможно, но потребуется плагин
bunglestink
10
Так что же мешает вам заменить PDF на тот, который вы подписали сами? Насколько я знаю, не существует надежной инфраструктуры открытых ключей для работы с личностями отдельных лиц.
Random832
1
@ Random832 Поставь мат моего друга, ты меня понял! Я думаю, что нет 100% безопасного ответа. Любая система может быть взломана.
maple_shaft
3
Это, конечно, не требует подключаемого модуля; обратите внимание, что последние инструменты обратной связи Google (на Google Plus и Youtube) на самом деле делают этот «скриншот». Вы можете легко отправить весь HTML-код на текущей странице через JAvascript и использовать правильную таблицу стилей, чтобы реконструировать, как будет выглядеть изображение. Конечно, это ^% & * абсурдно, потому что вы можете просто отправить значение флажка.
Бен Брока
Я написал виджет, который фиксирует движения мыши в элементе CANVAS и сериализует захваченное время, координаты X, Y обратно на сервер. Я не совсем уверен, каков юридический статус такой «подписи» (ее можно изменить и довольно легко скопировать), но если это единственное, что они «подписывают» в системе, было бы сложно объяснить, как вы получили эти данные, если они не согласились. (Я не знаю, что произойдет, если их младший брат подпишет «пицца», но PDF-файл страдает той же проблемой).
PSR
27

Я думаю, что реальный вопрос будет в том, действительно ли человек, чье имя появляется в форме, действительно заполняет форму?

Другими словами, если кто-то заходит на веб-сайт и вводит имя «Билл Гейтс» и щелкает по полю «все в порядке, отправьте мне электронное письмо», как будет снимок экрана доказать, что это был настоящий Билл Гейтс?

Рассматривали ли они делать то, что делают многие сайты, то есть отправлять подтверждающее электронное письмо с уникальной ссылкой, на которую кто-то должен нажать, чтобы подтвердить? Таким образом, по крайней мере, у вас есть запись о том, что вы получили подтверждение от кого-то, имеющего доступ к этой учетной записи электронной почты.

JonnyBoats
источник
4
Именно так. Подтверждение по электронной почте, чтобы убедиться, что лицо, запрашивающее электронные письма, контролирует указанный адрес электронной почты. Я бы также добавил, что вместо того, чтобы иметь юридическую историю людей, запрашивающих рекламные материалы, вы просто соблюдаете закон CAN SPAM и упрощаете отписку от ваших рекламных материалов. (Каждое электронное письмо, которое отправляет рекламные материалы, даже если оно
отправлено
20

Нет такой вещи

Это обсуждение должно начинаться с пониманием того, что не существует никакого способа абсолютно доказать , что человек согласился. Это верно даже в физическом мире. Даже если вы снимаете видео с человека, который физически подписывает форму и помещает в нее каплю крови, они могут сказать, что видео было сфальсифицировано, кровь была взята у него без его ведома, а подпись была подделана. Но абсолютное доказательство не нужно; просто разумное количество доказательств.

В цифровом мире любые данные - текст, изображение, данные в базе данных или электронная почта - могут быть подделаны. Самое близкое к доказательству, которое мы можем иметь, - это чтобы пользователь зашифровал что-то с помощью закрытого ключа и показал, что его открытый ключ расшифрует это. Тем не менее, в настоящее время это недоступно большинству пользователей, и они все еще могут сказать, что их закрытый ключ был украден.

Лучшее, что мы можем сделать, это:

  • Получить что-то, что было бы трудно (хотя и не невозможно) подделать
  • Согласитесь, что по закону этого доказательства достаточно
  • Сделайте так, чтобы пользователю было легко отписаться

Сохранение изображения, а не текста ничего не добавляет в плане доказательства; все, что он делает, это делает процесс медленнее и дороже.

Электронные подписи

В моей работе есть приложение, в котором пользователи подписывают заявление. Юридически юрисдикции, в которых мы работаем, приняли законы, согласно которым пользователь, вводящий свой адрес электронной почты в форму, может считаться электронной подписью. Мы уже убедились, что у них есть доступ к адресу, отправив ссылку, по которой они должны щелкнуть. Это не абсолютное доказательство, но оно считается достаточно хорошим для наших целей.

Какую бы информацию вы ни собирали, я бы посоветовал также фиксировать временную метку , чтобы вы могли сказать «вы согласились с этой точной датой и временем». Я не уверен, имеет ли это какое-либо юридическое значение, но мне это кажется более убедительным, потому что это дает пользователю больше возможностей доказать обратное (например, «у меня есть доказательства того, что я не был за компьютером») ).

Схожу с ума от этого

Некоторые вещи, которые вы могли бы сделать, которые можно считать доказательством:

  • Захват метки времени, IP-адреса, браузера и т. Д., Чтобы вы могли утверждать обстоятельства подписи
  • Требовать подтверждение адреса электронной почты
  • Требовать от пользователя ввести свой пароль в момент подписи
  • Сделайте так, чтобы был запущен сторонний веб-сервис, предназначенный только для записи, который будет получать, в момент подписания пользователем, HTTPS POST из вашего приложения с информацией о подписи. Если третье лицо может подтвердить, что его служба предназначена только для записи, что она получила запись в тот момент, а ваша копия идентична, вы можете утверждать, что с тех пор вы не изменили данные.
  • В этот момент отправьте пользователю электронное письмо со словами «спасибо за регистрацию, вот как отписаться». Их или ваш почтовый провайдер может показать, что электронное письмо было отправлено сразу после того, как пользователь подписался.

IANAL

Пожалуйста, не принимайте это как юридическую консультацию.

Натан Лонг
источник
Отличный ответ ... но все же адреса электронной почты, так как электронные подписи также были юридически оспорены. Вы правы, хотя, нет абсолютно проверенного пути. Просто разные оттенки сложнее. Правовая система работает на разумных сомнениях. Большинство людей согласны с тем, что работа по подделке видео, краже крови и подделке подписи не является разумной возможностью. Это могло случиться? Да, конечно, но вряд ли кто-нибудь пойдет на эту неприятность.
maple_shaft
1
«... и они все еще могут сказать, что их открытый ключ был украден». не должно ли это читать "... и они все еще могут сказать, что их личный ключ был украден". Украденный открытый ключ не создает никаких проблем с безопасностью, в хорошо спроектированной PKI.
Ли Райан
capturing a timestampпросто бесполезно. В настоящее время обычному пользователю достаточно просто создать браузер или автоматизацию рабочего стола, чтобы запланировать заполнение форм в будущем.
Ли Райан
10

Другим вариантом может быть запись необработанного HTTP-сообщения от клиента. Это будет иметь их IP, откуда они пришли, какой браузер и т. Д., Без скриншота. Затем вы можете войти в таблицу только для вставки в необработанном виде или в простой плоский файл журнала ...

Просто пытаюсь придумать какие-то другие варианты, потому что я, как правило, сталкиваюсь с такими нелепыми запросами гораздо чаще, чем хотелось бы ...

bunglestink
источник
Хм, да, но этот журнал находится в той же базе данных, что они беспокоятся о подделке. См. Редактирование в моем ответе, документы в формате PDF с электронной подписью - единственный способ убедиться, что документ не был подделан.
maple_shaft
1
@maple_shaft: Основная идея добавления дополнительной защиты базы данных - это полномочия «только для вставки» для всех пользователей, кроме одного администратора. Этот журнал будет в дополнение к обычным действиям с базой данных, и будет использоваться только для проверки при необходимости.
bunglestink
1
@JonnyBoats: Вы технически правы в отношении HTTPS, хотя, получив его на уровне приложения, вы получите тот же необработанный текст, который будет зарегистрирован.
bunglestink
1
«Электронная подпись PDF-документов» или электронная подпись чего-либо «являются единственным способом гарантировать, что документ не был подделан», за исключением тех, у кого есть ключ, с которым они должны быть подписаны.
Random832
1
@ Random832: это выполнимо, если личный ключ для документа предоставлен пользователем, IMO - это слишком много для флажка, указывающего на согласие получать рекламные материалы.
Ли Райан
8

Скриншот легко изготовить, если вы так склонны. Как и любой вид хеширования, меток времени и т. Д. Без криптографической основы. Предполагается, что существует некое строгое нормативное требование, чтобы колледж мог доказать, что он получил положительное согласие, прежде чем отправлять маркетинговые материалы людям или передавать их информацию третьим лицам.

Единственный надежный способ сделать это - потребовать от пользователя криптографическую подпись. Например, посмотрите, как сайт http://launchpad.net просит вас криптографически подписать Кодекс поведения Ubuntu.

Это имеет силу закона только в тех юрисдикциях, где криптографическая подпись может использоваться на юридическом документе, но, подписав определенный фрагмент текста, пользователь может предоставить подтверждение своего согласия, которое впоследствии будет проверено. Для колледжа было бы практически невозможно подделать правильную подпись из того же открытого ключа.

Обратите внимание, что для колледжа все еще тривиально обновить свою базу данных и, таким образом, перевернуть поле согласия, а также заменить открытый ключ другим, для которого он знает закрытый ключ, и сгенерировать действительную подпись для этого ключа.

Следовательно, без сторонних ключей подписи, удостоверяющих, что они принадлежат конкретному лицу, все это достигается тем, что пользователь может проверить, подделали ли колледж свои настройки конфиденциальности - без подписи третьей стороны это их слово против колледжа.

Если вы также потребуете, чтобы все владение ключами было подтверждено, а ключ подписан одной или несколькими доверенными третьими сторонами, то колледж не сможет подделать явно действительные подписи, не подвергаясь гораздо большему разоблачению (им придется обмануть или кооптировать доверенное третье лицо для подписания поддельных ключей). Сложность этой атаки будет возрастать с увеличением количества необходимых сторонних подписей, но, как отмечает другой автор, это не невозможно.

Итак, подведем итог:

  • Пользователь должен владеть или сгенерировать пару секретный / открытый ключ
  • Затем пользователь должен получить подпись для своего открытого ключа от одного или нескольких доверенных третьих лиц
  • Пользователь должен загрузить свой открытый ключ, по крайней мере, в колледж и предпочтительно в сторонний репозиторий ключей
  • Пользователь должен подписать известный открытый текст и предоставить подпись в качестве доказательства того, что он согласился поделиться своими личными данными

Практические проблемы:

  • Мало кто понимает криптографические подписи
  • Стоимость сторонней сертификации может быть дорогой
  • Это похоже на огромную работу по защите флажка нежелательной почты на странице загрузки проспекта колледжа.
Адриан
источник
8

Я бы начал с чтения электронных подписей для страны / государства клиента с целью выяснить, какие методы и требования являются юридически обязательными. Я уверен, что ни одна страна или штат, находящиеся в здравом уме, не потребуют снимок экрана в качестве единственного метода доказательства обязательной электронной подписи.

Например, в США 47 штатов приняли Единый закон об электронных операциях , который, помимо прочего, применяется к «государственным вопросам» и, следовательно, может применяться к требованиям колледжа. Он имеет следующие части, которые могут помочь:

..

  • Электронная подпись - означает электронный звук, символ или процесс, прикрепленный или логически связанный с записью и исполненный или принятый лицом с намерением подписать запись.

..

  • Раздел 7 дает юридическое признание электронным подписям, записям и контрактам
    • (а) В записи или подписи не может быть отказано в юридической силе или принудительном исполнении только потому, что она находится в электронной форме.
    • (b) Договору не может быть отказано в юридической силе или принудительном исполнении только потому, что при его составлении использовалась электронная запись.
    • (c) Если закон требует, чтобы запись была в письменной форме, электронная запись удовлетворяет закону.
    • (d) Если закон требует подписи, электронная подпись удовлетворяет закону.

..

Зная законы, я бы оценил стоимость лучшего метода электронной подписи и стоимость метода скриншота.

Наконец, я бы обсудил с ними свои выводы. Во-первых, я бы объяснил им лучший вариант против предложенного. Затем я объясню им, сколько времени это добавит к проекту. Наконец, если бы я был в таком месте, я бы сказал им, что эта «функция» добавит х долларов к окончательному счету. Я был бы очень уверен использовать дополнительные расходы для меня в качестве оправдания дополнительных расходов для них.

Если бы они все еще не сдвинулись с места, я бы посмотрел, есть ли у них начальник с каким-то здравомыслием, с которым я мог бы встретиться в тот же день.

* Я не юрист, поэтому, пожалуйста, обратитесь за юридической консультацией, если вы ни в чем не уверены.

Briguy37
источник
6

Поскольку это юридический вопрос, реальный ответ, конечно, будет зависеть от национальных и, возможно, даже местных законов и конкретных обстоятельств. Очевидно, что настоящий ответ может дать только адвокат.

Однако что касается моих (ограниченных) юридических знаний, я не вижу оснований предполагать, что скриншот будет рассматриваться как свидетельство чего-либо, поскольку его, очевидно, очень легко подделать.

Ваш лучший способ действий, вероятно, состоит в том, чтобы объяснить своему клиенту, что это, по сути, юридическая проблема, и что требуется помощь адвоката. Затем обсудите с ними, хотят ли они, чтобы вы обсудили это с юристом, или они хотят сделать это сами.

Чтобы получить реальное решение, вы можете обсудить это самостоятельно (если клиент согласен). Если вы не хотите этих хлопот (или боитесь, что они не захотят вам за это платить), дайте им это сделать.

sleske
источник
6
Если ФП пойдет по этому пути, я бы предложил промежуточный подход, объяснил клиенту, что он должен обсудить это с юристом, но ФП хотел бы участвовать в этих обсуждениях, если это вообще возможно. Таким образом, расходы напрямую ложатся на клиента, и существует меньший риск того, что клиент неправильно истолковывает то, что говорит адвокат при передаче этой информации в ОП.
Кевин Д
5

Если вы хотите проверить, что документ остается неизменным (запись в базе данных, что угодно), «наилучшая практика» выглядит следующим образом:

  • Сериализация данных воспроизводимым способом, включая любые поля, которые могут быть спорными (например, адрес электронной почты, установлен ли флажок).
  • Возьмите хэш этой записи (например, sha1)
  • Используйте открытый ключ для доверенной третьей стороны (т.е. незаинтересованной третьей стороны) для шифрования этого хэша
  • Публикуйте данные публично, чтобы установить дату их появления, например, в группе новостей.
  • Для проверки третья сторона может расшифровать хеш и сравнить его с текущим текущим хеш-значением.

Это использовалось, чтобы гарантировать, что страховые записи не были подделаны; однако «доверенная третья сторона», которой мы заплатили определенную сумму денег, обнародовала хэши, поскольку они были подписаны обратно нам и нескольким другим клиентам, поэтому было несколько хранителей записей, которые потенциально могли быть вызваны в суд для получения доказательств.

Это явно нелепое бремя для чего-то вроде проверки логического поля. Но если вы покажете клиенту расходы, они, вероятно, перестанут быть глупыми.

BRPocock
источник
4

Хотя сам запрос является абсурдным, и у вас не может быть разумного юридического доказательства того, что человек А установил флажок при заполнении формы, внутри вашего вопроса есть вопрос, на который можно ответить:

[Как гарантировать, что данные не были изменены позже, в то время как] БД могла быть изменена после того, как пользователи отправили форму?

Это, на самом деле, может быть проще сделать технически.

1. Держите доказательство того, что данные не были изменены

Отправка электронной почты себе (в выделенный почтовый ящик) со значениями, фактически отправленными пользователем, очень проста (ну, в зависимости от конфигурации вашего сервера это может быть порог, шансы на фильтрацию как спам, количество сообщений электронной почты, отправляемых в секунду и т. д.), и этого достаточно, чтобы показать, что данные не были изменены после их отправки . Например, если у меня нет неограниченного доступа к серверам Google , я почти уверен, что все будут убеждены, что я не могу изменить содержание писем, которые я отправил на мой собственный адрес GMail.

2. Держите доказательство того, что данные верны

Скорее всего, клиент не будет удовлетворен, потому что даже если у вас есть доказательство того, что данные не были изменены впоследствии, как мы можем быть уверены, что данные не были изменены между отправкой формы и отправкой информации по электронной почте (и зафиксировать в базе данных)? В этом случае следующим шагом является:

  1. Снимите флажок,
  2. Отметьте любого, кто заполнил форму, как не желающего получать спам- рекламные материалы от компании ваших клиентов,
  3. Укажите посетителям, что они должны отправить электронное письмо (с предварительно заданным заголовком и пустым телом) на выделенный почтовый ящик, чтобы получать коммерческие предложения для рассылки спама .

Их электронные письма могут затем обрабатываться автоматически и храниться в качестве доказательства.

3. Держите доказательство того, что данные являются подлинными

Теперь, когда у вас есть доказательство того, что человек, использующий данный адрес электронной почты, действительно хочет получать спам, клиент все еще может быть недоволен (что обычно происходит с клиентами, имеющими такие сумасшедшие запросы). Что если кто-то взломает чужой почтовый ящик, чтобы зарегистрировать хакера для получения вашего спама?

На этом уровне сумасшествия вы все равно можете технически реагировать на требования. Теперь вместо отправки электронного письма пользователю сайта необходимо:

  1. Отправьте письмо с копией удостоверения личности / паспорта и письмо с подписью о том, что этот человек действительно хочет получить спам.

  2. Подтвердите адрес электронной почты с помощью секретного кода, который будет отправлен обратно.

Но прежде чем сделать это, убедите клиента реализовать то, что я описал в части 2, и протестируйте его. Заказчик увидит, что через месяц или два никто никогда не отправит подписку по электронной почте и с радостью забудет о юридических доказательствах и измененных данных в базе данных.

Арсений Мурзенко
источник
Ваш шаг 2 ничего не доказывает. Чтобы пометить людей как нежелательных для получения спама, вы сохраняете эту «отметку» в той же базе данных, в которую клиент беспокоится по поводу ее подделки. Сохранение хэша набора данных, тем не менее, гарантирует, что если кто-либо изменит или данные, или сам хеш, то сравнение данных с хешем приведет к его сбою в хэше и доказательству того, что данные были повреждены или подделаны.
maple_shaft
@maple_shaft, то, что важно в части 2 в целом, это не то, что хранится в базе данных, а только получение подписки по электронной почте от пользователя веб-сайта. Данные в базе данных не имеют значения.
Арсений Мурзенко
2
Шаг 1 это хорошо. Легко, просто, эффективно.
Offirmo
@MainMa: И вы думаете, что электронные письма не могут быть фальсифицированы или подделаны?
Бен Фойгт
3

Юридический статус того, что вы делаете, не зависит от технических достоинств решения.

Например :

В течение многих лет британские парламентарии игнорировали электронные петиции, потому что закон требовал, чтобы петиции имели подпись для каждого человека. Затем кто-то замечает, что хэш адреса электронной почты, даты, времени и комментария - даже если он не содержит секретного ключа - представляет собой «цифровую подпись» в глазах британского законодательства.

Поэтому попросите адвоката сказать вам, что делать, и сделайте это. Не волнуйся, звук ли это.

Или сделайте то, что просит ваш клиент, полагая, что он проверил с адвокатом. Убедитесь, что есть запись обсуждения.

стройное
источник
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.это просто выполнит ваши юридические и политические обязательства перед клиентом; Я думаю, что OP (справедливо) больше заинтересован в том, чтобы помочь клиенту выполнить его юридические требования (хотя в настоящее время клиент, похоже, неправильно понимает свои собственные юридические требования, предлагая, таким образом, неправильное решение).
Ли Райан
3

Как блин ты должен получить скриншот? У вас есть HTML-код и все, что вы отправляете клиенту, и электронный ответ от клиента. Ни один не включает в себя скриншот.

Снимок экрана показывает, что отображает браузер, и будет несколько отличаться в зависимости от используемого браузера и настроек и оборудования на другом конце. Лично я использую Firefox, Chrome, Opera, Mobile Safari, иногда Lynx и даже немного IE.

Вы можете отобразить страницу в стандартном браузере и сделать снимок экрана, но создание собственного документа и его запись не произведут на судью впечатление. Вы можете попросить пользователя отправить скриншот, но удачи в этом. Не у всех браузерных устройств есть очевидный способ сделать и отправить скриншот (как вы делаете это на iPhone?). Если вы имеете дело с клиентом с нарушениями зрения, использующим программу чтения с экрана, на стороне клиента может вообще не быть визуального представления. (Я видел пару моих слепых друзей, которые использовали портативный компьютер, у которого вообще не было дисплея.)

Так что объясните клиенту, что нет способа получить скриншот, и может даже не быть экрана, чтобы сделать снимок.

Дэвид Торнли
источник
1
iPhone: удерживайте кнопку LOCK в течение нескольких секунд. Android: руткит телефона и молись. (Я
понял, о чем вы говорили
3

Фактически возможно создать Обязательный контроль доступа в сочетании с доверенной меткой времени плюс цифровая подпись для базы данных, чтобы обеспечить доверие к значению столбца. Снимки экрана не являются правильным ответом, но есть решения Trusted Computing, которые достигают именно того, чего вы хотите достичь. Если вы хотите больше деталей, вы можете начать общаться со мной.

Ахмед Масуд
источник
2

Как уже указывалось, вы не можете доказать, что человек согласен или нет, так что лучшим решением будет:

а) Получите, чтобы человек подтвердил свое согласие по ссылке, отправленной на его адрес электронной почты (это гарантирует, что он не просто ввел billgates@microsoft.com)

б) Дайте им возможность отказаться от подписки на маркетинг / продвижение

Мэтт Вилко
источник
2

Схема, которая наиболее близка к защите от несанкционированного доступа, будет состоять в том, чтобы сгенерировать пару открытого / закрытого ключа, когда пользователь заполнил форму с использованием (на стороне клиента) Javascript, а затем отправить содержимое формы, открытый ключ и подпись сервер, и представить личный ключ пользователю и попросить его принять к сведению и хранить его в безопасном месте.

С помощью этой схемы вы сможете доказать, что невозможно подделать данные формы, поскольку вы не знали секретного ключа, который используется для генерации подписи. Слабость этой схемы в том, что вы должны быть в состоянии доказать, что вы никогда не касались закрытого ключа, и что пользователь не должен терять свой закрытый ключ.

Поскольку вы должны быть в состоянии доказать, что у вас никогда не было доступа к закрытому ключу, может потребоваться включить HTML и весь Javascript при создании подписи формы; это подтверждает точную форму, которую пользователь использует для отправки данных (следовательно, доказательство того, что вы не изменяли форму / javascript с момента их отправки, что доказывает, что вы не использовали javascript для кражи их личного ключа).

Эта схема сложна, и, как и в случае любой сложной системы, я не могу гарантировать, что дыры нет (на самом деле, я вполне уверен, что она есть, и кто-то, вероятно, сможет указать на это).

Ли Райан
источник
2

Снимок экрана не будет большим доказательством, так как нет никакого способа проверить, является ли снимок экрана реальным. Это так легко подделать. Что касается более технических решений, есть механизм хранения архивадля MySQL, который поддерживает только вставку и выбор. Вы не можете удалить из таблицы вообще. Имейте в виду, что возможно изменить ALTER TABLE на другой механизм хранения, удалить запись, а затем ALTER TABLE, чтобы вернуть механизм обратно, чтобы никто не заметил, но, надеюсь, вы можете ограничить это для пользователя root и разрешить root только для локального входа в систему. , Затем вы можете просто отслеживать входы в систему на локальной машине базы данных, чтобы выяснить, кто ее изменил. Вы также можете проанализировать двоичные журналы или включить необработанный журнал запросов, чтобы увидеть, кто мог выдавать запросы, которые привели к такого рода действиям. Я не уверен, какую технологию баз данных вы используете, но, скорее всего, вы сможете найти решение, которое не позволит легко изменять данные.

Kibbee
источник
2

Я рекомендую вам сесть и прочитать Акт ESIGN . Этот статут охватывает то, что является и не является необходимым для записи электронной подписи, чтобы она имела юридическую силу. У предыдущего работодателя мы обнаружили, что самым трудным законодательным препятствием была возможность сделать подписи и документы удобочитаемыми в течение 10-15 лет в будущем.

Детали каждой заполненной формы должны быть сохранены надежным способом. Очевидно, что сохранения значений формы в базе данных - столбце, указывающем, согласился или не согласился пользователь, - недостаточно, поскольку БД можно было изменить после того, как пользователи отправили форму. Наш клиент утверждает, что другие порталы колледжа создают скриншот заполненной формы и сохраняют его где-то в отдельной папке, таким образом, чтобы его можно было легко найти, например, присвоив файлу имя, которое включает имя пользователя и дату и время.

Как уже отмечали другие, скриншот - это то, что невозможно сделать. Это может быть подделка, поскольку все «волшебные» шоу - просто подделка: вы видите, как кого-то распиливают пополам, но на самом деле его распиливают не пополам.

Tangurena
источник
1

Я имел дело с моей долей сумасшествия раньше. Я могу подумать о некоторых технических решениях, но почему бы не вернуться к клиенту и предложить переписать вопрос «Вы не хотите получать маркетинговые электронные письма?». (или аналогичная формулировка) и разрешить человеку отказаться? Тогда вам не нужен снимок экрана.

JQA
источник
1

Как все отметили, техническая и юридическая значимость запроса функции отсутствует. Тем не менее, есть возможность, если пользователь может вручную сделать снимок экрана и загрузить его в виде вложения в форму.

Моше
источник