개념 사전 · 프로그램

John the Ripper

존 더 리퍼 · JTR

는 저장된 비밀번호 검증값에 후보를 계산·비교하는 비밀번호 감사 도구다. 해시를 복호화하는 것이 아니라 후보 비밀번호가 같은 검증값을 만드는지 확인하는 오프라인 추측이다.

밑줄 용어에 마우스를 올리거나, 키보드로 선택하거나, 터치하면 설명을 볼 수 있습니다.

01무엇이고, 어떤 일을 하나

  • 허가된 시험용 비밀번호의 강도와 저장 방식을 평가한다.
  • 해시 형식··비용 매개변수의 의미를 확인한다.
  • 암호 정책과 설계의 영향을 비교한다.

02어떤 순서로 동작하나

  1. 검증값 해석

    소유한 가상 표본의 알고리즘··비용·표현 형식을 확인한다. 길이만 보고 해시 종류를 확정하지 않는다.

  2. 후보와 비용 결정

    학습 목적의 제한된 후보 집합과 시간 예산을 정한다. 실제 사용자의 비밀을 공개 보고서에 기록하는 방식은 피한다.

  3. 계산·비교

    각 후보에 같은 알고리즘과 매개변수를 적용해 저장값과 비교한다. 는 비밀번호마다 달라도 검증에 필요한 공개 입력으로 사용된다.

  4. 결과 해석

    일치가 있으면 해당 후보가 검증값을 만족한다는 사실을 기록한다. 일치가 없으면 선택한 후보·시간·장치 범위에서 못 찾았다는 결론만 낸다.

03먼저 알아둘 용어와 구성요소

인증 서버에 로그인하지 않고 확보한 검증값을 로컬에서 비교하는 방식.
사전·규칙·문자 조합 등으로 비교할 문자열을 만드는 단계.
알고리즘··비용·인코딩을 해석하는 규약.
여러 추가 형식·기능을 포함하는 John의 확장 배포 계열.
같은 비밀번호라도 다른 검증값을 만들도록 해시 입력에 포함하는 공개 난수.
후보 하나를 검증하는 계산 비용을 조절하는 설정.

04예제로 따라가기

  • 가상 표본 두 개가 같은 비밀번호라도 가 다르면 각각의 로 계산해야 한다.
  • 빠른 일반 해시와 메모리 비용이 있는 은 같은 장치에서도 비교 처리율이 다르다.
  • 제한된 후보 10개에서 못 찾은 결과는 비밀번호가 절대 추측되지 않는다는 증명이 아니다.

05혼동하기 쉬운 점과 확인 기준

  • 일치 후보를 찾는 작업을 암호화 역함수로 원문을 복호화한 작업이라고 설명하지 않는다.
  • Core와 , CPU·가속 장치, 지원 형식의 차이를 확인하지 않고 모든 버전의 기능을 동일하게 가정하지 않는다.

06상세 노트 · 실습 자료

헤더 구조, 설정 예시, 수치 계산과 수업 캡처는 아래 노트에서 이어집니다.

공식 문서 · 표준

기초 개념과 동작 설명을 대조한 자료입니다. 제품 버전과 실제 설정에 따른 차이는 본문 및 원문에서 확인하세요.