Для одной из ролей я получил пару документов от людей по электронной почте. Это не конфиденциальные данные, поэтому с электронной почтой все в порядке, но я бы хотел создать небольшой портал, где люди могли бы загружать файлы, и только когда они отправят все необходимые файлы, я получу уведомление о завершении запроса.
Независимо от содержимого, я хотел бы надежно хранить документы. Это также заставило меня задуматься о шифровании в целом для других моих нужд. Первоначально я смотрел на шифрование AES в MySQL, но общее мнение состоит в том, что это не очень хорошо, так как ключ легко доступен на сервере. Так что это заставило меня задуматься о шифровании с открытым / закрытым ключом.
Вот план, который я исследую, чтобы увидеть, сработает ли он или уже был выполнен, и я просто не могу найти стандартную реализацию:
- Я генерирую пару открытый / закрытый ключ. Открытый ключ отправляется на веб-сервер, закрытый ключ остается у меня на компьютере.
- Пользователь загружает файл через веб-страницу на мой веб-сервер через сайт https.
- Скрипт загрузки берет файл, шифрует его с помощью открытого ключа и сохраняет его в файловой системе или базе данных.
- По завершении я получаю уведомление и подключаюсь к серверу и загружаю файлы через SSH или другое зашифрованное соединение.
- Наконец, я локально расшифровываю файлы с помощью закрытого ключа и обрабатываю их по мере необходимости.
Какие-либо недостатки я пропускаю в этом сценарии? Или, если есть лучшие способы сделать это, кто-нибудь может указать мне правильное направление? Спасибо.