Шифрование/дешифрование OpenPGP содержимого веб-страницы

У меня есть частный сайт (т.е. я единственный редактор/посетитель), но я не доверяю хостеру свой контент.

Что я хочу

  1. Когда я что-то ввожу в файл textarea, я хочу зашифровать его локально с помощью OpenPGP (предпочтительно, используя мою установку GnuPG), прежде чем он будет отправлен на сервер.

  2. При просмотре этого опубликованного контента (соответственно, при его повторном редактировании) я хочу, чтобы он автоматически расшифровывался локально.

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

Какой инструмент

Было бы здорово, если бы это работало прямо на странице (*), но решение с локальным текстовым редактором было бы в порядке, если бы оно работало автоматически: я не хочу копировать и вставлять содержимое из формы в мой текстовый редактор и обратно в форму.

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

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

Формальные требования

  • Все задействованное должно быть FLOSS .
  • Он должен работать с веб-браузером FLOSS (мне все равно, каким именно, например, Firefox, Chromium или…) на GNU/Linux (изначально).
На всякий случай, если это поможет: 1. Не PGP, но, учитывая, что его довольно легко просто использовать, как если бы это был PGP (это AES), и говорится как «Также есть возможность автоматического дешифрования», так и «С этим расширением вы можете зашифровать любой контент на сервере, например html, javascript или изображения», вы можете взглянуть на CryptoData для firefox и 2. проверить, есть ли в WebPG (духовном преемнике FireGPG) возможность обнаружения блоков PGP на данной странице (включая источник) и автоматически расшифровывая его с помощью ключа из вашего связанного магазина.

Ответы (1)

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

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

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

    Затем у вас есть два варианта шифрования.

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

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

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

    См. также мой ответ о простом управлении версиями для текстовых документов .

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