Как стать автором
Обновить

Порка идеи — удобный и безопасный веб-менеджер сокровенных текстовых заметок с javascript

Время на прочтение2 мин
Количество просмотров6.4K
Уважаемые профессионалы и любители информационной безопасности!

Хочу обсудить с вами вот какой интересный вопрос. Мне пришла в голову нижеследующая идея для удобного и безопасного веб-менеджера сокровенных текстовых заметок. Так ли она хороша, как я думаю? Или где-то есть подвох, и я что-то упустил? Буду рад вашему мнению.

Итак.

Цель.


Веб-сервис для управления текстовыми заметками (документами). Настолько удобный и безопасный, насколько возможно.

Требования


  • Веб-доступ — возможность доступа из любого места
  • Возможность импорта / экспорта заметок
  • На сервере (в экспортируемом файле) хранятся только заметки, только в зашифрованном виде
  • Версия для локального использования (чтобы избежать риска взлома сервера и подмены жаваскрипта)
  • Пароль не хранится нигде ни в каком виде



В чем, собственно, суть идеи


Как таковых, «аккаунтов» у сервиса нет. На сервере хранится набор заметок, со следующими свойствами:
— email автора
— зашифрованное содержание
— метаданные (дата изменения и пр).

Человек открывает веб-страницу с сервисом. Если у человека нет куки, страница спрашивает email.

image

Далее, если этот емайл не использовался ранее на этом устройстве, сервис шлет на этот адрес ссылку для валидации устройства. Ссылка, конечно, устаревает через короткий промежуток времени.

image

После успешной валидации, страница запоминает связку емайла на устройстве (ставит куку).
Загружается набор зашифрованных заметок.

Все дальнейшее — работа локального жаваскрипта, без обращения к серверу.

Страница спрашивает пароль.

image

При помощи пароля заметки дешифруются. Появляется собственно интерфейс работы с заметками. О нем не будем, там все можно сделать красиво и удобно. (Вопрос сейчас о технической стороне).

При создании или изменении, заметка шифруется (при помощи сохраненной в жаваскрипт-переменную пароля, или в режиме параноика, снова можно спросить пароль) и зашифрованная отправляется на сервер.

Разумеется, ssl, никакого кеша, и все прочее.

Чем мне нравится все это



Я получаю доступ к заметкам с компьютера, с телефона, из гостей.

Я могу быть уверен, что мои заметки недоступны никому кроме меня. Если кто-то попытается войти с моим емайлом, мне придет сообщение, которое я отклоню.

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

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

Сервис имеет смысл делать open-source, чтобы можно было ставить себе на сервер. Это решает проблему с доверием чужому серверу.

Ложки дегтя


Пока писал текст, пришла вот какая мысль. Поскольку сервис нигде не хранит пароль (ни хеш, ничего), то — так задумано — он не знает, был ли введен правильный пароль. Как избежать ситуации, когда я ввел неверный пароль, получил нечитаемую кашу в заметке, и сохранил ее обратно на сервер? Надо подумать.

Спасибо, что дочитали! Буду рад вашим мыслям и вообще любому отзыву.
Теги:
Хабы:
Всего голосов 8: ↑6 и ↓2+4
Комментарии30

Публикации

Истории

Работа

Ближайшие события

27 августа – 7 октября
Премия digital-кейсов «Проксима»
МоскваОнлайн
11 сентября
Митап по BigData от Честного ЗНАКа
Санкт-ПетербургОнлайн
14 сентября
Конференция Practical ML Conf
МоскваОнлайн
19 сентября
CDI Conf 2024
Москва
24 сентября
Конференция Fin.Bot 2024
МоскваОнлайн
25 сентября
Конференция Yandex Scale 2024
МоскваОнлайн
28 – 29 сентября
Конференция E-CODE
МоскваОнлайн
28 сентября – 5 октября
О! Хакатон
Онлайн
30 сентября – 1 октября
Конференция фронтенд-разработчиков FrontendConf 2024
МоскваОнлайн