Есть несколько проблем с этой схемой:
- если пароль ненадежен, то и ключ не будет надежен;
- он использует неназванную процедуру получения ключа, но, поскольку он не требует соли или фактора работы, это, вероятно, не усиление PBKDF (функция получения ключа на основе пароля) для устранения слабых мест в паролях;
- если изменится генератор случайных чисел или генератор ключей, то будет рассчитан неверный ключ;
- невозможно изменить пароль, что должно быть возможно для хорошего управления паролями;
- он работает для одного ключа, но не для нескольких ключей (хотя для этого легко изменить протокол).
В конце концов, если имя пользователя уникально, вы получите уникальные ключи, предполагая, что ваш метод получения ключа хорош. И если ваш пароль достаточно надежен, получить ключ будет сложно. Обратите внимание, что в основном это означает, что пароль должен быть очень сложным, что, в свою очередь, означает, что менеджер паролей, вероятно, должен его запомнить. И есть более гибкие и безопасные варианты защиты ключа, если такое устройство все равно требуется.
Так что это не небезопасно само по себе, но довольно негибко и легко испортить. И тут еще требуется запомнить очень надежный пароль.