Стоит ли шифровать данные в современнном web-приложении (персональный менеджер)?
Добрый день,
В свете последних событий, когда все озабочены зашифрованностью своих данных на серверах, возник и у меня такой вопрос - целесообразно ли на сайте (в данном случае, это менеджер задач) добавлять функцию хранения шифрованых данных, когда ключ знает только пользователель.
Данную идею я увидел на одном из сайтов, который хранит пароли - AES-256 шифрование на стороне Javascript, данные отправляются на сервер уже зашифрованными, ключ никогда не запоминает система, а получив данные с сервера, система также расшифровывает данные в браузере, запрашивая ключ.
Итак, вопрос: целесообразно ли добавлять данную возможность для менеджера задач, или это покроет маленький процент пользователей и усилия не стоят того, и только будет раздражать?
Буду рад любому совету по данной теме, или отсылке к статьям и модным тенденциям.
Спасибо.
Здравствуйте,
цель не уйти от атак, а предоставить пользователям возможность сохранять свои задачи в зашифрованном виде, чтобы они знали, что только они могут прочесть свой контент, и даже администратор сайта имея доступ к БД не сможет этого сделать.
Тут именно вопрос в том, "а нужна ли эта фича с шифрованием на клиенте и записи зашифрованных данных уже на бекенд"?
m0rd Я понимаю ваше недоумение :) Захотелось мне узнать мнение людей, все-таки как то причастных к IT. Действительно ли это модно сейчас, и стОит ли на это тратить время.
Да хотя бы - будет ли данная фича выделять как-то сайт из множества других, или это никому не надо впринципе..?
Макс: у каждого усложнения должна быть цель и я так понял, ваша цель "пользователь должен знать". Но на самом деле это не цель, а, простите, "г-но". Скорее всего ваша цель в привлечении новых пользователей, повышении конверсии или уменьшении отказов существующих.
Теперь подключаем бизнес- логику и пробуем ответить на вопросы:
1) Сколько в деньгах будет стоить усложнение? (часы работы программиста с учетом удорожания введения новых фич * стоимость часа)
2) Сколько денег это принесет вам?
Повысит ли это конверсию? Или никак не повлияет на нее? Есть ли у вас потери в пользователях, которые испугались доверять свои данные сервису и поэтому ушли?
Проведите customer development, опросив 50-100 пользователей о том, волнует ли их безопасность, только не спрашивайте "хотите ли вы эту фичу?", спросите какие варианты угода данных они видят, дайте им выговориться без корректировки потока мыслей. Вдруг откроется что все искренне верят вашему серверу, а вот свой компьютер подозревают, тогда нужно подумать над другой фичей, которая их успокоит.
3) После 2 и 3, узнайте, окупается ли эта фича, может есть аналоги "дешевле"? Например, подключить свой сервис к какому-нибудь безопасному прокси или нанять аудит и повесить у себя сертификационные знаки?
Макс: Ну давайте поразмышляем. Шифровать сейчас модно. Уже существуют сервисы, которые предлагают хранение пользовательских данных в зашифрованном виде. Насколько эта фича будет отличать ваш сервис от других: погуглив по фразе "онлайн менеджер задач", не нашел упоминания о шифровании данных во всяких обзорах "топ 10 менеджеров задач". Возникает два вопроса:
1) Может до этого никто не додумался?
2) Может это никому не надо?
Я больше склоняюсь ко второму вопросу.
Ну а по поводу "стОит ли на это тратить время" вам ответил Матвей
Матвей Моя цель в привлечении новых клиентов, т.к. показалось, что данная функция будет заметно отличать мой сайт от других, но судя по высказавшимся - это никому не нужно :) Спасибо за советы, видно что вы в теме.
m0rd Хотелось бы думать что до этого никто не додумался, но по отзывам - это банально никому не надо. Спасибо за участие.
Спасибо за комментарий, очередной голос в пользу "не делать".
1. А почему защищенный не получится? Дело то нехитрое зашифровать на клиенте и сохранить зашифрованное на бекенде. Повторюсь, ключ знает только пользователь и никогда не сохраняется он в БД.
2. > "Бесполезное шифрование только добавит багов" - прокомментируйте пожалуйста подробнее, почему бесполезное. Наверно я ошибся в предположениях, но думал что люди помешаны сейчас на том, что бы их контент никто не мог прочитать, и такое шифрование только помогло бы в этом.
Макс: Бесполезное потому что, если вы захотите воровать эти данные, то в любой момент сможете изменить логику работы сервиса для конкретного пользователя (не будет же он каждую минуту проверять какие данные переслались), для скрытия же от чужих глаз есть https.
Макс:
>Повторюсь, ключ знает только пользователь
И он его удачно сольет, если не понимает элементарных правил безопасности - у остальных хватит мозгов ничего секьюрного в сети не хранить вообще.
Нет смысла! Если в задачах используете секретные данные (к примеру банковские), используйте локальный сервер. Каждый шифр имеет свой алгоритм дешифрования.