Spring Security에서 사용하는 암호화 기법
1. BCryptPasswordEncoder (Spring에서 가장 많이 사용)
2. ScryptPasswordEncoder
3. Argon2PasswordEncoder
1. BCryptPasswordEncoder
특징:
- 안정성: 2004년 출시 이후 오랜 기간 검증되어 안정적인 암호화 기법으로 자리 잡았습니다.
- 빠른 처리 속도: 다른 기법들에 비해 비교적 빠른 처리 속도를 제공합니다.
- 적절한 강도: 기본 설정 강도는 적절한 수준이며, 필요에 따라 강도를 조절할 수 있습니다.
- 널리 사용되는 표준: Spring Security를 비롯한 다양한 프레임워크 및 라이브러리에서 기본 암호화 기법으로 사용됩니다.
장점:
- 안정적이고 검증된 기법
- 빠른 처리 속도
- 적절한 강도
- 널리 사용되는 표준
단점:
- 최신 기법들에 비해 보안성이 다소 낮을 수 있습니다.
- 메모리 공격에 취약할 수 있습니다.
2. ScryptPasswordEncoder
특징:
- 메모리 공격 방지: 메모리 공격에 강력한 방어력을 제공합니다.
- 높은 병렬 처리 성능: 병렬 처리에 최적화되어 있어 여러 CPU 코어를 활용하여 빠른 처리 속도를 제공합니다.
- 사용자 맞춤 설정: 사용자의 하드웨어 성능에 맞춰 난이도를 조절할 수 있습니다.
장점:
- 메모리 공격에 강력한 방어력
- 높은 병렬 처리 성능
- 사용자 맞춤 설정 가능
단점:
- BCryptPasswordEncoder보다 처리 속도가 느릴 수 있습니다.
- 일부 환경에서는 설정이 복잡할 수 있습니다.
3. Argon2PasswordEncoder
특징:
- 최신 보안 기준 준수: 최신 해킹 공격 방식을 고려하여 설계된 안전한 암호화 기법입니다.
- 다양한 공격 방지: 메모리 공격, 타이밍 공격, GPU 공격 등 다양한 공격 방식에 강력한 방어력을 제공합니다.
- 향후 지속 발전: 지속적인 연구와 개선을 통해 높은 보안 수준을 유지합니다.
장점:
- 최신 보안 기준 준수
- 다양한 공격 방지
- 향후 지속 발전
단점:
- BCryptPasswordEncoder 및 ScryptPasswordEncoder보다 처리 속도가 느릴 수 있습니다.
- 비교적 새로운 기술이기 때문에 일부 환경에서 호환성 문제가 발생할 수 있습니다.
선택 가이드:
- 처리 속도와 안정성을 중시하는 경우: BCryptPasswordEncoder
- 메모리 공격 방지가 중요한 경우: ScryptPasswordEncoder
- 최신 보안 기준을 만족하고 미래 지향적인 솔루션을 원하는 경우: Argon2PasswordEncoder
카페 게시글
스프링(Spring)
Security
Spring Security 알고리즘
주인장
추천 0
조회 4
24.06.05 14:41
댓글 0
다음검색