해시 알고리즘 SHA256과 HMAC SHA256 차이
- IT
- 2023. 3. 23.
SHA256과 HMAC-SHA256 해시 알고리즘은 암호 생성과 인증 방식에 차이가 있습니다.
SHA-256 vs HMAC-SHA256
두 알고리즘 모두 보안 해시 알고리즘(SHA, Secure Hash Algorithm)을 사용해서 문자를 암호화하는 데 사용됩니다.
SHA-256은 임의 길이를 입력받아 256비트로 고정된 해시 값을 생성합니다. 주로 데이터 무결성 검사, 비밀번호 생성, 디지털 서명 등에 사용됩니다.
HMAC-SHA256은 HMAC과 SHA256이 결합된 형태입니다. HMAC이란 해시 기반 메시지 인증 코드를 의미합니다. 평문을 해시하는 것에서 그치지 않고 추가로 신뢰성과 무결성을 확인하는 방식으로 이해할 수 있습니다.
예시) SHA-256과 HMAC-SHA256으로 저장된 비밀번호
두 암호화 구조 모두 해시 알고리즘을 사용하는 것은 동일하지만 HMAC-SHA256으로 저장된 비밀번호는 SHA-256으로 저장된 비밀번호와 다릅니다.
SHA-256을 사용해서 DB에 패스워드를 저장하는 흐름은 아래와 같습니다.
평문 입력 → SHA 256 → 해시된 암호 DB에 저장
HMAC-SHA256을 사용해서 DB에 패스워드를 저장하는 흐름은 아래와 같습니다. 이 과정에서는 평문 비밀번호를 비밀 키와 결합해서 MAC을 생성합니다.
평문 입력 + 비밀 키 전달 → HMAC-SHA256 → 생성된 MAC DB에 저장
여기서 비밀 키는 사용자 별로 고유하게 부여됩니다. 비밀 키는 서버와 클라이언트 모두에 저장되고 로그인 등의 인증이 발생할 때 사용됩니다. 비밀 키가 없으면 MAC을 생성할 수 없기 때문에 단순히 SHA-256으로 해시하는 것보다는 더 안전하다고 볼 수 있습니다.
반응형
'IT' 카테고리의 다른 글
인텔 CPU 보는법 (Core, Xeon 시리즈 정리) (0) | 2023.04.03 |
---|---|
스레드 풀(Tread Pool)이란? (0) | 2023.03.26 |
MS 재배포 패키지란? 설치 방법 (0) | 2023.03.23 |
윈도우10 파일 탐색기 시작 위치 변경 방법 (0) | 2023.03.22 |
Notepad++를 사용하는 이유 (0) | 2023.03.20 |