다이제스트 인증의 개선점

기본 인증의 가장 심각한 결함을 수정한 또 다른 HTTP 인증 프로토콜.

특징

공개키 기반 메커니즘과 비교해 그다지 안전한 프로토콜은 아님

  1. 비밀번호를 안전하게 지키기 위해 요약 사용하기

    간단한 동작 원리

    https://s3-us-west-2.amazonaws.com/secure.notion-static.com/586e16db-5ea5-4a16-be7d-0939bfad32af/http-13-4-638_(1).jpg

    1. 클라이언트는 보호된 문서 요구.
    2. 서버는 클라이언트가 비밀번호를 알고 있음을 증명하며 신원을 증명하기 전까지 문서 제공 x.
    3. 클라이언트는 비밀번호의 요약을 전달하여 신원 증명.
    4. 서버는 클라이언트가 제공한 요약과 계산한 요약을 비교하여 일치하면 문서를 제공.
  2. 단방향 요약

  3. 재전송 방지를 위한 난스(nonce) 사용

  4. 다이제스트 인증 핸드셰이크

    https://s3-us-west-2.amazonaws.com/secure.notion-static.com/ae1a551b-961e-458f-a5dd-c4688e1cc85e/ch13_1.png

    1. 서버는 난스 값 계산.
      • 서버는 난스를 WWW-Authenticate 인증 요구 메시지에 담아 지원하는 알고리즘 목록과 함께 클라이언트에 전송
    2. 클라이언트는 알고리즘을 선택, 비밀번호와 그 외 데이터에 대한 요약 계산
      • Authorization 메시지에 요약을 담아 서버에 돌려줌.
      • 클라이언트 난스를 보내 서버가 인증하게 함.
    3. 서버는 요약, 선택한 알고리즘, 그 외 보조 데이터들을 받아 클라이언트가 했던 그대로 요약을 계산함.
      • 계산한 요약과 클라이언트 요약이 같은지 확인.

요약 계산

<aside> 💡 다이제스트 인증의 핵심은 공개된 정보, 비밀 정보, 시한부 난스 값을 조합한 단방향 요약이다.

</aside>