답변:
이후 대부분의 비밀번호에 대해 XCKD 스타일 비밀번호 문구 로 이동했습니다 . 다음은 passphrase를 생성하는 commandlinefu 의 1 개 라이너입니다 .
shuf -n4 /usr/share/dict/words | tr -d '\n'
the
, me
하고 theme
. 일반적으로이 세 단어에서 엔트로피가 동일하게 나타날 것으로 예상하지만이 경우 theme
다른 두 단어의 조합이므로 계산할 수 없습니다 . 사실상, theme
실제로 암호 제로 엔트로피를 추가합니다.
2020 년 : 저는 2011 년에이 답변을 게시했습니다. 몇 년이지나면서 사이버 보안에 대한 요구와 그에 대한 요구가 빠르게 그리고 엄청나게 바뀌 었습니다. anarcat이 지적한 것처럼 pwgen은 보안 수준이 높은 시스템을 보호하는 데 적합하지 않을 수 있습니다. 그는 일부 상황에서 pwgen이 자신의 기사 에서 사용 가능한 엔트로피에서 안전하지 않은 암호 파생 방법을 사용하는 방법에 대한 기술적 세부 사항을 설명하기 시작 했습니다 . 나는 더 이상 암호를 생성하여 자신을 기억하려고 시도하지 않지만, 인용 할 기사의 내용을 보증하지는 않지만 유효성을 검사 할 기술적 적성이 없으므로 암호를 읽고 자신의 결론을 도출하십시오. 그러나 공격 가능성이 매우 낮은 보안 수준이 낮은 시스템에서는 pwgen으로 충분하다고 확신합니다.
pwgen
응용 프로그램 을 확인하고 싶을 수도 있습니다 . 우분투, 페도라, 데비안 및 수세 저장소에서 사용할 수 있다는 것을 알고 있습니다.
로부터 man 페이지 :
pwgen 프로그램은 가능한 한 안전하면서도 사람들이 쉽게 기억할 수 있도록 설계된 암호를 생성합니다. 사람이 기억할 수있는 암호는 완전히 임의의 암호만큼 안전하지 않습니다. 특히 -s 옵션없이 pwgen에 의해 생성 된 암호는 암호가 오프라인 무차별 대입 공격을 통해 공격 될 수있는 장소에서 사용해서는 안됩니다. 반면에 완전 무작위로 생성 된 암호는 기록되는 경향이 있으며 그러한 방식으로 손상 될 수 있습니다.
pwgen 프로그램은 대화식으로 그리고 셸 스크립트에서 사용되도록 설계되었습니다. 따라서 기본 동작은 표준 출력이 tty 장치인지 또는 다른 프로그램에 대한 파이프인지에 따라 다릅니다. 대화식으로 사용하면 pwgen은 여러 개의 암호를 표시하여 사용자가 단일 암호를 선택한 다음 화면을 빠르게 지울 수 있습니다. 이것은 누군가가 사용자가 선택한 암호를 "어깨 잡기"할 수 없게합니다.
apples12$/fourteen
암호 를 기억하기 위해 비슷한 노력을 기울여야 할 것 입니다. 시도해보십시오.
사람들이 pwgen을 사용하지 않는 것이 좋습니다. 가장 중요한 관심은 "인간이 기억할 수있는 암호"를 생성하는 것이었지만 정확히 그렇게하는 데 여러 가지 취약점이있었습니다. 그리고 그것을 사용하여 완전히 임의의 문자열을 생성하는 것도 그렇게 유용하지 않습니다.
나는 바로 그 주제에 대한 자세한 기사 를 썼지 만 기본적으로 요점은 diceware 프로그램 (또는 주사위를 좋아한다면 실제 diceware 시스템 ) 또는 xkcdpass를 사용하는 것 입니다. 기억에 남는 강력한 암호를 생성하기 위해 일반적으로 다음 구성 파일과 함께 diceware를 사용합니다.
[diceware]
caps = off
delimiter = "-"
wordlist = en_eff
예 :
$ diceware
turkey-eligibly-underwire-recite-lifter-wasp
$ diceware
lend-rubdown-cornflake-tint-shawl-ozone
$ diceware
syndrome-ramp-cresting-resolved-flinch-veneering
$ diceware
alto-badass-eclipse-surplus-rudder-quit
캡과 공간은 공격자가 활용할 수있는 뚜렷한 가청 소음을 발생시키기 때문에 끕니다. -
은 어떤 구분 기호를 사용하지 않는 더 나은 것과 : 구분은 덜 악한 en_eff
단어 목록은 특별히 그 목적을 위해 제작됩니다. 그러나 나는 그들이이있을 때 쉽게 의사 소통하고 공유 암호를 찾을 일부 분리합니다.
완전히 임의의 암호를 생성하려면 다음 쉘 기능을 사용하십시오.
# secure password generator or, as dkg puts it:
# high-entropy compact printable/transferable string generator
# a password generator would be pwqgen or diceware
pwg() {
ENTROPY=${1:-20} # in bytes
# strip possible newlines if output is wrapped and trailing = signs as they add nothing to the password's entropy
head -c $ENTROPY /dev/random | base64 | tr -d '\n='
echo
}
암호를 적게 암기 하는 대신 암호 관리자를 사용하여 추측하기 어려운 큰 문자열을 저장 하는 것이 중요하기 때문에 이것을 언급합니다 . 이러한 선택의 근거에 대한 자세한 내용은 앞에서 설명한 기사 및 암호 관리자 검토에 설명되어 있습니다.
'gpw'를 시도하십시오. 다음과 같은 암호를 생성합니다 : ubsonsin morimplo demenump esselymn kidentst anenterg essonsuf iesssssi bestruss tnestese
설명 : Trigraph Password Generator이 패키지는 발음 할 수있는 암호를 생성합니다. 그것은 당신이 그것을 공급하는 사전에서 가져온 세 글자 조합 (기록)의 통계를 사용합니다. 따라서 발음 가능성은 언어마다 다를 수 있습니다. Morcs Gasser의 Multics 용 비밀번호 생성기 및 Dan Edwards의 CTSS 생성기의 아이디어를 기반으로합니다. FIPS 표준 181
은 Gasser에서 파생 된 유사한 digraph 기반 생성기를 설명합니다 .
나는이 질문 이후 팝업있다 좋은 옵션은 편집 됨의 XKCD - 암호 생성기 .
곡예 지원과 같은 고급 옵션이있는 XKCD 스타일 암호를 생성하는 멋진 Python 스크립트입니다.