2013-01-13 3 views
4

저는 리튬에서 "쿠키"세션 어댑터를 사용하고 싶습니다. 사용자가 로그인하면 해시 된 비밀번호로 쿠키를 생성합니다. 이 쿠키가 있고 해시 된 암호가 db의 암호와 일치하면 자동으로 로그인합니다.리튬 세션에 비밀번호를 저장하는 것이 안전합니까?

안전한가요?


오케이, 저는 쿠키에 실제 해시가 있지만 암호화 된 해시를 갖는 것에 대해 이야기하는 것이 아닙니다. 아무도 그 해시가 어떻게 보이는지를 알기를 원하지 않습니다. 리튬은 "비밀"로 세션에 저장하는 모든 데이터를 암호화하는 "전략"을 가지고 있으므로 해시가 암호화됩니다. 기본적으로 리튬의 암호화가 충분한 지 묻습니다. 리튬을 다루는 사람 있습니까?

답변

3

해시 알고리즘에 따라 다릅니다. 당신의 해시를보다 안전하게 만들기 위해 소금을 사용
Safe Password Hashing

암호의 해시가 효과적으로 암호와 동일합니다 기억하십시오. 해시를 훔쳐간 누군가가 패스워드를 도둑 맞은 것처럼 사용자의 계정에 동일한 액세스 권한을 부여합니다. 따라서 은 쿠키 에 사용자 비밀번호의 해시를 저장하는 것이 좋습니다. 쿠키에 저장되지 않은 다른 정보 (예 : 2 단계 인증)는 입니다. Gabe이 부분은 Answer입니다.

또한 이러한 링크를 체크 아웃 할 수 있습니다
Is it advisable to store a hashed password in a cookie?
Secure hash and salt for PHP passwords

1

해시 된 암호와 그의 사용자 ID 또는 사용자 이름의 조합 인 경우에만. 암호만으로 여러 번 존재할 수 있으므로 고유하지 않습니다. 사용자 이름 또는 ID는 (일반적으로) 고유합니다.

1

번이 확실히 안전하지 않습니다. 쿠키에 암호 해시를 저장하면 해시 된 암호는 기본적으로 사용자의 암호와 동일 해집니다. 다른 사람이 그 쿠키를 어떻게 든 얻는다면, 그는 그 쿠키를 자신의 브라우저에서 설정할 수 있고, 다른 누군가로서 인증 될 수 있습니다.

1

리튬의 Encrypt 전략은 bcrypt를 사용합니다. 실제로는 bcrypt를 사용합니다. 실제로는 bcrypt를 사용합니다 (실제로는 scrypt를 제외하고는 알지만, PHP가 함께 제공 될 때 알려 주면 제 생각을 바꿀 것입니다).

암호의 해시를 전송하는 경우 비밀번호 자체를 전송할 수도 있기 때문에 암호화가 얼마나 중요한지는 중요하지 않습니다. 네가 이것을 원한다고 생각하는 이유를 생각할 수 없다.

+0

며칠 동안 사용자를 계속 로그인하려면 로그인 할 때 "remember me option"을 선택하십시오. – Elfy

+0

예, 아니오, 유효하지 않습니다. 구현중인 구성표가 어떤 종류 (예 : 항상 쿠키를 사용하는 로그인 또는 나를 기억하는지)가 아닐지라도 쿠키의 해시를 쿠키에 저장해야 할 필요가 없습니다. –

1

누군가 암호를 얻은 경우 암호화 된 암호 또는 암호화되지 않은 암호를 저장하는 방법에 관계없이 누군가 다른 사람으로 사이트에 액세스 할 가능성이 큽니다.

관련 문제