현재 클라이언트 쪽 javascript에서 암호를 전달한 diceware를 생성합니다 (각 클라이언트는 암호로 안전한 의사 임의 시드를 얻음). Diceware 암호 클라이언트 쪽을 생성하는 것이 안전합니다
var password = this.word() + this.separtor() + this.word() + this.separtor() + this.word();
는 암호 내 관심사는 공격자가 나에 대해 내 발전기를 사용하지 단순히 무력 문자 조합을 사용하여 암호를하지만 실제로, 내가 찾을 수있는 모든 힘 테스터를 통과 발생하지만.
단어() 그래서 발생기 만 * 1,296 = 2,176,782,336 조합 1,296 * 1,296 생산에만 6^4 = 1,296 조합
있다. 나는 seperators (24 개 조합) 1296 * 24 * 1296 * 24 * 1296 = 1,253,826,625,536는 CGI 제한 사용자 시도를 추가하지만 항상 공격자가 암호를 가질 수있다 오프라인 해시.
비밀번호 서버 측을 생성하는 것은 단어 목록을 컴파일하는 것만 큼 안전하며, 적어도 암호 해시가있는 공격자는 검색하기가 상대적으로 쉽습니다.
암호가 기억하기 쉽도록 암호문에 임의의 특수 문자를 임의로 추가하고 싶지는 않지만 공격자가 모든 문자 조합을 시도하도록 강요합니까?
p.s보다 적합한 경우 암호화로 이동하십시오.