Halite - Достаточно ли безопасно использовать пароль Argon2i с солью из БД для получения ключа? - PullRequest
0 голосов
/ 25 сентября 2018

Я использую ключ, который хранится в базе данных и используется для дешифрования данных из базы данных с помощью Halite.Чтобы получить этот ключ, я подумал об использовании Argon2i, хешировании пароля и сохранении его в БД вместе с солью.

У меня есть пользователи, которые вводят общую парольную фразу (это в основном второй логин посленачальный логин для своей учетной записи) затем используйте halite

public function login_secure(Request $request)
{
    $form = $this->createForm(LoginSecureType::class);

    $form->handleRequest($request);

    if ($form->isSubmitted() && $form->isValid()) {
        $view = $form->getData();

        $options = [
            'memory_cost' => $ram,
            'time_cost' => $time,
            'threads' => $threads
        ];

        //Only one row in the database table
        $encryption = $this->getDoctrine()
            ->getRepository(Encryption::class)
            ->find(1);

        if (password_verify($view->getPassword(), $encryption->getPassword())) {
           $encryption_key = EncryptionKey::deriveFromPassword(
           $view->getPassword(),
           $encryption->getSalt()

           //TODO: Store $encryption_key in session variable
        );
    }
}

Это безопасный способ хранения $ encryption_key?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...