암호가 해시로 저장된 경우 암호를 재설정하려고하면 컴퓨터가 마지막 암호와 비슷한 것을 어떻게 알 수 있습니까?


11

암호가 해시로 저장된 경우 암호를 재설정하려고하면 컴퓨터가 마지막 암호와 비슷한 것을 어떻게 알 수 있습니까? 하나는 해시되어 되돌릴 수 없기 때문에 두 암호가 완전히 다르지 않습니까?


5
컴퓨터가 비슷한 지 알 수 없습니다 . 새 비밀번호를 해시하고 원래 비밀번호의 저장된 해시와 비교하여 동일한 지 여부 만 알 수 있습니다.
Robert Harvey

그러나 비밀번호 특성의 일부를 캡처하는 해시를 생성하는 방법이 있습니다. 그러나 암호 크래커는 이러한 정보를 사용하여 암호 무차별 검색 범위를 여러 단계 좁힐 수 있기 때문에 이러한 해시의 가용성은 큰 허점입니다.
rwong

비밀번호를 비교해야하는 경우 해시를 사용하지 않습니다. AES 또는 다른 형태의 대칭 암호화를 사용할 가능성이 있습니다.
Laiv

답변:


15

이를 구현하는 한 가지 방법은 비밀번호를 재설정하면 일반적으로 이전 비밀번호도 입력하라는 요청입니다. 해당 상황에서 일반 텍스트 형식의 두 비밀번호가 있으므로 해당 상황에서 일반 문자열 유사성 비교를 사용하면됩니다.

이를 구현하는 또 다른 방법은 암호를 정규화하는 것입니다. 예를 들어 악센트 문자는 가장 가까운 영어 알파벳으로 정규화되고 텍스트를 음성으로 전사하거나 숫자를 제거하는 등 암호로 생성 된 여러 버전의 해시를 미리 계산합니다. 다른 방식으로 표준화되었습니다. 이는 지정되지 않은 양만큼 해싱 메커니즘을 약화시킵니다. 나는 이것이 보안 모범 사례라고 생각하지 않을 것입니다.


"비밀번호 재설정"은 일반적으로 "비밀번호를 잊어 버려 재설정하고 싶습니다"를 나타내므로 이전 비밀번호를 입력하라는 메시지가 표시되지 않습니다. 답의 후반은 정확합니다.
casablanca

3
@casablanca : X 일마다 암호를 "재설정"할 수있는 시스템이 많이 있습니다 ....
whatsisname

1
@ casablanca : 상반기도 정확합니다. "암호 재설정"은 가지 의미를 가질 수 있습니다 . 용어는 그렇게 엄격하지 않습니다. OP에게 정확히 무엇을 의미하는지 문의해야합니다.
Doc Brown

12

간단한 대답은 보안 시스템이 서로 비슷한 지 알 수 없다는 것입니다.

그러나 일부 시스템은 새로운 암호가 오래된 암호 또는 이와 유사한 암호가되는 것을 방지하기 위해 특정 암호의 보안을 의도적으로 줄입니다. 비용 편익의 상충 관계는 누군가가 유사성 정보로도 현재 암호를 악의적으로 크래킹하기 전에 새로운 암호를 작성한다는 것입니다.

  • 사용자가 사용한 마지막 N 개의 비밀번호 해시를 저장할 수 있습니다. 이전 비밀번호를 입력하면 새 비밀번호 해시가 이전 비밀번호 해시와 일치하기 때문에 명백합니다.
  • 사용 된 해시 메커니즘에는 썸 네일 메커니즘이 포함되어 있거나 해시 된 썸네일이 해시와 함께 저장 될 수 있습니다. 기본적으로 해시 섬네일 내의 특정 비트 패턴은 기본 값에서 매우 유사한 비트 패턴 세트를 나타냅니다.
  • 마찬가지로 암호와 관련하여 통계를 유지하지 않아도되므로 정확한 유사성을 측정 할 수 있습니다.

일반적으로 이러한 각 기술은 비밀번호 보안을 저하시킵니다.

  • 오래된 암호를 유지하면 해당 암호의 보안이 저하됩니다. 이러한 암호 중 하나라도 해독되면 현재 암호가 암호와 유사 할 가능성이 높으며 대부분의 사람들은 숫자 만 변경합니다.

  • 썸네일 및 통계는 추측 및 해시를 시도하는 것보다 잘못된 비밀번호 추측을 더 빨리 제거 할 수 있습니다. 하드웨어 가속이 있더라도 해시, 특히 보안 해시가 계산 및 노력이 복잡하기 때문입니다. '확실히 아님'또는 '아마도'라고하는 간단한 계산은 이러한 추측을 대부분 제거 할 수 있지만, 모든 유사성 검사는 이전과 전혀 다른 완전히 새로운 암호를 사용하지 말고 유사한 암호를 사용하지 못하게하기위한 것입니다.

즉, 현재 / 이전 암호와 유사성을 나타내는 모든 사이트에주의하십시오. 새 비밀번호가 이전 비밀번호라고 말하지 않는 한.


7

암호가 해시로 저장된 경우 암호를 재설정하려고하면 컴퓨터가 마지막 암호와 비슷한 것을 어떻게 알 수 있습니까? 하나는 해시되어 되돌릴 수 없기 때문에 두 암호가 완전히 다르지 않습니까?

사용자가 입력 한 것과 비슷한 암호를 여러 개 생성하고 해시가 이전 암호와 일치하는지 확인하십시오.


그렇습니다. 사람들은 변화의 종류를 예측할 수 있으므로 그렇게 할 수 있습니다.
cyborg

가장 짧은 암호로 필요한 처리 측면에서 정말 빠릅니다. 그래서 나는 이것이 실제 관행이라고 생각하지 않습니다.
Martin Maat

나는 오랫동안 한곳에서 일했고, 비밀번호를 떠날 때 supersecurepassword39였습니다. (마지막 두 자리 만 참). 이전 번호가 사용되었는지 확인하기 위해 비밀번호가 숫자로 시작하거나 끝나는 지 여부는 분명합니다.
gnasher729

@MartinMaat 그래도 될까요? 원래 비밀번호에서 문자를 하나씩 제거하여 숫자를 추가하거나 증가시키는 것을 감지 할 수 있습니다. 즉, "암호"의 경우, "암호"(heehee), "pssword", "pasword"등을 해시합니다. 각각에 대해 256 개의 순열을 시도해야하는 추가 복잡성 때문에 더 약한 것을 사용하여 벗어날 수도 있습니다. 보조 해시를 무차별 적으로 수행하는 경우. (더 많은 순서로 그것들을 저장하고 어떤 캐릭터가 어느 캐릭터에서
사라 졌는지 모른다면,

N이 암호 길이 인 경우 해시보다 훨씬 저렴해야하는 유사성 검사를 포함하지 않고 새 암호를 N- 시간으로 설정하면 비용이 더 많이 듭니다. 그러나 사용자가 로그인 할 때마다 암호를 해시하면 암호 변경보다 훨씬 자주 발생하므로 추가로드가 눈에 띄지 않을 것입니다.
millimoose

2

또 다른 패턴은 시스템이 비밀번호의 일부 특성 서브 세트를 해시하고 새 비밀번호의 서브 세트가 이전 비밀번호와 일치하는지 확인하기 위해 해당 해시를 저장하는 것입니다. 예 : 비밀번호 : "Admin2018"& 서브 세트 : "Admin"= "Admin2019"를 다음과 같이 입력 할 수 없습니다. 새로운.


1

한 가지 방법은 지난 5 개의 해시 된 비밀번호를 '비밀번호 기록'과 같은 테이블에 저장하고 사용자가 새 비밀번호를 설정하려고 할 때 해시하고 테이블의 해시 된 비밀번호와 비교하는 것입니다.

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