Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

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

21.05.23 19:24
Re: Как лучше хранить "секретную" инфу в базе
 
MrSanders коренной житель
в ответ AlexNek 20.05.23 14:45
наполовину

А так?

Действующие лица: пользователь А Па, пользователь Б Пб. Ресурс Р1. Хранилище зашифрованных ресурсов ХР, хранилище зашифрованных ключей ХК.

Публичный ключ Па: ПубКПа, приватный: ПривКПа. (аналогично для Б)

Ключ Р1: КР1 (а тут пусть будет пока синхронное)


Па: хочу создать жутко секретную запись с телефоном любовницы Р1. Жмакает кнопку на клиенте.

Клиент: бляааа... Эй, ХР, у тебя ресурс Р1 есть?

ХР: не-а

Клиент: да что б ему... Делает новый КР1, шифрует КР1 в ЗКР1_a. Эй, ХК сохрани новый ключ для ресурса Р1, для пользователя Па.

ХК: да пажалста (Па известен системе). Сохраняет ЗКР1_а

Клиент: Так, юзер, вводи свои данные.

Па: вот

Клиент: шифрует Р1 ключом КР1, эй, ХР, сохрани-ка ресурс. Владелец: Па. Передаёт ЗР1 на ХР.

ХР: ок, сохранил.

Клиент: забывает КР1, ЗКР1_а, ЗР1 и Р1. Э, юзер, всё сохранил!

Па: надо дружбану показать, по приколу. Слышь, клиент, расшарь телефон Р1 с Пб.

Клиент: ХК, ты Пб знаешь? Дай его публичный ключ.

ХК: на. Возвращает ПубКПб

Клиент. Ага. И ЗКР1_а тоже дай.

ХК: на

Клиент: юзер, вводи свой сверхсекретный ПривКПа. Смотри, не ошибись.

Па: 1234

Клиент: угу. Расшифровывает ЗКР1_а, получает КР1. Берёт ПубКПб и делает ЗКР1_б. ХК, получи ключ.

ХК: ЗКР1_б сохранён


Всё. Теперь Пб сможет тоже прочитать или записать Р1. Аутентификацию и авторизацию пока не рассматриваем.

 

Перейти на