CryptoPad — сервис конфиденциального хранения информации

    Проблема


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

    Предлагаемое решение


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


    Добро пожаловать: СryptoPad.org — сервис конфиденциального хранения информации

    Преимущества

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

    Текущий статус проекта


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

    Краткие технические характеристики

    • размер хранимых данных — 64 килобайта, что составляет около 16 страниц текста на русском языке;
    • безопасность — шифрование данных на клиенте, средствами JavaScript, алгоритм AES с длиной ключа 256 бит;
    • надежность — ежедневное резервное копирование всех данных на другой сервер.


    UPD: добавил краткие технические характеристики
    Ads
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More

    Comments 71

      +4
      Хорошо бы уточнить, сколько дается места.
        +3
        Примерно 32к текста (если использовать двухбайтовые символы) — это около 16 страниц
          0
          Спасибо.
          +1
          в строках? =)
            0
            Да хоть в чем. все же лучше, чем «осталось 99%», когда не знаешь, что составляет 100%
          0
          Очень хотелось бы сохранять не только текст, но и файлы целиком.
          Объем 200-300 мб мне бы хватило для хранения очень важных данных.

          А гарантия есть, что ваш сервер спец.службы не унесут и не заставят расшифровать все?
            0
            унести можно все, а расшифровать — только если владелец блокнота пароль скажет (или если научатся AES расшифровывать без ключа за приемлемое время)
              0
              Вспомнилась история про PGP-шифрование и первоапрельский развод спецслужбами двух парней )
                0
                Расскажете?
                  +1
                  Миф или реальность, но читал, как то эту историю. Улыбнуло.

                  Два товарища как то заспорили о спецслужбах, о том, что они на ключевые слова реагируют и фиксируют сообщения в сети интернет. Так же, что спецслужбы расшифровывают на лету зашифрованные сообщения. Решили шутки ради обмениваться зашифрованными сообщениями типа «Привези еще героина, продай ракет подешевле, нужно еще три ящика автоматов», в общем все в таком духе.
                  Одним днем их взяли обоих и вывезли за город, вручили лопаты и заставили копать себе ямы. Парни в слезах и мольбах оправдывались, но тщетно. В итоге после того, как вырыли ямы им приставили пистолеты, парни попрощались с жизнью, ребята со спецслужб рассмеялись, сказали, что б тобольше так не шутили, и уехали.

                  Ну. как то так. дословно не помню.
                    +1
                    Берут же долбаебов в спец.службы…
                    Но мне кажеться это байка. Возможно их просто предупредили, а ямы и лопаты они придумали.
                      +5
                      Это видимо тот парень, который утверждал что спецслужбы на лету расшифровывают всё, и устроил это шоу чтобы убедить оппонента.
              0
              Сейчас шифрование идет через Javascript, 200 мб будет обрабатываться ОЧЕНЬ долго. Возможно в будущем эта возможность появится, но будет реализована как-то по-другому.
                0
                У меня бы браузер наверно завис намертво и при нескольких мб :)
                  0
                  А если расширением к браузеру?
                    0
                    Как вариант. Но в походных условиях (например, в инет-кафе) установка расширений скорее всего будет заблокирована, а для стационарного применения тогда уж можно сделать полноценную программу-клиент.
                +1
                1) Какова гарантия, что ваш сервер сегодня-завтра не навернётся и я их целиком не потеряю?
                2) Почему нет SSL?
                  +1
                  Данные ежедневно копируются на другой сервер (в другом ДЦ).
                  SSL особого смысла не имеет, все и так зашифровано.
                    +2
                    Зашифровано, но не удостоверено — man in the middle и пароль пользователь вводит на левом сервисе.

                    SSL в данном случае это «цифровая подпись» вашего скрипта.
                      0
                      На цифровую подпись, строго говоря, не тянет — скрипт могут подправить прямо на сервере.
                        0
                        Тянет. Скрипт будет подписан, пусть даже и поддельный.

                        Речь про то, что это совершенно разные атаки — против man-in-the-middle на сервере нельзя, пожалуй, вообще ничего сделать, кроме SSL.

                        Против взлома самого сервера на сервере же можно сделать довольно многое :-)
                          0
                          Это понятно. Но ведь хочется защищаться и от поддельного кода, и от неожиданных непроверенных обновлений. Мы ведь не доверяем хозяину сервера — в этом вся идея:)
                            0
                            Если вы не доверяете хозяину сервера — вы не можете пользоваться сервисом с самого начала, т.к. вы не провели верификацию скриптов на наличие 0day эксплойтов против вашего браузера, через которые все деньги с вашего счёта уже переведены в Сомали. МУ-ХА-ХА!

                            В этом вся идея ;-)
                              0
                              Именно!:)
                                0
                                Предлагаю вариант:
                                1. Какой-нибудь эксперт в области безопасности и JS (например, уважаемый darkk) анонимно и многократно разными путями скачивает скрипты блокнота, внимательно их анализирует и докладывает хабросообществу — скрипты проверены мною, закладок нет, вот цифровые подписи этих файлов (например MD5, или более того, подписывает эти файлы личным SSL-сертификатом).
                                2. Какой-нибудь пользователь сервиса (например, не менее уважаемый tegger) загружает страничку блокнота, сохраняет скрипты на диск и внимательно проверяет их по известным подписям. Подписи совпали, пользователь спокоен и счастлив — данные в безопасности!

                                Процесс можно автоматизировать…
                                  0
                                  А вот и идея для функционала тулбара! :-)
                        0
                        ну а когда пользователь будет «писать» в вашем блокноте, данные-то к вам без ссл будут передаваться незашифрованными?
                          0
                          Нет, данные шифруются на компьютере у пользователя, в браузере средствами Javascript. Ключ шифрования знает только пользователь, на сервер он не передается.
                            0
                            ну а что будет, если кто-то решит «пошутить» и перехватит ваш скрипт, а вместо него пошлет пользователю что-то совсем другое?)
                              0
                              Я уже понял, что это главное препятствие на пути к всеобщему счастью :)

                              Планирую придумать, как это препятствие обойти. Тут уже предлагали SSL, но это не спасает от взлома сервера и подмены скрипта на нем. Есть и другие варианты…
                        0
                        Тоже интерестно, почему не SSL?
                        Зачем через Javascript?
                          +1
                          Javascript-шифрование гарантирует, что даже если кто-то взломает или унесет сервер, без вашего пароля он ничего не сможет расшифровать. Пароль на сервере не хранится и по сети не передается, его «знает» только ваш браузер, пока открыта страница CryptoPad.
                        –2
                        Нет и не будет неуязвимых систем, просто пока не было такого человека который бы всерьёз занялся-бы вашим сервисом.
                          +2
                          Не очень-то правильно доверять реализации AES, загружающейся каждый раз с сайта. Если злоумышленник изменит javascript-овый код на сервере (или устроит dns poisoning, или еще что-нибудь) и научит его красть пароли, то пользователи вряд ли это заметят.
                            0
                            точно так, я бы не стал шифровать свои данные через js
                            +1
                            Весь блокнот на одном листе — как-то не кошерно. Возможно лучшим решением будет дать возможность разбивать заметки на категории (в структуре дерева, а-ля Google Notepad).
                            Этим как раз решиться проблема шифрования больших объёмов vs пользовательское ограничение на объём: ограничить одну заметку на 32 кб, но самих заметок может быть больше. Соответственно в один момент времени сохраняется (и шифруется) одна заметка.
                              0
                              Такая возможность стоит в ближайших планах. Рад, что это показалось полезным не только нам :)
                                0
                                Это радует. Но заклинаю вас не повторить ошибки Google: в этом прекрасном инструменте отвратительное usability при работе с отдельными заметками. Во всяком случае для меня скопировать выделенное в буфер превращается в мучение: может скопироваться, а может и нет, по настроению javascript и браузера.
                                Было бы очень здорово получить инструмент хранения небольших данных:
                                — без досадных ляпов Google Notepad (на который, к тому же, по слухам «забили»)
                                — без монструозности Evernote (сколько бы ни пели им хвалебные песни на Хабре, для себя я не нахожу возможности пользоваться этим продуктом)
                                — с хорошей защитой данных (грешен: храню в Google Notepad несколько десятков FTP и SSH доступов к различным серверам и иногда о них волнуюсь)
                              +1
                              Мне кажется стоит как-то разнообразить страницу редактирования. Хотя бы кнопку «выход» сделать.
                                0
                                Был бы плагин для firefox'а…
                                  0
                                  Какой функционал вы видите для такого плагина? Какой интерфейс был бы вам удобен?
                                  0
                                  Поддерживаю. и для Opera…
                                  0
                                  главное в этом сервисе — гарантии. кто и чем отвечает в случае утечки
                                    +1
                                    предпочел бы openpgp + dropbox какой-нибудь
                                      +1
                                      Отличное начинание. Мне пока еще стремно выносить по настоящему важные данные в сеть, но, надеюсь, я преодолею этот страх: ) На счет возможной проблемы с подменой Javascript'а (tegger писал) — может, есть возможность сделать стэндэлон клиент — маленький портабельный экзешник, который можно было бы таскать на флешке?
                                      Пожелание по поводу дальнейшего развития: мне очень понравился минимализм интерфейса, не усложняйте его слишком сильно, пожалуйста: ) Из косметических замечаний — красная рамка выглядит уж слишком ядреной, бьет в глаза. Главная страница кажется несбалансированной по цветам — фиолетовый бэк выбивается из общей палитры, градиент в хэдере выглядит неестественно из-за перепада сатюрейшна. Ну эт так, мое мнение с колокольни: )
                                        0
                                        Использую Handy Safe Desktop — на мобиле под S60 и на всех машинах, за которыми работаю. Собственно забиваю данные на компе, а с мобилой только синхронизирую, чтобы иметь везде актуальную информацию, хотя если надо, то можно работать и с мобильной версией, особенно в дороге. То, что информация находится сразу на нескольких машинах и при этом надёжно защищена шифрованием гарантирует, что если где-то в одном месте всё накроется медным тазом, то в остальных ничего не пропадёт. Ну и третьим лицам в интернете не передаётся ничего ни в каком виде.

                                        Автору советую ознакомиться с интерфейсом этой проги, а также с Password Commander — классификация хранимой информации по группам и папкам, настраиваемые типы, где можно определять набор полей и их названия… В общем есть много способов на порядок более удобного хранения информации, чем страница в блокноте. Важно ведь не только сохранить кучу паролей и других данных, но и найти среди этой кучи нужное.
                                          –7
                                          >Чтобы безопасно хранить данные, их нужно шифровать. А чтобы безопасно хранить данные на чужом сервере, их нужно шифровать перед отправкой, прямо на клиенте.

                                          Чтобы безопасно хранить данные, не нужно хранить их на чужом сервере. И нет особой разницы в том, какое на этом сервере шифрование и сколько красивых замочков нарисовано на иконках.
                                            –6
                                            Ну что же вы за мерзкие хабралюдишки? Ни один не сподобился хоть слово написать, а сразу в карму срать и минусовать.
                                            0
                                            Извините, но просто к сведению: уже три года как в публичном доступе работает Spynote (http://www.spynote.com)

                                            Сделали бы лучше что-нибудь своё, оригинальное.
                                              +3
                                              Идею я придумал до того, как познакомился с аналогичными сервисами, но это неважно. Любую идею можно хорошо или плохо. На мой взгляд, хранение заметки всего неделю (а за $25! — месяц) это издевательство над пользователями, а максимальный размер заметки меньше.
                                              Кроме того, для повышения безопасности и удобства в своем сервисе я разделил основной информационный сайт (www.cryptopad.org) и сайты-блокноты, вынеся их на отдельные домены. Это дополнительная гарантия безопасности, встроенная в сам браузер (запрет доступа JS с одного домена к другому). К тому же достаточно сделать закладку на страницу своего блокнота и вы экономите время на вводе логина — мелочь, а приятно :)
                                                –2
                                                Давайте я сразу прямо скажу, что со своими «до того как» Вы, мягко говоря, лукавите и сэкономим на этом время. Дело хозяйское.

                                                Судя по комментариям, Вы толком не провели анализа рынка и не имеете чёткого представления о реальных требованиях. Без этого строгать «тоже самое, но с перламутровыми пуговицами» можно, но слегка глуповато.

                                                Удачи и творческих успехов.
                                                  0
                                                  За пожелание успехов спасибо!
                                                    0
                                                    Я бы тоже хотел Вам успехов пожелать. Сам не сделал, надеюсь у Вас всё получится.
                                                    +3
                                                    Давайте я сразу прямо скажу, что со своими «до того как» Вы, мягко говоря, лукавите и сэкономим на этом время.
                                                    У меня была идея создания такого сервиса, хотя про спайноут я вообще впервые слышу. Идеи они такие идеи, иногда в разные точках планеты возникают.
                                                0
                                                Сервер долго не проживет ;-)
                                                Без закладок для расшифровки создавать продукты могут только сильные духом :-)
                                                  0
                                                  А есть ли возможность смены пароля? Не нашел.
                                                  Если нет, планируется ли? У меня, например, есть привычка периодически менять пароли…
                                                    0
                                                    Пока нет, но судя по пожеланиям — планируется
                                                    +1
                                                    я бы с радостью поддержал отечественного производителя.
                                                    но по-моему рановато вы анонс сделали — нужно было бы провести анализ уже имеющихся сервисов.

                                                    у большинства присутствует такая фишка, как DirectLogin — то есть ссылка на сайт с использованием моих шифрованных логина и пароля. очень удобно, особенно если на разных сервисах разные пароли.
                                                    на данный момент пользуюсь www.clipperz.com
                                                    ИМХО, малофато функциональности, чтобы соблазнить кого-то на переход к вам.

                                                    а так, писАть у вас просто в textarea — мне частично напоминает www.netvibes.com — только там удобней будет и они не позиционируют себя, как безопасное хранилище данных. но сомневаться в их ненадёжности у меня нету причин, ровно как и в вашей…

                                                    но это сугубо моё личное мнение.
                                                    а вам как отечественному производителю — желаю удачи и творческих успехов!
                                                      0
                                                      А зачем собственно передвавть наружу в открытом виде в ссылке логин и пароль, когда пароль используется для дешифрации в Вашем собственном браузере и снаружи не нужен? Ну разве что злоумышленникам
                                                        0
                                                        вы вероятно не совсем поняли смысл.
                                                        есть ссылка реализованная JS, которая постом передаёт, например, на хабр мои шифрованные логин и пароль (расшифровывая на ходу) и автоматом логинит меня сюда.
                                                        то есть, если пароль очень сложный, то мне не нужно каждый раз его вводить подсматривая в клипперз — мне достаточно просто кликнуть оп ссылке и он меня залогинит используя выбранную мной информацию.
                                                        конечно, если речь идёт об одном-двух сайтах, то фича не имеет смысла. но у меня туда вынесено до 20 разных ссылок на сервисы, где разные логин/пароль и запоминать которые желания не имею совсем.

                                                        кстати, там есть реализован так же импорт всех паролей — для безопасности.
                                                        и поскольку проект опенсорс, то его можно поставить на свой собственный сервак и не боясться, что кто-то будет что-нить расшифровывать.
                                                          0
                                                          имелось ввиду «експорт» паролей.
                                                      0
                                                      К рекомендациям пользоваться этим сервисом не хватает ещё совета: установить KeyScarmbler — бесплатный плагин для IE & Firefox которые шифрует весь ввод с клавиатуры в этих браузерах.

                                                      Таким образом можно также быть спокойным что вводимые в браузере тексты/пароли не будут перехвачены всякими троянами/кейлоггерами.
                                                        0
                                                        Вопрос чисто теоретический или полемический. А не является ли сам метод удаленного хранения информации противоречием понятию «безопасность»? Другими словами, не является ли поиск методов удаленного безопасного хранения инфо ошибочным путем поиска решений?
                                                        PS/ Не умаляя возможных достоинств предлагаемого сервиса или ему подобных
                                                          0
                                                          «Лучший способ сохранить секрет — не знать о нем» (как-то так). Абсолютная безопасность недостижима, как и все абсолютное (это ответ полемический), но можно найти компромисс между надежностью и удобством использования. Я задумывал сервис, как хранилище данных, доступное через Internet без использования специальных средств (таких, как флешка), т.е. пользователю не нужно ничего, кроме пароля (в голове), остальное все можно найти «на месте».

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

                                                            Хотя я не уверен в правомочности такой параллели.
                                                              0
                                                              Пользуюсь и банковскими и услугами связи… и это все можно обзывать аутсорсингом, причем на жестких юридических условиях и с устоявшимися традициями. А традиций охраны секретов нет почему-то. Помнится в детстве поручили мне к новому году коробку конфет поохранить, результат угадайте сами :-)
                                                            0
                                                            Да, все понятно… Вы наверное поняли о чем я. Не бывает дешевых способов обеспечить безопасность, или по-другому: там где эти способы можно сделать дешевыми, наверное безопасность не является ключевым моментом.
                                                            А если прагматичнее: чем далее вы удаляете информацию от себя — тем она не безопаснее, чем более к вашей инфо имеет некто доступ — тем более риск ее раскрытия или потери, и т.д… Наверное это такая природа информации. Теоретически, самый надежный способ хранения паролей всяких — не знать их вообще в явном виде, тогда даже под пыткой не выдашь; а хранить в таком месте которое представляет собой распределенное пространство со случайно разделенными кусками. Типа того.
                                                            В своей реплике просто пытался понять — не тупиковый ли это сервис, поскольку логика безопасности нарушается.
                                                              0
                                                              ааа! эта идея приходила ко мне сегодня :) Сидел и думал, а надо ли оно такое?
                                                                0
                                                                Нууу… Если подходить параноидально, то это вовсе не безопасно. Пароль всё-таки нужно вводить. Т.е. от его перехвата нет никакой гарантии. MiM, фишинг, кейлогеры на зараженном компьютере, etc.
                                                                Выход — нужно ввести цифровые сертификаты для аутентификации. Но это понизит мобильность(нужно всегда иметь с собой сертификат + не везде есть возможность установить его в браузер + можно потом забыть его оттуда удалить).
                                                                Самый-самый лучший выход (ИМХО) — это брелки RSA SecurID. Но этот способ требует немаленьких вложений. Но если сервис планируется коммерциализировать(вот слово-то) — то почему бы и нет. Думаю, клиентура найдётся.
                                                                Плюс можно ещё сделать Magic Word (когда нужно вводить не весь пароль, а его часть, которая рэндомно меняется). И желательно вводить с экранной клавитуры или выбирать из выпадающих списков нужные буквы (чтобы защититься от кейлоггеров).

                                                                Only users with full accounts can post comments. Log in, please.