2015-02-25 1 views
0

Я пытаюсь создать приложение, которое хранит пользовательскую информацию на стороне клиента в localstorage. Я шифрую данные с паролем, заданным пользователем.дешифровать данные с помощью мастер-ключа, а не ключа, используемого для шифрования

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

Я использую sjcl для шифрования данных. Есть ли способ шифрования данных с помощью двух паролей?

Что было бы идеальным образцом для этого сценария ??

ответ

1

Обычный подход для этого называется «ключевым депонированием». В принципе, это означает предоставление копии ключа кому-то, кому вы доверяете.

Если вы не доверяете никому,, то ключевое условное депонирование не для вас. Ваш единственный вариант - убедиться, что вы не потеряете единственный ключ. И это довольно распространенный подход. Многие продукты, которые рекламируют безопасное хранилище, подчеркивают этот момент. В качестве примера см. Менеджер паролей Брюса Шнайера «PasswordSafe» и альтернативу DropBox, ориентированную на безопасность, LaCie, «Wuala».

Приняты методы шифрования данных, чтобы их можно было дешифровать с помощью любого из нескольких паролей. Но я не понимаю, как это помогает; если вы не можете запомнить один пароль, как вы помните два?

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

 Смежные вопросы

  • Нет связанных вопросов^_^