20 자 미만의 암호는 얼마나 안전합니까?


10

최근에 비밀번호를 20 자 이상으로 설정하라는 명령을 받았습니다. 암호화에 사용되는 알고리즘은 256 비트 기본 키가있는 AES입니다. 암호화 된 파일을 해독하기위한 무차별 대입 공격에 대해 8 개의 문자 암호가 얼마나 안전합니까?

나는 이것이 대부분의 웹 사이트에서 좋은 암호 크기로 간주된다는 것을 알고 있습니다. 이것의 한 가지 이유는 3 번의 시도 후에 공격을 중지 할 수 있기 때문입니다.

답변:


4

흥미로운 기사 http://www.lockdown.co.uk/?pg=combi&s=articles 는 이론적으로 길이와 기호 집합이 다른 암호를 무차별 화하는 데 걸리는 시간을 자세히 설명합니다.


좋아, 이것은 매우 흥미로운 링크입니다. 그것은 어떤 시간 프레임에 필요한 힘의 유형에 대한 좋은 아이디어를 제공합니다. 따라서 충분한 리소스가 제공되면 8 자 암호를 깰 수 있습니다 (특히 좋지 않은 경우).
cmserv

여전히 10 만 암호 / 초로 83.5 일이 걸립니다. 대부분의 공격에는 실제로 불가능합니다. 특히 pgp 암호 대신 서버 암호에 대해 이야기하는 경우. 해시가 없으면 8 (임의의) 문자는 본질적으로 깨지지 않습니다.
Cian

서버는 공격에 대한 추가 보호 기능을 제공하기 때문에 훨씬 간단한 암호를 사용할 수 있다는 것을 알고 있기 때문에 서버 암호에 대해서는 이야기하지 않았습니다. 파일 암호화와 같은 다른 경우에는 의미가있었습니다.
cmserv

이 답변을 업데이트하는 것이 좋습니다. 이 링크는 더 이상 유용하지 않으며 "영구적으로 닫힘"을 제공합니다. : 콘텐츠를보고 싶어 누군가를 위해, 뒤로 기계는 허리가 web.archive.org/web/20180412051235/http://www.lockdown.co.uk/...
하워드 Lince III

결론 나는 작은 대문자와 대문자를 섞는다. 길이> 15가 좋습니다.
학생


4

이 게시물 에서 허용 된 답변을보십시오 . 전체 문자 범위를 사용하는 8 자 암호라도 해독하는 데 ~ 10,000 년이 걸릴 수 있음을 보여줍니다!


1
나는 당신이 클래스 A 공격 (10,000 암호 / 초)을 언급했다고 가정합니다. 이 표를보고 86 개 문자, 8 자 암호, 클래스 E 또는 F 공격 (34 일에서 346 일)에 수행 할 수있는 것보다 큰 기관을 생각하면. 이것은 10000 년이 아니다;)
cmserv

솔직히 말해서 게시물의 수학을 확인하지 않았습니다!
Marko Carter

3

레인보우 테이블의 사용을 무차별 대입 (의견은 다름)으로 간주하면 암호에 모든 문자가 포함 된 레인보우 테이블을 사용하여 약 10 초가 걸립니다. 30 자 미만의 20 자 암호 (동일한 문자, 동일한 무지개 표). 캐치는 테이블을 생성 하는 시간 이 오래 걸린다는 것입니다 . 광산은 밤에만 3GHz 시스템에서 생성하는 데 약 한 달이 걸렸습니다. 반면에 한 번만하면됩니다.

긴 암호를 기억하려는 문제는 문자 대체와 구를 조합하여 쉽게 해결할 수 있습니다. 단순한 "# Fr3ddy M3rcury #"와 같은 것조차도 대부분의 용도에 충분히 복잡하지만, 기억하기는 쉽습니다.


MD5 암호는 꽤 큰 소금을 사용합니다. 레인보우 테이블이 8 자 암호와 가능한 모든 암호에 대한 소금을 모두 가질 수있을만큼 큰 것은 아니라고 생각합니다.
chris

그것에 대한 보안 위험이 있습니까? 내 테이블은 총 25GB입니다. 각각 650MB에서 40 개의 테이블입니다. 언젠가 큰 세트를 생성합니다. :)
John Gardeniers

1
음, MD5 암호에 2 ^ 32 염분이 없습니까? 2 ^ 32 * 650mb입니다. 좋은 결과 내길 바랄 게.
chris

모든 ASCII 문자 LM 해시 64Gb에 대한 레인보우 테이블을 수행했는데 대학 클러스터 20 노드를 사용하는 데 거의 일주일이 걸렸습니다. 약 3 분 동안 정신을 잃게됩니다. 모든 Windows 암호 <= 16 자 크래킹을 허용합니다.
Mark Davidson

2
Wikipedia에 따르면 LM 해시에는 소금이 없습니다. MD5 암호에는 소금이 있습니다. 즉, 단일 암호에 (saltspace * password) 해시가있을 수 있습니다. 이는 소금 당 1 개의 무지개 테이블이 필요하다는 의미입니다.
chris

2

8 자리 암호가 기억 될 수 있습니다. 20 자 암호 기록됩니다.

그리고 누군가는 그것을 읽을 수 있습니다.


네가 옳아. 또한 암호화 된 파일의 보안 유형에 영향을 미치는 다른 많은 요소가있을 수 있습니다.
cmserv

5 개의 일반 영어 / 언어 단어 세트 인 경우 매우 긴 암호를 반드시 적어 놓을 필요는 없습니다. 뇌는 그것들을 기억하는 데 능숙하며 거기에는 많은 것들이 있습니다.
chris

1
당신의 두뇌를 위해 말하십시오. 20 명의 캐릭터를 기억한다는 생각으로 광산이 문을 닫았습니다.
존 손더스

암호가 "창자 던전 형이상학 적 피어스 정체"인 경우 암호를 몇 번 사용한 후 기억할 수 있습니다.
chris

아니. 단어 사이에 관계가 없습니다. 다음에 비밀번호가 필요할 때 자신에게 알리는 것을 기억할 이야기는 없습니다. 암호 생성 프로그램을 사용하여 임의의 암호를 생성합니다 (항상 8 자 이상 사용). "cinnademo"= "cinnamon"+ "demonstration"과 같이 기억할 수있는 단어로 만들 수있는 암호를 볼 때까지 계속 생성합니다. , 내가 처리 할 수 있습니다.
John Saunders

2

" 비밀번호 대 비밀번호 문구 " 기사에 관심이있을 수 있습니다 . 그들의 결론은 9 개의 문자로 된 임의의 암호는 6 개의 단어 암호 구와 거의 같습니다. 그러나 그들은 6 단어 구가 기억하기 쉽다고 생각합니다.


1

조합의 수를 변경하므로 사용하는 문자에 따라 다릅니다. 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 부서 출신이며 자신의 암호가 필요하고 강력한 암호가 가치가 없다는 것을 알려주기 때문입니다.


1

나는 사소한 암호를 사용하여 보호합니다.

* 중요한 자산해머링 방지 대상 
이 아닌 물건 (반복 시도 후 잠금)
* 무차별 / 사전 기반 / 하이브리드 공격에 노출 될 수있는 것

암호를 해독하려는 무차별 대입 시도는 단순히 계정을 잠그기 때문에 서버 계정에 대한 걱정은 적습니다 (그리고 서버에 액세스 할 수있는 사람은 해시를 선택 중 하나로 바꾸고 크래킹하지 마십시오).

가장 좋은 암호는 길고 (> 12 자) 암호로 무작위입니다. 그러나 그것들은 기억하기가 더 어렵습니다. 따라서 여러 단어를 임의의 임의의 문자와 결합하는 암호는 좋은 타협 일 수 있습니다 (아마 가장 좋아하는 노래 가사의 첫 두 줄의 첫 글자 1 ~ 2 자).


0

클라이언트 / 서버와의 통신을 통해 얻을 수있는 보안이 있습니다 (예 : 웹 애플리케이션과 같이 네트워크를 통해 공격 할 때). 이 시나리오를 사용하면 거의 모든 길이의 암호를 충분히 주장 할 수 있습니다.

그러나 내부자가이 데이터베이스를 해시 된 짧은 암호로 가져 와서 3 회 시도의 "인터넷을 통한"제한을 우회 할 수 있으면 게임이 변경됩니다.

계정 당 시도 횟수를 제한하는 경우 하나의 특정 계정에서 대상 시도에 대해서만 충분하다는 것입니다. 또한 지정된 (또는 순열 된) 암호를 사용하여 모든 계정에 대한 공격으로부터 보호해야합니다. 계정 당 시도 횟수를 제한 할 때 경보가 발생하지 않습니다. 오늘날의 NAT와 봇넷을 고려할 때 IP 당 시도 횟수를 제한하는 것이 보안을 생각하는 좋은 방법이라고 주장 할 수도 없습니다.

독서에 대한 좋은 자료는 이미 다른 답변에 주어졌습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.