Опубликовано 08 июня 2011, 11:13

Сайт дня: Cryptopad - блокнот для самых ленивых параноиков

Комментарии к статьям про Альфа-клик и Lastpass убедили меня, что тема секретности данных в сети остаётся актуальной для многих, так что сегодня сайтом дня становится CryptoPad.

Cryptopad

Cryptopad

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

То есть, если вы не доверяете сети, то хранить в ней данные надо не так:

Шифрование на сервере

Шифрование на сервере

Шифрование на сервере

А так:

Шифрование до сервера

Шифрование до сервера

Шифрование до сервера

Именно эта идея реализована на сайте CryptoPad, созданном для тех, кому лень постоянно возиться с программами для шифрования, зачищать открытые файлы, заливать шифровки в сеть и так далее. На CryptoPad эта деятельность автоматизирована.

Главная страница CryptoPad

Главная страница CryptoPad

Главная страница CryptoPad

Всё шифрование данных выполняется в браузере пользователя. Используется алгоритм AES с длиной ключа в 256 бит. Сам ключ нигде не хранится и каждый раз заново генерируется из пароля. При хорошем пароле расшифровать данные пользователя будет однозначно дороже, чем получить их другими, далёкими от компьютеров методами.

Всё это чудо реализовано в виде программы на Javascript, которая работает даже на достаточно старых браузерах:

Браузеры, поддерживающие CryptoPad

Браузеры, поддерживающие CryptoPad

Браузеры, поддерживающие CryptoPad

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

Форма ввода пароля

Форма ввода пароля

Форма ввода пароля

Интересно, что виртуальная клавиатура в CryptoPad служит не только для защиты пароля от клавиатурных жучков, но и для возможности вводить "локализованный" пароль с любой клавиатуры. Трудно подобрать пароль, который набран, например, наполовину русскими буквами, а наполовину - турецкими.

Поддержка языков для ввода пароля

Поддержка языков для ввода пароля

Поддержка языков для ввода пароля

Авторизованному пользователю вместе с его страницей присылаются программа для шифрования и зашифрованные данные. Так как эти данные не секретные, то никакая защита не используется. Даже SSL.

Многих поначалу удивляет, что страница с секретными данными передаётся по обычному http без всяких httpS, но в этом нет необходимости. Даже если злое интернет-кафе получит весь трафик между пользователем и CryptoPad то толку будет мало. Алгоритм шифрования общеизвестен и без пароля практически бесполезен, а сами данные в расшифрованном виде не покидают пределов браузера. Это всё равно, как если бы пользователь выложил в открытый доступ зашифрованный файл, и не выложил ключ.

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

Страница с данными

Страница с данными

Страница с данными

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

Кеширования - нет.

Автоматического сохранения изменений - тоже нет. Иначе случайно стерев важные данные их будет невозможно восстановить, так как история изменений не хранится (Ctrl-Z не работает).

Несохранённая страница обводится яркой красной рамкой:

Страница с несохранёнными данными

Страница с несохранёнными данными

Страница с несохранёнными данными

При первых изменениях даже дополнительное предупреждение высвечивается:

Предупреждение о необходимости сохраняться

Предупреждение о необходимости сохраняться

Предупреждение о необходимости сохраняться

Несохранённые изменения теряются сразу и без всяких шансов на восстановление. Это естественная (хоть и непривычная уже) плата за секретность.

Интересно. что на CryptoPad довольно жестокие ограничения по объёму хранимых данных. Объём одной страницы ограничен восемью килобайтами (не путать с мегабайтами), а полный объём для одного пользователя всего в восемь раз больше. Учитывая, что тексты на CryptoPad хранятся в интернациональной кодировке, русские буквы занимают по два байта, так что русскоязычного текста на CryptoPad влезет только 32 Кб. Естественно, такое зверство связано не с недостатком дискового пространства у владельцев CryptoPad, а с тем, что быстро шифровать можно только маленькие тексты.

Впрочем, редко кому понадобиться выложить на CryptoPad "Войну и мир". Чаще все секретные данные пользователя будут выглядеть как-то так:

Пользовательские данные на CryptoPad

Пользовательские данные на CryptoPad

Пользовательские данные на CryptoPad (реальный пример)

Прошли времена, когда шпионы хранили банковские реквизиты в зашитых под кожу капсулах. Теперь есть сервисы, подобные CryptoPad. По крайней мере, их вскрыть сложнее, чем кожу.

Напоминаю, что если вы не будете присылать мне письма с предложением выбрать тот или иной сайт в "сайты дня", то рано или поздно у меня кончатся идеи. Запишите в свою адресную книгу - sitesoftheday@ferra.ru.