Является ли хорошей практикой ввод приватного ключа через терминал на старте приложения(сервера), а не через файл?
Является ли хорошей практикой ввод приватного ключа (для RSA) через терминал на старте приложения(сервера), а не через файл ? Так как это должно устранять одну потенциальную брешь - возможность атакующего каким-то способом получить ключ, используя файловую систему. Ну и в этом случае ключ будет храниться только в памяти сервера, а не в памяти и файловой системе
Ну а физически сам ключ может быть, например, на флешке
Если ключ физически будет на флешке, то в момент запуска все равно нужно его вставить в сервер и он будет на файловой системе. А если отключить флешку, а приложение нужно срочно перестартовать - у тебя это не получится сделать удаленно.
Если у тебя есть опасения по поводу приватного ключа, сгенерирую ключ с passphrase, оно для этого и придумано
Ещё в голову пришла мысль: ведь даже с passphrase не выйдет сделать так, чтобы сервер (при острой надобности) рестартовал полностью автоматизированно ? Хотя, наверное, можно поднять 2 приложения: KeyStorage (довольно глупый демон, который (вероятнее всего) не может отвалиться и который будет раздавать ключи, правда тут тоже нужно будет продумать, чтобы атакующий не смог с ним взаимодействовать) ну и сам Целевой сервер, который на старте будет просить ключ у KeyStorage. Хотя с KeyStorage выглядит опасно, может быть, можно как-то через shared_memory сделать, чтобы, когда сервер рестартовал, у него был захардкожен указатель на память, где лежит ключ