이 생성기에 대해
이 프리셋은 URL에 안전한 고엔트로피 값을 HMAC JWT 서명용으로 생성합니다. 이는 개발자 시크릿이며 사용자 비밀번호가 아니며 브라우저를 떠나지 않습니다.
이 프리셋은 url-safe 모드로 시작하여 한 번에 10개의 독립적인 결과를 생성합니다. 모든 표시 설정은 조정 가능하며, 생성된 값은 PwdGen로 전송되지 않습니다.
사용 시기
- 이 특정 사용 사례에 대한 새 자격 증명 생성
- 재사용되거나 취약한 비밀번호 교체
- 안전한 저장 전에 로컬에서 값 생성
알파벳 크기, 엔트로피 및 무차별 대입 가정
이론적 엔트로피 상한은 H = L × log2(A)로 계산됩니다. 여기서 L은 생성된 길이, A는 현재 허용된 문자 수입니다.
| 길이 | 알파벳 | 검색 공간 | 엔트로피 상한 | 초당 100억 추측 시 평균 |
|---|---|---|---|---|
| 64 | 64 | 6464 | 384.0 비트 | 6.24e97 years |
중요: 이는 균일하게 무작위인 값에 대한 수학적 추정치입니다. 필수 위치, 제한된 개수, 반복된 비밀번호, 사전 패턴, 유출된 자격 증명 및 실제 비밀번호 해싱 비용으로 인해 결과가 크게 달라질 수 있습니다. 이 수치는 보안을 보장하지 않습니다.
JWT 서명 비밀 배포 지침
HS256의 경우 최소 256비트의 균일하게 무작위인 키 자료를 사용하십시오. HS384 및 HS512는 다른 SHA-2 출력 크기를 사용하지만, 더 긴 알고리즘을 선택해도 약한 검증, 유출된 키 또는 알고리즘 혼동 버그를 복구하지 못합니다.
동등한 터미널 및 Node.js 생성
openssl rand -hex 32 import { randomBytes } from 'node:crypto';
const jwtSecret = randomBytes(32).toString('hex'); 저장 및 순환
- 서명 키를 Git, 프론트엔드 번들, URL, 분석 및 애플리케이션 로그에 보관하지 마십시오.
- 비밀 관리자, Vault, KMS 또는 보호된 환경 변수를 사용하십시오.
- 키를 순환할 때 제어된 kid 전략을 사용하십시오.
- 검증자가 공개 키만 보유해야 하는 경우 RS256 또는 ES256를 선택하십시오.
Hex, Base64 및 Base64URL는 인코딩일 뿐 암호화가 아닙니다. 보안은 무작위 바이트와 서명 키 보호 방식에서 비롯됩니다.
결과를 안전하게 사용하는 방법
- 대상의 현재 비밀번호 규칙 확인
- 고유한 결과 사용 및 가능한 경우 MFA 활성화
- 복구 코드를 비밀번호와 별도로 저장
생성 및 개인정보 보호 방법
프리셋은 무작위 선택을 위해 브라우저 Web Crypto API를 사용합니다. 재생성, 설정 변경, 선택 및 복사는 생성된 자격 증명을 PwdGen로 전송하지 않습니다. 비밀번호 크랙 시간 추정기도 로컬에서 실행되며 추정치일 뿐 보장되지 않습니다.
JWT 시크릿 생성기 FAQ
HS256 JWT 시크릿은 얼마나 길어야 하나요?
HS256에 대해 최소 256비트의 균일한 임의 키 자료를 사용하십시오. 이 페이지는 64자 Base64URL 알파벳 값을 생성하며, 균일하게 생성될 때 더 큰 이론적 검색 공간을 제공합니다.
JWT 시크릿을 환경 변수에 저장해야 하나요?
환경 변수는 소스 코드보다 안전하지만 프로세스 검사, 로그 또는 배포 도구를 통해 여전히 유출될 수 있습니다. 프로덕션 시스템의 경우 관리형 시크릿 저장소 또는 KMS가 더 좋습니다.
RS256 또는 ES256를 HMAC 대신 언제 사용해야 하나요?
검증자가 개인 서명 키를 소유하지 않아야 하거나 여러 서비스가 공개 키 검증이 필요한 경우 비대칭 서명을 사용하십시오. 개인 키를 보호하고 제어된 키 식별자 전략으로 키를 순환하십시오.