Представлен проект ZeroBin (http://sebsauvage.net/wiki/doku.php?id=php%3Azerobin), представляющий собой открытою реализацию системы для быстрого обмена кодом или сообщениями, похожая по своему назначению на сервис Pastebin, но кардинально отличающаяся подходом к хранению информации. При использовании ZeroBin, благодаря использованию шифрования на стороне клиента, передаваемые пользователем данные не могут быть прочитаны администрацией сервера и остаются доступны только для отправителя и получателя. Перед отправкой на сервер данные сжимаются и шифруются JavaScript-кодом в браузере отправителя и поступают на сервер уже в зашифрованном виде, при этом ключ шифрования не передаётся и остаётся известным только пользователю. Ключ для доступа к данным оформляется как часть URL (например, http://test.com?/paste/?идентификатор#ключ), которые предлагается передать доверительны лицам, которым адресовано сообщение. Не зная сгенерированный на этапе отправки данных URL невозможно получить доступ к информации, даже если имеется физический доступ ко всем данным на сервере. Знающий URL получатель сообщения при обращении к сервису загружает сохранённый зашифрованный блок данных, расшифровка которого производится JavaScript-кодом на стороне его браузера. Для шифрования используются 256-битный блочный шифр AES.
<center><a href="http://sebsauvage.net/wiki/lib/exe/fetch.php?media=php:zerob... src="http://www.opennet.me/opennews/pics_base/0_1334911005.png" style="border-style: solid; border-color: #e9ead6; border-width: 15px;" title="Алгоритм отправки данных" border=0></a></center>
<center><a href="http://sebsauvage.net/wiki/lib/exe/fetch.php?media=php:zerob... src="http://www.opennet.me/opennews/pics_base/0_1334911133.png" style="border-style: solid; border-color: #e9ead6; border-width: 15px;" title="Алгоритм получения данных" border=0></a></center>
Оценить работу ZeroBin можно воспользовавшись демонстрационным сервисом sebsauvage.net/paste/ (http://sebsauvage.net/paste/). Код проекта опубликован под свободной лиценизей zlib/libpng. Собственный сервер ZeroBin может быть развёрнут на любом хостинге с PHP 5.2.6 или более новой версией, СУБД для работы ZeroBin не требуется. Установка максимально упрощена - достаточно просто скопировать скрипт на сервер. Клиентская часть написана на языке JavaScript с использованием библиотек jQuery,
js-deflate, js-base64, SJCL (Stanford Javascript Crypto Library). Поддерживается (http://sebsauvage.net/wiki/doku.php?id=php:zerobin_faq#suppo...) работа во всех современных браузерах, включая Firefox 11, Chrome 18, Internet Explorer 6/7/8/9, Opera 12, Safari 5.1.5, Konqueror 4.7.4, а также в различных мобильных браузерах.
Из расширенных возможностей представленной реализации ZeroBin можно отметить поддержку задания времени жизни данных, встроенные средства для ограничения интенсивности отправки данных и лимитирования из размера (по умолчанию 2 Мб), поддержка обсуждения опубликованных данных. Сообщения в обсуждениях шифруются по аналогии с данными, таким образом на стороне сервера невозможно прочитать комментарии и даже просмотреть ники отправителей. Для наглядной оценки принадлежности сообщения используется VisualHash, генерируемый на основе IP (для одного IP показывается одно и тоже абстрактное изображение). В будущих версиях планируется обеспечить подсветку синтаксиса, добавить возможность защиты сообщений по не фигурирующему в URL паролю, реализовать режим удаления сообщения с сервера после первого прочтения.
URL: http://arstechnica.com/open-source/news/2012/04/anonymous-bu...
Новость: http://www.opennet.me/opennews/art.shtml?num=33648