Table of Contents
Hashing은 민감한 정보를 보호하기 위해 데이터 보안에 사용되는 기본 기술입니다. 그러나, improper 구현은 취약점으로 이어질 수 있습니다. 이 문서는 해싱을 구현하고 그(것)들을 피하는 방법에 대한 지도를 제공합니다.
Weak Hash 기능 사용
가장 빈번한 오류 중 하나는 MD5 또는 SHA-1과 같은 중단되거나 중단 된 해시 함수를 선택하고 있습니다. 이러한 알고리즘은 충돌 공격에 취약합니다. 데이터 무결성을 손상시킬 수 있습니다. 더 나은 보안을 위해 SHA-256 또는 SHA-3와 같은 강력한 알고리즘을 사용하는 것이 좋습니다.
소금물
각 사용자마다 독특한 소금이 없는 구운 해시드 암호는 무지개 테이블 공격의 위험을 증가시킵니다. 소금은 각 해시에 무작위성을 추가하고, 사전 처리 된 공격 방법을 효과적인합니다. 항상 해시하기 전에 모든 암호에 대한 독특한 소금을 생성합니다.
Hashing의 잘못된 구현
암호 저장을 위한 빠른 해시 기능을 사용하는과 같은 해싱 improperly를 실행하는 것은, 약한 안전 할 수 있습니다. 그것은 bcrypt, scrypt, 또는 Argon2 같이 전문화한 암호 해싱 산법을 이용하기 위하여 베스트 입니다, 이는 소금 힘 공격에 느린 그리고 저항하기 위하여 디자인됩니다.
Common Mistakes 요약
- MD5 또는 SHA-1과 같은 약한 해시 함수를 선택
- 각 해시에 독특한 소금을 추가하는 데 실패
- 비밀번호 저장을 위한 빠른 해시 알고리즘을 사용하여
- 여러 해체를 가로 질러 소금을 헹구기
- 의외된 해시 관행을 업데이트하지 않음