웹 개발

bcrypt vs argon2

용찬 2024. 3. 5. 11:35

보다 강한 보안성과 빠른 처리 속도를 위해 argon 사용

 

bcrypt


blowfish 해시 함수 기반의 해시 함수
대표적으로 안전하고 일반적으로 사용되는 해시 함수 中 하나

장점

  1. 오랜 기간 사용되어 안전성이 검증되었고 많은 프로젝트에서 사용됌, 안정성
  2. 상대적으로 오래된 알고리즘으로써 구형 시스템에서 잘 동작함,  호환성

단점

  1. 의도적인 지연을 포함하여 비밀번호 해싱을 진행, 느린 계산 속도
  2. 적은 메모리 사용량으로 인해 GPU를 사용한 공격에 취약

argon2


최신 해시 함수 中 하나로 2015년에 나온 비밀번호 해시 함수

 

장점

  1. 병렬처리 및 고성능 하드웨어에 안전하게 동작
  2. 하드웨어의 발전에 대응할 수 있도록 설계, 적응형 해시 함수
  3. 메모리 사용량을 조절해 부르트 포스 및 레인보우 테이블 공격을 어렵게 만듦, 메모리 사용량 조절 가능

단점

  1. bcrypt보다 상대적으로 더 많은 계산을 필요로 함, 계산 비용이 높음
  2. 리소스 사용에 제한이 있는 환경에서 부적합, 리소스 사용량이 큼
  3. 최근에 등장한 알고리즘으로 일부 구형 시스템에서는 지원 및 호환성 문제가 있을 수 있음, 구형 시스템 호환차이점

 

 

차이점
  bcrypt argon2
보안 안전하지만 argon2 대비 다소 아쉬운 보안을 제공 bcrypt 대비 더 강력한 보안을 제공
병렬처리 대응하기 어려움, 더 적은 메모리를 사용 대응이 가능함, 고메모리 요구에 강점을 가짐
호환성 더 오래된 시스템에서 잘 동작, 호환성이 좋음 최근에 나와 일부 구형 시스템에서는
호환에 문제가 있을 수 있음