07.06 // Проект // Завершена работа над подсистемой цифровой подписи комментариев и страниц
Это оказалось проще, чем отделаться от навязчивых предложений spinore'а. :-) Что представляет собой это новшество? Если вы хотите, чтобы все могли убедиться в вашем авторстве того или иного комментария или редакции документа, вы, используя стандартные средства PGP/GnuPG подписываете текст и публикуете его, отметив в форме ввода специальную опцию "Обработать в сообщении цифровую подпись OpenPGP" (включать и выключать её можно на тот случай, если нужно разместить в тексте в качестве примера какую-то проблемную ЭЦП, которую не следует сличать).
В этом случае документ будет сохранён в базе данных в двух экземплярах: один — обычный чистый текст, как этот, а другой — со всеми заголовками OpenPGP и исходной цифровой подписью. Этот второй экземпляр не может быть отредактирован (может быть только полностью удалён), и остаётся доступен для просмотра пользователями сайта, если они решат лично убедиться в правильности ЭЦП. Сам же подписанный комментарий или текст страницы особо выделяется специальным маркером, отображающим состояние ЭЦП и некоторую дополнительную информацию. В частности, он выдаст предупреждение, если текст окажется подписан не тем ключом, который размещён в профиле пользователя, либо если подписанный текст отличается от отображаемого (это особенно вероятно для комментариев: если модератор отредактирует его, то обычный "чистый" экземпляр сообщения станет отличаться от "эталонного"; в таком случае все заинтересованные смогут проверить этот оригинал).
Следует отметить, что эта возможность доступна и незарегистрированным пользователям сайта, однако, поскольку база данных сайта не содержит их открытых ключей, подобные подписи будут обозначаться как "неопределённые" (сверить ЭЦП без открытого ключа, естественно, невозможно). Тем не менее, маркер отображает ID этих ключей, что упрощает отслеживание авторства (заинтересованные, опять же, могут сами найти нужный ключ и сверить подпись вручную).
Пока подсистема будет функционировать в тестовом режиме, поскольку для меня остаётся открытой проблема обработки сообщений в "трудных" кодировках. Тестирование проводится на этой странице. Заметьте, что в настоящее время опция "Обработать в сообщении цифровую подпись OpenPGP" будет доступна только там. Пожалуйста, примите участие в тестировании: хочется отловить все возможные ошибки, прежде чем открывать данную функциональность на всём сайте. Также высказывайте свои замечания и мнения относительно интерфейса, удобства и понятности (а также внешнего вида) маркеров.
Источник: http://www.pgpru.com
комментариев: 1515 документов: 44 редакций: 5786
Стопудово! Однозначно проще! :-)
Только реализуйте что я предложил: кондово и просто – добавить снизу галку или ниспадающее меню, позволяя пользователю выбирать кодировку сообщения. А ещё лучше... вот что: просто пусть каждый в профиле у себя пропишет какую кодировку он предпочитает и дело в шляпе. Разумеется, надо для этого такую опцию в профиле приделать. Причём после изменения предпочитаемой кодировке в профиле это не должно отражаться на уже опубликованных комментариях никак. Я думаю так.
комментариев: 11558 документов: 1036 редакций: 4118
комментариев: 1515 документов: 44 редакций: 5786
По-видимому, мы теперь – первый форум в интернете где есть такая очень полезная возможность.
комментариев: 11558 документов: 1036 редакций: 4118
комментариев: 1515 документов: 44 редакций: 5786
обязательно :-)
комментариев: 1515 документов: 44 редакций: 5786
Можно было бы ещё так сделать: если неавторизованный на сайте пользователь пишет подписанное
сообщение, то сайт обрабатывает его в таком порядке: если подпись верная, то есть соответствует
уже загруженному ключу одного из участников проекта, то невзирая на введённый тест тьюринга сообщение
помечается как принадлежащее данному пользователю точно так же как если бы он авторизовался перед этим.
Если же подпись не распознана, то далее всё зависит от тьюринга и сводится к уже существующему алгоритму.
Если бы было так как я предложил то надобность авторизовываться на сайте нужна была бы только для
изменения некоторых настроек профиля или для получения специфического окружения, для тех же, для
кого вполне хватает дефолтных настроек можно было бы писать из-под гостя. Как вам такая идея?
комментариев: 232 документов: 17 редакций: 99
Причём если ключа нет в базе, то просто отмечать: "сообщение оставил Гость, подписано ключом 0хХХХХ ХХХХ"
комментариев: 1515 документов: 44 редакций: 5786
Это итак уже есть или по кр. мере уже порешили так сделать.
комментариев: 1515 документов: 44 редакций: 5786
комментариев: 1515 документов: 44 редакций: 5786
Может быть, стоит сделать проверку на то, что предъявляемый ключ не принадлежит кому-либо кто уже зареган. В общем,
здесь надо думать и думать.
Можно собирать базу хэшей подписанных сообщений для проверки дубликатов у незарегистрированных пользователей. Но хотелось бы сохранить возможность подписывать сообщения и для незарегистрированных пользователяей.
комментариев: 1515 документов: 44 редакций: 5786
Каждый раз для каждого сообщения проверять хэш на пример совпадения с одним из огромной базы – это слишком трудоёмко
комментариев: 61 документов: 47 редакций: 68
Я ему очень благодарен: нет необходимости логинится каждый раз :) Подумал, и через полчаса spinore эту же мысль уже запостил :D
От ся добавлю следующее.
Как мне кажется авторизация по подписи – бред.
Да и вообще, строго говоря, подпись подтверждает только то, что высказывание принадлежит подписавшему. НО никоим образом не свидетельствует, что вы ведете переписку с подписавшим.
Таким образом, достаточно собрать базу подписанных реплик объекта (с рассылок, xmpp, таких вот форумов) чтобы вводить в заблуждение собеседников на ресурсах не проверяющих принадлежность ключа аккаунту, или не подписывающих динамичные, уникальные данные протокола в сообщении. Доходчиво объясняю?
Получается, что, например, если вы в чате (конфе) общаетесь с человеком "подписывающим свои сообщения", то это вовсе не означает, что вы общаетесь с человеком действительно подписавшим эти реплики.
Кстати, отправлю-ка я эту мысль bigote, он скорее всего может разъяснить как с этим дело в xmpp обстоит.
Склеивания само-собой отфильтровывать надо.
Для каждого подисанного сообщения
Вы про бинарный поиск слышали? :)
Можно даже не хэш а контрольную сумму(32 бита) хранить, и только в случае совпадения (редкий случай) сравнивать сами сообщения.