Какую стратегию шифрования я должен использовать - PullRequest
0 голосов
/ 09 декабря 2018

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

Я думаю об использовании crypto-js для выполнения этой работы.Он поддерживает много разных типов шифрования.Я смотрю на AES:

// Encrypt
var ciphertext = CryptoJS.AES.encrypt('my message', 'secret key 123');

// Decrypt
var bytes  = CryptoJS.AES.decrypt(ciphertext.toString(), 'secret key 123');
var plaintext = bytes.toString(CryptoJS.enc.Utf8);

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

Мои вопросы

  • Есть ли другой тип шифрования, который бы лучше соответствовал требованиям?примечания могут быть большими кусками текста.Хорошо ли в этих случаях AES?
  • Имеет ли эта стратегия смысл?Очевидно, Firestore уже зашифровывает данные, но, поскольку здесь нет логина, любой пользователь с идентификатором объекта может прочитать его (а администратор - я - может залезть в базу данных и прочитать конфиденциальные данные)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...