
현실적인 시간 척도에서 무차별 공격을 방지할 수 있을 만큼 비밀번호의 엔트로피가 충분한지 어떻게 알 수 있나요? 예를 들어, 다음과 같은 비밀번호가 있는 경우 무차별 대입을 방지할 만큼 강력한지 어떻게 확인할 수 있나요?
"?e&ye&ga!ruaa!na!e%ta!e%rc#Iod$woH"2245
답변1
있다비밀번호 입력에 대한 예상 엔트로피 수치를 제공할 수 있는 사이트. 위의 예에서는 ~247비트를 제안합니다.
크랙이 발생하는 데 시간이 얼마나 걸릴지 대략적으로 추측할 수 있습니다.내 비밀번호는 얼마나 안전한가요?.
귀하의 예에서 컴퓨터가 비밀번호를 해독하는 데는 15년 11월이 걸릴 것으로 예상됩니다.
비밀번호에 대한 자세한 분석은 다음에서 확인할 수 있습니다.비밀번호 측정기.
답변2
귀하의 질문 - "무차별 대입을 막을 만큼 충분히 강력합니까?"
진짜 대답 - "아니오"
유용한 답변 - "적어도 가까운 미래에는 아마도"
당신이 물어봐야 할 것 :
우리 회사에 대한 요구 사항 x, y와 민감도 z가 있는 이러한 유형의 데이터를 보호해야 합니다. 이것이 적절한 엔트로피 수준인가?
좋아요, 공평하게 말하면 @Gareth가 지적한 대로 210비트는 오랫동안 괜찮을 것 같지만 이는 과잉일 수 있습니다.정상을 넘지 말아야 할 좋은 이유필요하지 않은 경우 암호화를 사용하세요.
답변3
로부터Dropbox 기술 블로그,이것은 최고의 기사입니다제가 최근에 본 것과 그 안에서 논의된 이론의 구현을 보여주기도 했습니다. 이것이 도움이 된다면 언제든지 알려주시기 바랍니다.
보안에 대해 염두에 두어야 할 또 다른 사항은 다음과 같이 표현된 아이디어입니다.XKCD 만화.
답변4
비밀번호가 얼마나 무작위인지에 따라 다릅니다.
다음 목록에서 비밀번호를 선택하는 경우:
"?e&ye&ga!ruaa!na!e%ta!e%rc#Iod$woH"2245
aSBsb3ZlIHlvdSBLaXJzdGVuIFNoZWxieSBHdXllcg==
그러면 정확히 엔트로피를 갖게 됩니다 1 bit
(첫 번째 비밀번호이거나 두 번째 비밀번호입니다).
그 때 당신은 그 글을 읽었습니다.XKCD 만화저것데이브가 연결됨.
하지만 귀하의 비밀번호에 대해 몇 가지 가정을 할 수 있습니다.
"?e&ye&ga!ruaa!na!e%ta!e%rc#Iod$woH"2245 (40 characters)
다음과 같은 알파벳을 사용하는 것 같습니다.
- 대문자
A-Z
(26개 문자) - 소문자
a-z
(26개 문자) - 라틴 숫자
0-9
(10개 문자) - 제한된 구두점 세트(101키 키보드의 30개 기호 가정)
총 92자의 알파벳입니다.
더 나아가가정모든 비밀번호는 40자이므로 다음이 제공됩니다.
92^40 = 3.56+E78
또는3.5 1000경가능한 비밀번호.
이를 변환하려면 bits
다음을 수행하십시오.
ln(92^40) / ln(2) = 260.94 bits
이는 공격자가 비밀번호를 무차별 공격해야 한다고 가정합니다.
정보만 원하는 경우에는 실제로 훨씬 짧은 알파벳을 사용했기 때문에 비트 수가 실제로 훨씬 적습니다.
original: "?e&ye&ga!ruaa!na!e%ta!e%rc#Iod$woH"2245
rearranged: aaaaacdeeeegnoorrtuwyHI2245""?&&!!!!%%#$
alphabet: acdegnortuwyHI245"?&!%#$ (24 characters)
동일한 계산을 수행합니다.
ln(24^40) / ln(2) = 183.4 bits
e
실제로는 입력할 때마다 기호가 따라온다는 것을 알 수 있기 때문에 정보의 양이 적습니다 .
e&
e&
e%
e%
따라서 우리는 e&
기호로 h
바꾸고 e%
기호로 바꿉니다 i
.
original: "?hyhga!ruaa!na!ita!irc#Iod$woH"2245 (36 characters)
rearranged: aaaaacdghhiinoorrtuwyIH2245""?!!!!#$
alphabet: acdghinortuwyIH2245"?!#$ (24 characters)
정보 내용을 다음과 같이 줄입니다.
ln(24^36) / ln(2) = 165 bits
그리고 나는 모든 !
앞에 a
문자가 오고 뒤에 문자가 오는 것을 발견했습니다.
a!r
a!n
a!e
a!
다음으로 교체 k
:
original: "?hyhgkruaknkitkirc#Iod$woH"2245 (32 characters)
alphabet: acdghiknortuwyIH2245"?#$ (24 characters)
비트를 ln(24^32)/ln(2) = 146.7
.
이는 인코딩에 필요한 비트만 줄입니다.정보 내용메시지의.
이러한 트릭은 일반적으로 모든 비밀번호에 이러한 알려진 시퀀스가 있다고 가정할 수 없는 공격자에게 도움이 되지 않습니다.
그러나 키 검색 알고리즘에 프로그래밍할 수 있는 몇 가지 경험적 방법이 있습니다. 무작위로 입력하려는 사람들은 같은 것을 많이 입력합니다. 예를 들어 무작위로 입력할 때 종종 충돌이 발생합니다.
adfadsfadsf
18,400개의 다른 Google 검색결과와 함께.
나의 가장 안전한 비밀번호는 57자이고 알파벳 27자( a-z
, )가 ( ) 에 들어옵니다 .
266 bits
ln(27^56) / ln(2) = 266.27
반면에 그것은열하나단어. 2^11
영어에는 일반적인 단어 가 있습니다 . 그것은 다음을 제공합니다:
(2^11)^11 = 2.66E36 passphrases => ln((2^11)^11)/ln(2) = 121 bits
임의의 57자 비밀번호에서 대략적으로 가정되는 266비트보다 훨씬 적습니다.
내가 추가할 수 있어조금내가 다음 중 하나를 선택한다면:
- 단어 사이의 공백
- 단어 사이에 공백이 없습니다.