비밀번호 재설정에 대한 알고리즘


비밀번호 재설정에 대한 알고리즘

안녕하세요. 샌드위치 입니다.

기존 회원 데이터베이스를 새로운 회원 데이터베이스로 마이그레이션 하면서, 비밀번호 적용 알고리즘을 바꾸고자 했습니다. 기존에 SHA-512로 암호화가 되어 있는 기존 데이터베이스의 비밀번호를 password_hash(); 함수로 암호화 하도록 변경하는 작업을 진행 하고자 했습니다.

SHA-512로 암호화도 훌륭하지만 password_hash(); 를 사용하려는 이유는 비밀번호 암호화에 더 특화 되어 있어 보안적으로는 더 안전하다고 생각하기 때문 입니다. SHA-512로 암호화 되는 암호의 경우 만약 1234를 암호화 한다면 항상 같은 암호화된 값이 생성 됩니다.

하지만 password_hash();로 1234를 암호화 한다면 매번 다른 암호화 된 값이 생성 됩니다. 즉, 같은 비밀번호라도 암호화된 값이 전부 다르다는 것 입니다.

고유성이 존재하며, 해시를 역추적하기 어려워 레인보우 테이블 공격에도 비교적 안전하게 관리를 할 수가 있습니다. 더군더나 해당...



원문링크 : 비밀번호 재설정에 대한 알고리즘