🚫 문제 발생
- 회원가입 후 로그인 시도 시 서버 내부 오류 발생
- 테스트 로그
Resolved Exception:
Type = io.jsonwebtoken.security.WeakKeyException
🔍 원인
- 에러 메시지 : 사용 중인 비밀키가 선택한 알고리즘의 보안 요구 사항을 충족하지 못함
- JJWT 라이브러리는 선택한 서명 알고리즘에 따라 최소 키 길이를 강제
- 설정된 알고리즘 : SignatureAlgorithm.HS512
- 실제 제공된 키 : 32 바이트 키
- 알고리즘은 64 바이트를 원하는데 키는 32 비아티이면서 보안 취약점으로 판단되어 예외 발생
✅ 해결
해결 방법은 두 가지였다:
1️⃣ 키를 64바이트 이상으로 확장
2️⃣ 알고리즘을 HS256으로 조정
알고리즘 하향 조정
내가 선택한 해결
// TokenProvider.java 수정
.signWith(key, SignatureAlgorithm.HS256) // HS512에서 변경
이유:
- 현재 키 관리 방식이 환경 변수 기반
- 32바이트 랜덤 키로 충분한 보안 강도 확보 가능
- HMAC-SHA256은 실무에서 널리 사용됨
- 불필요한 알고리즘 상향은 관리 복잡도 증가
'Project > MetaSNS' 카테고리의 다른 글
| CORS 설정 (0) | 2026.03.03 |
|---|---|
| 이미지 업로드 시 500 에러 (로컬 로그 없음) (0) | 2026.03.03 |
| /login?error로 리다이렉트되는 현상 (0) | 2026.03.03 |
| Hibernate Dialect 오류 발생 (0) | 2026.03.03 |
| Dockerfile과 docker-compose.yml (0) | 2026.03.03 |
