it-swarm-korea.com

내 머리에서 실행할 수있는 사이트 별 비밀번호를 생성하는 방법이 있습니까?

최근 비밀번호 보안에 대해 생각하고있었습니다. 내 목표는 각 사이트마다 다른 임의의 암호를 사용하는 것입니다. 그러나 메모 등의 도움 없이도 기억할 수 있어야합니다. 암호 생성기에서 생성 한 실제 임의 암호를 사용하면 몇 가지만 기억할 수 있습니다. 내가 보유한 웹 계정 수보다 훨씬 적습니다. 간단한 암호는 종종 추측하기 쉽습니다.

사이트 이름에서 암호를 생성하기 위해 규칙을 배우기 쉬운 규칙과 비밀 마스터 암호를 생각할 수 있다고 생각했습니다. ebay와 Amazon의 암호가 있다고 가정하십시오. 이 방법은 'ebay'및 'Amazon'에 대해 서로 다른 두 가지 비밀번호를 생성해야합니다. 그러나 나는 소프트웨어 나 종이와 연필의 도움 없이도 머리 속에서 프로세스를 수행 할 수 있어야한다. 일반적으로 사용되는 암호는 직접 기억합니다. 그러나 거의 사용하지 않고 잊어 버린 사람들은 그러한 방법으로 재구성 할 수 없었습니다. 누구든지 그러한 방법에 대해 알고 있습니까?

EDIT : 내가 요청하는 것은 사이트/시스템/프로그램마다 다른 암호를 만들어 보안을 향상시켜야하지만 모든 암호는 기억에 남도록 유지해야합니다. 암호 안전은 훌륭하지만 사이트 암호를 잊어 버릴 가능성이 훨씬 더 높습니다. 상점을 잃어 버리거나 손상된 경우 문제가 있습니다. 또한 모든 비밀번호가 한 번에 손상 될 수 있습니다! 그리고 마지막으로 친구의 컴퓨터를 사용하는 경우 로컬 암호 안전 기능을 사용할 수 없습니다.

52
Mnementh

흥미로운 질문. 새롭고 희망적으로 개선 된 브레인 스토밍이 있습니다. 주의 사항.

메모리에 커밋하는 두 개의 강력한 무작위 임의 비밀번호를 생성하십시오.

사이트 이름의 문자를 순서대로 가져갑니다. 글자가 모음이면 첫 번째 비밀번호의 해당 글자를 사용하십시오. 그렇지 않으면 자음 인 경우 두 번째 비밀번호의 해당 문자를 사용하십시오.

예 : 비밀번호가 (apg에서) hicIrfyic9 및 FritwoivAuv0이라고 가정하십시오. stackexchange 사이트의 경우 처음 두 글자는 자음이므로 두 번째 비밀번호의 "Fr"을 사용합니다. 다음은 모음이므로 첫 번째 비밀번호에서 "c"를 사용합니다. 계속 진행하면 "FrctwfivA9"가 나타납니다.

누군가가 여러 암호를 찾아서 패턴을 알아내는 것에 대해 걱정이된다면 각 암호를 먼저 원형 또는 다른 것으로 회전하거나 알파벳 또는 다른 것을 통해 이동하는 방법을 추가 할 수는 있지만 쉽게 할 수 있습니다 너무 편집증과 혼란스러워 ....

기본 암호를 입력하라는 메시지를 표시하면서 편의를 위해 일반 컴퓨터에서이 코드를 코딩 할 수 있지만 메모리의 키오스크에서는 더 느리게 사용할 수 있습니다. 나는이 일반적인 생각이 번거롭지 만 어떤 상황에서는 가치가 있다고 확신하지 않는다.

17
nealmcb

나는 이것에 대해 양면 답변을했습니다.

이를 수행 할 수 있으며 일반적으로 언급 된 방법에는 웹 사이트 기반 섹션과 시간 기반 섹션이 포함됩니다. blahblahebay2010과 같은 암호를 만들 수 있으며 몇 년 후에 생각하면 복구 할 수 있습니다. 당신이 원하는 것을합니다.

그러나 권장하지 않을 것입니다 -암호를 알아낼 수있는 시스템을 사용해서는 안됩니다. 좋아, 당신은 큰 목표는 아니지만 누군가가 당신의 암호를 해독하고 싶을 수도 있습니다 ... 그래서 웹 사이트를 기반으로 사용하는 알고리즘이 있다면 암호의 강도를 크게 낮추십시오. 대신 Password Safe 와 같은 것을 사용하여 모든 암호를 저장하고 (매우 길고 복잡하며 기억에 남을 수없는 등) 암호를 보호 할 수있는 강력한 암호를 기억하십시오.

11
Rory Alsop

다양한 사이트에 대해 different 암호를 원하면 사이트 이름을 일반적인 "기본"암호에 추가하십시오. 예 : 기본 "7g93hrew9"를 기억하면 암호는 7g93hrew9ebay, 7g93hrew9Amazon, ...입니다.

물론 이것은 만족스럽지 않습니다. 이 예는 실제로 원하는 것을 보여주기위한 것입니다. "다른"암호를 원하지 않고, 그 중 일부를 아는 것이 다른 사이트의 암호를 추측 할 수 없도록하는 암호를 원합니다. 암호화 방식으로, 비밀번호 생성기는 사이트 이름을 입력하고 사이트 별 비밀번호를 출력하는 의사 난수 함수 가 되길 원합니다.

인간이 머리에서 (합리적으로) 계산할 수있는 PRF를 구축하는 것이 불가능하다는 경험적 증거가 있습니다. 실제로 cryptographic hash functions 를 보면 매우 빠른 것 (MD4, MD5 ...)이 깨졌고 덜 빠름 (SHA-1)이 다소 약화되었으며 강한 것이 있습니다. (SHA-256)이 느립니다. 기본 연산의 수를 살펴보면 작은 블록을 해싱하는 약 1000 ops의 컷오프를 볼 수 있습니다. SHA-3 경쟁 에서도 유사한 컷오프가 관찰됩니다. 보안을 달성하기 위해 수행해야하는 최소한의 작업이있는 것으로 보이며 그 수는 최소한 수백 건의 작업으로 평균적인 인간의 뇌에는 너무 많은 작업입니다.

따라서 귀하의 질문에 대한 올바른 답변이 없다고 생각합니다.

11
Thomas Pornin

tabula recta 를 사용하십시오. 알고있는 물리적 토큰 만 사용하는 간단한 알고리즘과 원하는만큼만 암호를 만들면됩니다.

9
Yaur

"웨어웨어"관점에서 읽을만한 흥미로운 책이 있습니다.

메모리 북

메모리 훈련에 관한 고전 서적 중 하나입니다. 나는 그것을 몇 번 읽었고 그 기술이 매우 효과적이라는 것을 알았습니다. 충분한 수준으로 메모리를 훈련시킬 수 있다면 원하는 비밀번호를 아무 문제없이 사용할 수 있기 때문입니다. (적어도 이것은 나를 위해 일하는 것 같습니다.)

이 책에는 임의의 문자열을 암기하는 장 (또는 적어도 내 선반에있는 버전)이 포함되어있어 매우 유용 할 수 있습니다.

또한 개인적으로 NATO 발음 알파벳 도 도움이됩니다. 어떤 이유로, 나는 "알파"가 "A"보다 기억하기 쉽다는 것을 알게됩니다 (예를 들어).

도움이 되길 바랍니다.

2
Chris Allen Lane

간단한 자바 스크립트를 사용하여 머리에 사이트 별 비밀번호를 생성하거나 모든 비밀번호를 기억하는 알고리즘을 실행하는 이유는 무엇입니까?

실제로 머릿속에서 물건을 계산하고 싶다면 주제를 벗어난 것이지만 어쨌든 제안하겠습니다.

내 비밀번호에는 여기에 나와있는 것과 비슷한 맞춤형 자바 스크립트를 사용합니다. http://www.supergenpass.com

일반적인 아이디어는 북마크를 사용하지 않고 스크립트를 사용하여 웹 페이지를 만들거나 모바일 버전의 페이지를 사용하는 것입니다 (아래 설명 참조).

이 스크립트는 마스터 비밀번호와 웹 사이트의 URL (bookrmarklet의 경우 자동으로 URL을 얻음)의 두 가지 매개 변수를 허용합니다.

그런 다음 해당 매개 변수 (기본적으로 마스터 암호와 URL의 연결에 따라 base64-md5와 같은 기본 생성 및 해시, 10x 배 또는 원하는 횟수만큼 수행)를 기반으로 일부 암호화 계산을 수행하고 사이트 별 출력 양식 필드에 복사하여 붙여 넣을 수있는 높은 엔트로피의 긴 암호입니다.

암호를 보거나 기억할 필요조차 없으며 암호 금고와 같은 곳에 저장되지 않고 대신 생성됩니다. 당신은 당신의 마스터 암호를 기억하고 끝났습니다.

각 사이트에 어떤 비밀번호를 사용하는지조차 알지 못하며 그 점에 매우 만족합니다.

2
john

나는 이와 같은 것을 권장하지 않지만 여기서 킥과 킥킥을 위해 한 가지 방법이 있습니다.

암호 = 연결 ((C-길이 (y)-길이 (x)), PascalCase (x), 반복 ( ".", (길이 (y) % 2) +1))

어디:

C = 숫자 상수> 3 자리
y = 사이트 URL의 중요한 텍스트
x = 사이트와 관련된 단어

예:

C = 1234
y = security.stackexchange
x = 불분명

비밀번호 = 연결 ((1234-22-9), "불확실성", ".")

비밀번호 = 1203Obscurity.

명백한 약점은 사이트와 연결할 단어를 기억해야한다는 것입니다. 그리고 내 예에서 누군가 그것에 대해 언급하기 전에 security.se가 모호하다고 말하지 않습니다. 나는 Obscurity! = Security를 ​​지적하고 있습니다. 그리고 나는 이것을 암호로 사용하지 않습니다.

1
sdanelson

2014 년 Manuel Blum은 마음에 계산할 수 있고 암호 생성에 적합한 알고리즘을 제시했습니다. http://scilogs.spektrum.de/hlf/mental-cryptography-and-good-passwords (정신 암호 및 좋은 암호)

설명 : 비밀은 문자에서 숫자로, 숫자에서 숫자로의 매핑입니다. 그들이 "무작위"인 것이 중요합니다. 이러한 매핑을 마음에 익히려면 초기 노력이 필요하지만 암호를 생성하려면 모듈로 10 산술 만 필요합니다.

발췌 :

문자를 숫자로 매핑을 호출하십시오. f. 예를 들어 f(a) = 8, f(b) = 3, f(c) = 7 등이있을 수 있습니다. 숫자보다 문자가 많으면 일부 문자가 같은 숫자로 매핑됩니다.

G는 순열에서 각 숫자를 다음 숫자로 보내는 함수입니다. 따라서 순열이 0298736514이면 g(0) = 2, g(2) = 9, g(9) = 8 등입니다.

다음은이 방법을 사용하여 비밀번호를 생성하는 방법입니다.

  1. 계정 이름을 일련의 n 자로 변환하십시오.

  2. 지도를 사용하여이 일련의 문자를 일련의 숫자로 바꿉니다. f. 이 일련의 숫자를 a0a1a2… an이라고 부릅니다.

  3. A1과 an을 더하고 마지막 숫자를 취하고 순열을 적용하여 암호의 첫 번째 숫자 인 b1을 계산합니다. g. 기호에서 b1 = g ((a1 + an) mod 10).

  4. 다음 자리를 bj = g ((bj-1 + aj) mod 10)로 계산하십시오.

이 방법의 단점과 대부분의 다른 방법은 링크 된 페이지에서 Gnurf의 주석을 참조하십시오.

1
David Andersson

여기에는 좋은 대답이 있지만, 일반적으로 알고리즘을 생각할 수 있다면 알고리즘이 이미 기존 악용 도구 세트의 일부일 가능성이 있습니다. :-)

1
Zaakiy Siddiqui

차트 값을 비닝하는 데 익숙하지 않지만 이진으로 변환 된 사이트의 의도 이름에 대해 수정 한 다음 각 "1"예를 합산하면 사이트에서이 작업을 수행하기가 약간 어려울 수 있습니다. 01101111 01101011 sum : 43442665 트릭은 보컬 등으로 페어를 교환하는 것과 같이 fac4b66k와 같은 방식으로 이루어 지거나 16 진법을 잘 알고 있다면 각 문자를 16 진법으로 변환하고 (66 61 63 65 62 6f 6f 6b) 일부 소금은 모든 것을 변환 할 필요가 없으며 일부 패스에서 스왑 또는베이스로 사용할 부분

사이트 URL을 PSK로 사용하여 암호화 된 하나의 취약한 암호를 사용할 수 있습니다. 암호화를 쉽게 복제 할 수는 있지만, 공격자는 먼저 암호를 해독해야하지만 로그인시 암호를 암호화 한 다음 암호를 해독하면 얻을 수있는 암호화의 PSK를 무차별 처리하기 때문에 암호를 얻는 데 어려움을 겪을 수 있습니다. 엄청나게 오랜 시간이 걸립니다.

0
KnightOfNi