비밀번호의 엔트로피를 결정하는 방법

비밀번호의 엔트로피를 결정하는 방법

현실적인 시간 척도에서 무차별 공격을 방지할 수 있을 만큼 비밀번호의 엔트로피가 충분한지 어떻게 알 수 있나요? 예를 들어, 다음과 같은 비밀번호가 있는 경우 무차별 대입을 방지할 만큼 강력한지 어떻게 확인할 수 있나요?

"?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 bitsln(27^56) / ln(2) = 266.27

반면에 그것은열하나단어. 2^11영어에는 일반적인 단어 가 있습니다 . 그것은 다음을 제공합니다:

(2^11)^11 = 2.66E36 passphrases => ln((2^11)^11)/ln(2) = 121 bits

임의의 57자 비밀번호에서 대략적으로 가정되는 266비트보다 훨씬 적습니다.

내가 추가할 수 있어조금내가 다음 중 하나를 선택한다면:

  • 단어 사이의 공백
  • 단어 사이에 공백이 없습니다.

관련 정보