답변:
흥미로운 기사 http://www.lockdown.co.uk/?pg=combi&s=articles 는 이론적으로 길이와 기호 집합이 다른 암호를 무차별 화하는 데 걸리는 시간을 자세히 설명합니다.
Bruce Schneier의이 블로그 게시물에서 해당 정책을 작성한 사람을 지적 할 수 있습니다 .
왜 암호의 강도가 웹상에서 가장 적은 사람의 문제인지에 대한 좋은 글입니다.
이 게시물 에서 허용 된 답변을보십시오 . 전체 문자 범위를 사용하는 8 자 암호라도 해독하는 데 ~ 10,000 년이 걸릴 수 있음을 보여줍니다!
레인보우 테이블의 사용을 무차별 대입 (의견은 다름)으로 간주하면 암호에 모든 문자가 포함 된 레인보우 테이블을 사용하여 약 10 초가 걸립니다. 30 자 미만의 20 자 암호 (동일한 문자, 동일한 무지개 표). 캐치는 테이블을 생성 하는 데 시간 이 오래 걸린다는 것입니다 . 광산은 밤에만 3GHz 시스템에서 생성하는 데 약 한 달이 걸렸습니다. 반면에 한 번만하면됩니다.
긴 암호를 기억하려는 문제는 문자 대체와 구를 조합하여 쉽게 해결할 수 있습니다. 단순한 "# Fr3ddy M3rcury #"와 같은 것조차도 대부분의 용도에 충분히 복잡하지만, 기억하기는 쉽습니다.
8 자리 암호가 기억 될 수 있습니다. 20 자 암호 가 기록됩니다.
그리고 누군가는 그것을 읽을 수 있습니다.
" 비밀번호 대 비밀번호 문구 " 기사에 관심이있을 수 있습니다 . 그들의 결론은 9 개의 문자로 된 임의의 암호는 6 개의 단어 암호 구와 거의 같습니다. 그러나 그들은 6 단어 구가 기억하기 쉽다고 생각합니다.
조합의 수를 변경하므로 사용하는 문자에 따라 다릅니다. 8 자 가정 :
사전 단어 :
egrep "^. {8} $"/ usr / share / dict / words | 화장실 -l 15601
소문자 : 26 8 또는 208827064576
소문자 : 52 8 또는 53459728531456
하한, 상한 및 숫자 : 62 8 또는 218340105584896
문장 부호 및 기타 기호를 추가하면 무차별 강제 실행에 시간이 걸립니다.
이 숫자는 시도해야 할 총 조합입니다. 분명히, 해커는 암호를 얻은 후에 모든 조합을 시도하지 않으므로 필요한 평균 조합 수를 얻기 위해 2로 나눕니다.
해시가 클수록 해시를 계산하는 데 CPU 시간이 길어 지므로 총 시간이 길어집니다. john의 예 :
벤치마킹 : 기존 DES [64/64 BS] ... 완료 많은 염분 : 819187 c / s 실제, 828901 c / s 가상 단 하나의 소금 : 874717 c / s 실제, 877462 c / s 가상 벤치마킹 : BSDI DES (x725) [64/64 BS] ... 완료 많은 염분 : 29986 c / s 실제, 30581 c / s 가상 단 하나의 소금 : 실제 29952 c / s, 가상 30055 c / s 벤치마킹 : FreeBSD MD5 [32/64 X2] ... 완료 Raw : 8761 c / s 실제, 8796 c / s 가상 벤치마킹 : OpenBSD Blowfish (x32) [32/64] ... 완료 Raw : 354 c / s 실제, 356 c / s 가상 벤치마킹 : Kerberos AFS DES [48/64 4K] ... 완료 짧은 : 294507 c / s 실제, 295754 c / s 가상 Long : 858582 c / s 실제, 863887 c / s 가상 벤치마킹 : NT LM DES [64/64 BS] ... 완료 Raw : 6379K c / s 실제, 6428K c / s 가상 벤치마킹 : NT MD4 [Generic 1x] ... 완료 Raw : 7270K c / s 실제, 7979K c / s 가상 벤치마킹 : M $ 캐시 해시 [일반 1x] ... 완료 많은 염분 : 12201K c / s 실제, 12662K c / s 가상 단 하나의 소금 : 4862K c / s 실제, 4870K c / s 가상 벤치마킹 : LM C / R DES [netlm] ... 완료 많은 염분 : 358487 c / s 실제, 358487 c / s 가상 하나의 소금 만 : 348363 c / s 실제, 348943 c / s 가상 벤치마킹 : NTLMv1 C / R MD4 DES [netntlm] ... 완료 많은 염분 : 510255 c / s 실제, 512124 c / s 가상 단 하나의 소금 : 488277 c / s 실제, 489416 c / s 가상
물론 이것은 해커가 비서에게 전화를 걸어 IT 부서 출신이며 자신의 암호가 필요하고 강력한 암호가 가치가 없다는 것을 알려주기 때문입니다.
나는 사소한 암호를 사용하여 보호합니다.
* 중요한 자산해머링 방지 대상 이 아닌 물건 (반복 시도 후 잠금) * 무차별 / 사전 기반 / 하이브리드 공격에 노출 될 수있는 것
암호를 해독하려는 무차별 대입 시도는 단순히 계정을 잠그기 때문에 서버 계정에 대한 걱정은 적습니다 (그리고 서버에 액세스 할 수있는 사람은 해시를 선택 중 하나로 바꾸고 크래킹하지 마십시오).
가장 좋은 암호는 길고 (> 12 자) 암호로 무작위입니다. 그러나 그것들은 기억하기가 더 어렵습니다. 따라서 여러 단어를 임의의 임의의 문자와 결합하는 암호는 좋은 타협 일 수 있습니다 (아마 가장 좋아하는 노래 가사의 첫 두 줄의 첫 글자 1 ~ 2 자).
클라이언트 / 서버와의 통신을 통해 얻을 수있는 보안이 있습니다 (예 : 웹 애플리케이션과 같이 네트워크를 통해 공격 할 때). 이 시나리오를 사용하면 거의 모든 길이의 암호를 충분히 주장 할 수 있습니다.
그러나 내부자가이 데이터베이스를 해시 된 짧은 암호로 가져 와서 3 회 시도의 "인터넷을 통한"제한을 우회 할 수 있으면 게임이 변경됩니다.
계정 당 시도 횟수를 제한하는 경우 하나의 특정 계정에서 대상 시도에 대해서만 충분하다는 것입니다. 또한 지정된 (또는 순열 된) 암호를 사용하여 모든 계정에 대한 공격으로부터 보호해야합니다. 계정 당 시도 횟수를 제한 할 때 경보가 발생하지 않습니다. 오늘날의 NAT와 봇넷을 고려할 때 IP 당 시도 횟수를 제한하는 것이 보안을 생각하는 좋은 방법이라고 주장 할 수도 없습니다.
독서에 대한 좋은 자료는 이미 다른 답변에 주어졌습니다.