신뢰 센터
보안 및 생성 방법론
비밀번호 생성기의 기술적 세부 사항, 위협 경계, 무작위성 처리 및 재현 가능한 검증 방법.
무작위성 소스
생성기는 crypto.getRandomValues()에서 암호학적으로 강력한 값을 요청합니다. Math.random()는 암호화 용도로 지정되지 않았으므로 절대 사용하지 않습니다. Web Crypto 사양은 운영 체제에서 일반적으로 제공하는 고품질 엔트로피로 시드된 CSPRNG를 설명합니다. 브라우저와 운영 체제가 기본 제공자를 선택하며, PwdGen은 모든 호출이 CPU 하드웨어 엔트로피 소스를 직접 읽는다고 주장하지 않습니다.
무작위 인덱스는 리젝션 샘플링을 사용합니다. 알파벳 크기의 가장 큰 완전 배수보다 큰 값은 모듈로 연산 전에 폐기되어, 직접 randomValue % alphabetSize 매핑이 도입할 수 있는 편향을 방지합니다.
문자 범위 및 셔플
생성기는 먼저 활성화된 각 소스에서 하나의 문자를 선택합니다. 나머지 위치는 결합된 풀에서 채운 후 암호학적으로 구동되는 Fisher-Yates 셔플을 수행합니다. 유사 문자 및 모호한 문자에 대한 필터는 선택 전에 적용됩니다.
데이터 흐름
생성된 값은 현재 페이지 메모리와 표시된 결과 노드에만 존재합니다. URL, 쿠키, 로컬 저장소, 세션 저장소, 서버 로그 또는 빌드 아티팩트에 기록되지 않습니다. 로케일 기본 설정은 로컬 저장소와 기능 쿠키에 저장되는 유일한 애플리케이션 기본 설정입니다.
위협 모델 및 한계
이 설계는 웹사이트가 생성된 비밀번호를 의도적으로 수집하는 것을 방지합니다. 사용자의 기기, 브라우저 확장 프로그램, 클립보드, 운영 체제 또는 대상 서비스의 무결성을 보장할 수 없습니다. 또한 재사용된 비밀번호를 안전하게 만들거나 사용자가 피싱 페이지에 비밀번호를 입력하는 것을 방지할 수 없습니다.
재현 가능한 검토
브라우저, 공개 API 및 pwdgen-cli@1.0.0는 동일한 Web Crypto 리젝션 샘플링 코어를 공유합니다. 자동화된 테스트는 활성화된 문자 범위, 제외된 문자, 잘못된 구성 및 Math.random()의 부재를 확인합니다. 브라우저 테스트는 재생성 및 복사가 비밀번호를 포함한 네트워크 요청을 발생시키지 않는지 확인합니다. 공개 소스 및 CI 결과는 위에 링크되어 있으며, 이는 독립적인 보안 감사 주장이 아닌 재현 가능한 엔지니어링 증거입니다.
더 깊은 프로토콜 수준의 설명은 클라이언트 측 비밀번호 생성 백서를 읽어보세요.