최근 SHA256을 사용하여 소금에 절인 암호에 대한 암호 해시를 생성하는 방법에 대해 알고 있습니다. 소금에 절인 암호 및 보안에 대해 조금 읽은 후에, .NET에서 rfc2898derivebytes
및 passwordderivebytes
클래스를 보았습니다. rfc2898derivebytes
클래스를 일반적인 해싱 메서드 (소금 생성, 소금에 절한 암호 생성, 둘 다 db에 저장)보다 사용하면 어떤 이점이 있습니까?Rfc2898DeriveBytes 대 Sha2 암호 해시 생성
3
A
답변
4
SHA256과 같은 표준 해시는 최신 하드웨어에서 매우 빠르게 생성 될 수 있습니다.
이것은 일반적으로 좋은 것으로 간주되지만 단점이 있습니다. 비밀번호를 해킹하려고 시도하는 악의적 인 사람도 해시를 매우 빠르게 생성 할 수 있습니다. 즉, 무작위로 강제로 쉽게 비밀번호를 찾을 수 있습니다. 이러한 bcrypt 및 PBKDF2 (일명 Rfc2898DeriveBytes
) 등
키 유도 알고리즘은 표준 해시 알고리즘을보다 많이 느린이다. 이들은 내부적으로 표준 해시 알고리즘 인 Rfc2898DeriveBytes
의 SHA1을 사용하지만 파생 키를 생성하는 데 수천 번 반복합니다.
반복 키 유도 알고리즘을 사용하여 "해시"를 생성하려면 컴퓨터가 더 많은 작업을해야하지만 나쁜 사람은 암호를 해독하려고해도 많은 노력이 필요합니다. 이것은 좋은 일입니다.
Rfc2898DeriveBytes
클래스를 사용하면 specify the number of iterations to use (기본값은 1,000이라고 생각합니다.)을 허용합니다. 반복 횟수가 많을수록 공격자가 무차별 공격을 통해 암호를 해독하는 것이 더 어려워집니다.
관련 문제
- 1. 해싱 암호 대 암호 화
- 2. Rfc2898DeriveBytes, 폐기 대 PasswordDeriveBytes하지만 빠른 방법은
- 3. java에서 openssl처럼 암호 해시 생성 passwd -1
- 4. php sha2() usage
- 5. 해시 톰캣 암호
- 6. 비교 해시 엑셀 암호
- 7. .NET 2.0에서 암호 해시?
- 8. MVC 암호 속성 해시
- 9. 암호 해시 및 AuthComponent
- 10. 암호 해시 메커니즘
- 11. 장고의 암호 해시
- 12. 해시 암호 비교
- 13. 암호 암호화 : PBKDF2 (sha512 x 1000 사용) 대 Bcrypt
- 14. Java에서 RFC2898DeriveBytes 구현
- 15. 해시 트리 대 해시 테이블
- 16. ASP.NET 암호 해시 및 암호 소금
- 17. C#에서 Unix 스타일 MD5 암호 해시 생성
- 18. 봄 보안 암호 해시 + 소금
- 19. MySQL에 해시 된 암호 저장
- 20. 해시 된 암호 저장 - 안전합니까?
- 21. 드루팔 (Drupal 7) 암호 해시
- 22. 데이터베이스에 SHA512 암호 해시 저장
- 23. 어떤 암호 해시 함수를 사용해야합니까?
- 24. 해시 코드로 변환하여 암호 해독
- 25. SecureString 대 해시
- 26. 숫자 전용 해시 또는 암호 해독
- 27. 웹 응용 프로그램에서 암호 해시 및 해시 구현을위한 기본 프로세스
- 28. 해시 된 암호 및 엔티티 프레임 워크
- 29. 소금 및 해시 생성 질문
- 30. 해시 테이블 대 해시 목록 vs 해시 트리?
감사합니다. 문제를 해결합니다. PBKDF2 생성이 생성 (사용자 계정 생성) 중에 느리거나 사용자 로그인을 확인하기 위해이 방법을 사용할 예정입니까? – Bahamut
생성 된 * 및 * 로그인 중에 (저장된 키와 비교하기 전에 입력 된 비밀번호로 키를 다시 생성해야하기 때문에) 속도가 느려집니다. PBKDF2와 같은 반복 알고리즘을 사용하면 트레이드 오프가 필요합니다. 비록 사용자가 무엇인지 결정할 수는 있지만 (시스템의 부하, 사용자의 수락 준비 지연 등으로 결정할 수 있음) 설 수있는 최대 반복 횟수를 사용하십시오. – LukeH
맞습니다. 설명에 대한 결론은 다음과 같습니다. PBKDF2는 수천 번의 작업을하기 때문에 SHA256 _only_보다 낫습니다. 내 컴퓨터에서 SHA256 계산은 약 5 배 빨라서 PBKDF2 100K 대신 SHA256 500K라고 말하면 똑같은 보안을 유지할 수 있습니까? 감사! – Mar