Apache HTTP Server Version 2.1

Apache > HTTP Server > Documentation > Version 2.1 > 모듈

# 아파치 모듈 mod_auth_digest

가능한 언어: en | ko

이 문서는 최신판 번역이 아닙니다. 최근에 변경된 내용은 영어 문서를 참고하세요.

설명: | MD5 Digest Authentication을 사용한 사용자인증.
상태: | Experimental
모듈명: | auth_digest_module
소스파일: | mod_auth_digest.c

### 요약

이 모듈은 HTTP Digest Authentication을 구현한다. 그러나 많은 테스트를 거치지 않은 실험적인 모듈이다.

### 지시어들

### 주제

- Digest Authentication 사용하기

### 참고

- `AuthName`
- `AuthType`
- `Require`
- `Satisfy`

## Digest Authentication 사용하기

MD5 Digest authentication은 매우 쉽게 사용할 수 있다. `AuthType Basic`과 `AuthBasicProvider` 대신 `AuthType Digest`와 `AuthDigestProvider`를 사용하여 간단히 인증을 설정할 수 있다. 그리고 최소한 보호하려는 영역의 기본 URI을 `AuthDigestDomain` 지시어에 사용한다.

htdigest 도구를 사용하여 사용자 (문자)파일을 만들 수 있다.

### 예제:

`<Location /private/>
AuthType Digest
AuthName "private area"
AuthDigestDomain /private/ http://mirror.my.dom/private2/
AuthDigestProvider file
AuthUserFile /web/auth/.digest_pw
Require valid-user
</Location>`

### 주의

Digest authentication은 Basic authentication보다 더 안전한 암호시스템을 제공하지만, 브라우저가 지원해야 한다. 2002년 11월 현재 digest authentication을 지원하는 브라우저에는 Opera, (질의문자열과 함께 사용할 수 없지만) MS Internet Explorer, Amaya, Mozilla, 버전 7 이후의 Netscape 등이 있다. digest authentication이 basic authentication 만큼 널리 구현되지 않았기때문에 주의해서 사용해야 한다.

## AuthDigestAlgorithm 지시어

설명: | digest authentication에서 challenge와 response hash를 계산하는 알고리즘을 선택한다
문법: | `AuthDigestAlgorithm MD5|MD5-sess`
기본값: | `AuthDigestAlgorithm MD5`
사용장소: | directory, .htaccess
Override 옵션: | AuthConfig
상태: | Experimental
모듈: | mod_auth_digest

`AuthDigestAlgorithm` 지시어는 challenge와 response hash를 계산하는 알고리즘을 선택한다.

`MD5-sess`는 아직 완전히 구현되지 않았다.

## AuthDigestDomain 지시어

설명: | digest authentication에서 같은 보호영역에 속하는 URI들
문법: | `AuthDigestDomain URI [URI] ...`
사용장소: | directory, .htaccess
Override 옵션: | AuthConfig
상태: | Experimental
모듈: | mod_auth_digest

`AuthDigestDomain` 지시어는 같은 보호영역에 있는 (예를 들어 같은 영역과 사용자명/암호 정보를 사용하는) URI들을 지정한다. 지정한 URI는 접두사로 사용한다. 클라이언트는 URI "아래" 모두를 같은 사용자명/암호로 보호한다고 가정한다. URI는 (즉, 스킴(scheme), 호스트, 포트 등을 포함하는) 절대 URL이거나 상대 URI이다.

이 지시어는 항상 지정해야 하며, 최소한 영역들의 기본 URI(들)를 포함해야 한다. 생략하면 클라이언트는 이 서버로 보내는 모든 요청에 Authorization 헤더를 포함한다. 그러면 요청의 크기가 커지며, `AuthDigestNcCheck`를 사용한다면 성능에 나쁜 영향을 줄 수 있다.

다른 서버의 URI를 지정하면, (이를 이해하는) 클라이언트는 여러 서버마다 매번 사용자에게 묻지않고 같은 사용자명/암호를 사용할 수 있다.

## AuthDigestNcCheck 지시어

설명: | 서버가 보내는 nonce-count를 검사할지 여부
문법: | `AuthDigestNcCheck On|Off`
기본값: | `AuthDigestNcCheck Off`
사용장소: | 주서버설정
상태: | Experimental
모듈: | mod_auth_digest

아직 구현되지 않았다.

## AuthDigestNonceFormat 지시어

설명: | nonce를 만드는 방법을 결정한다
문법: | `AuthDigestNonceFormat format`
사용장소: | directory, .htaccess
Override 옵션: | AuthConfig
상태: | Experimental
모듈: | mod_auth_digest

아직 구현되지 않았다.

## AuthDigestNonceLifetime 지시어

설명: | 서버 nonce가 유효한 기간
문법: | `AuthDigestNonceLifetime seconds`
기본값: | `AuthDigestNonceLifetime 300`
사용장소: | directory, .htaccess
Override 옵션: | AuthConfig
상태: | Experimental
모듈: | mod_auth_digest

`AuthDigestNonceLifetime` 지시어는 서버 nonce가 유효한 기간을 조절한다. 클라이언트가 만기된 nonce를 가지고 서버에 접근하면 서버는 `stale=true`와 함께 401을 반환한다. seconds가 0보다 크면 nonce가 유효한 기간을 지정한다. 아마도 10 초보다 작게 설정하면 안된다. seconds가 0보다 작으면 nonce는 영원히 만기되지 않는다.

## AuthDigestProvider 지시어

설명: | 이 위치에 대한 인증제공자를 지정한다
문법: | `AuthDigestProvider On|Off|provider-name [provider-name] ...`
기본값: | `AuthDigestProvider On`
사용장소: | directory, .htaccess
Override 옵션: | AuthConfig
상태: | Experimental
모듈: | mod_auth_digest

`AuthDigestProvider` 지시어는 이 위치에서 사용자를 인증할 제공자를 지정한다. 값이 `On`이면 기본제공자(`file`)를 사용한다. `mod_authn_file` 모듈이 `file` 제공자를 구현하기때문에 서버에 이 모듈이 있는지 확인해야 한다.

제공자는 `mod_authn_dbm`과 `mod_authn_file`을 참고하라.

값이 `Off`이면 제공자 목록을 지우고 기본상태로 돌아간다.

## AuthDigestQop 지시어

설명: | digest authentication가 사용할 보호수준(quality-of-protection)을 지정한다.
문법: | `AuthDigestQop none|auth|auth-int [auth|auth-int]`
기본값: | `AuthDigestQop auth`
사용장소: | directory, .htaccess
Override 옵션: | AuthConfig
상태: | Experimental
모듈: | mod_auth_digest

`AuthDigestQop` 지시어는 보호수준(quality-of-protection)을 지정한다. `auth`는 (사용자명/암호) 인증만 하고, `auth-int`는 인증과 완결성 검사를 (MD5 해쉬도 계산하여 검사한다) 한다. `none`은 (완결성 검사를 하지않는) 오래된 RFC-2069 digest 알고리즘을 사용한다. `auth`와 `auth-int`를 모두 지정할 수 있다. 이 경우 브라우저는 어떤 것을 사용할지 선택한다. 브라우저가 어던 이유에서건 challenge를 좋아하지 않는다면 `none`을 사용해야 한다.

`auth-int`는 아직 구현되지 않았다.

## AuthDigestShmemSize 지시어

설명: | 클라이언트를 추적하기위해 할당하는 공유메모리량
문법: | `AuthDigestShmemSize size`
기본값: | `AuthDigestShmemSize 1000`
사용장소: | 주서버설정
상태: | Experimental
모듈: | mod_auth_digest

`AuthDigestShmemSize` 지시어는 클라이언트를 추적하기위해 서버가 시작할때 할당하는 공유메모리량을 정의한다. 공유메모리는 최소한 하나의 클라이언트를 추적하기위해 필요한 공간보다 작을 수 없음을 주의하라. 이 값은 시스템에 따라 다르다. 정확한 값을 알려면 `AuthDigestShmemSize`를 `0`으로 설정하고 서버를 시작한후 오류문을 참고하라.

size는 보통 바이트 단위이지만, 뒤에 `K`나 `M`을 사용하여 KBytes나 MBytes를 나타낼 수 있다. 예를 들어, 다음 지시어들은 모두 같다:

`AuthDigestShmemSize 1048576
AuthDigestShmemSize 1024K
AuthDigestShmemSize 1M`

가능한 언어: en | ko