Можно ли хранить ключи шифрования в учетной записи Google пользователя при использовании Firebase Auth? - PullRequest
0 голосов
/ 16 сентября 2018

У меня есть приложение, работающее в сети Firebase, с базой данных в реальном времени, и авторизация с Google в качестве единственного поставщика аутентификации. Я хочу, чтобы данные были доступны для чтения только пользователю, поэтому, хотя я понимаю, что база данных Realtime обеспечивает безопасную передачу и хранение на сервере, я не хочу, чтобы я мог просматривать информацию о пользователях также и в моей консоли Firebase.

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

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

Моя теория

Если у каждого пользователя есть отдельный ключ шифрования для своих данных, и я могу сохранить его в какой-то части «данных веб-приложения» своей учетной записи, я могу сохранить его ключ (зашифрованный) в своей учетной записи. Поэтому мое приложение и сервер не хранят свои ключи, и пользователю не нужно явно сохранять или запоминать что-либо, и все же ключ остается исключительно в их распоряжении (через свою учетную запись Google). Однако я отвечаю за хранение ключа для расшифровки их ключа для моей базы данных.

Мой вопрос

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

Спасибо!

1 Ответ

0 голосов
/ 17 сентября 2018

Похоже, данные приложения Google Drive предлагают потенциальное решение, делающее этот метод возможным.https://developers.google.com/drive/api/v3/appdata

Запрашивая область действия https://www.googleapis.com/auth/drive.appdata во время OAuth, приложение может создать папку данных приложения на Google Диске пользователя.Кажется, что ключ шифрования для пользовательских данных может храниться там, без возможности их видимого / взлома пользователем, по крайней мере, в его владении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...