русский
Germany.ruForen → Архив Досок→ Programmierung

Как лучше хранить "секретную" инфу в базе

03.06.23 10:34
Re: Как лучше хранить "секретную" инфу в базе
 
Бесконечный цикл завсегдатай

Попробую сформулировать проблему.


Задача 0 (мотивация).

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

Решение. Шифровать файлы при аплоаде, и дешифровать при скачивании. Ключ шифрования хранить на компе, на стике, или в голове.


Задача 1.

Проблема. Как расширить решение Задачи 0 на случай многих пользователей, каждый со своими файлами, которые они могут расшарить с другими пользователям. Пользователь может дать право на отдельый файл, а потом отозвать это право.

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

Примеры несколько более конкретных решений:

Решение 1: Централизованная система, которой мы доверяем

Решение 2: Каждый юзер управляет своими ключами и раздает их по запросу другим. Напрмер, через Телеграм e2e или емейл или API.


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

 

Sprung zu