HTTP 다이제스트 인증


개요

Digest access authentication, HTTP digest authentication
다이제스트 인증, Digest 인증, HTTP digest 인증
  • HTTP에서 작동하는 인증 방식 중 하나
  • 사용자명, 패스워드 등을 조합하여 MD5 값으로 인증
  • 기본 인증보다 보안이 강화된 인증

작동방식

  • (클라이언트 → 서버) 페이지 요청
  • (서버 → 클라이언트) Digest 인증 필요하다고 통보[1]
  • (클라이언트 → 서버) 사용자가 아이디/패스워드 입력하면, 서버 정보[2]+클라이언트 정보[3]를 병합하고 MD5암호화하여 보냄

즉 Digest 인증방식에서 서버는 클라이언트로부터 단순히 패스워드를 받는 것이 아니다. 아래처럼 여러가지가 조합되고 MD5로 해시된 값(Response)을 받는다.

HA1 = MD5( "사용자명:영역명:패스워드" )
HA2 = MD5( "HTTP요청방식:URI주소" )
Response = MD5( "HA1값:서버NONCE:요청카운터:클라이언트NONCE:보호품질코드:HA2값" )

서버에서 인증(로그인)을 해주려면, 알고 있는 값들을 가지고 같은 방식으로 유효한 Response값을 만든 후, 클라이언트가 보내온 Response가 그와 같은지 비교해야 한다.

같이 보기

주석

  1. 헤더에 Digest realm, qop,nonce, opaque가 들어 있음
  2. 전단계에서 서버로부터 받은 정보들
  3. 사용자가 입력한 아이디/패스워드 입력, cnonce(클라이언트 nonce) 등

참고