다이제스트 인증
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
다이제스트 인증은 1993년 CERN의 필립 핼럼-베이커에 의해 설계된 HTTP 기반의 인증 방식이다. 클라이언트-서버 간의 "챌린지-응답" 방식을 사용하며, RFC 2617을 통해 보안이 강화되었다. MD5, SHA-256, SHA-512-256 등의 해시 함수를 사용하여 사용자 인증을 수행하지만, MD5 알고리즘의 취약점과 일부 브라우저의 SHA-256 지원 부족 등의 단점이 존재한다. 다이제스트 인증은 안전한 인증을 위해 설계되었지만, 중간자 공격에 취약하고, 강력한 비밀번호 해시 사용을 제한하는 등의 단점도 가지고 있다. 대한민국에서는 정보통신망법에 따라 HTTPS 사용이 의무화되어 다이제스트 인증의 필요성이 상대적으로 낮다.
더 읽어볼만한 페이지
- RFC - IETF 언어 태그
IETF 언어 태그는 컴퓨터 시스템에서 언어 및 지역 정보를 표현하기 위해 인터넷 엔지니어링 태스크 포스(IETF)에서 정의한 식별자로, 하이픈으로 구분된 하위 태그들의 조합으로 구성되어 언어, 문자 체계, 지역, 변이형 등의 정보를 나타내며, 유니코드 로케일 확장을 통해 문화적 속성 또한 포함할 수 있다. - RFC - RFC 1149
RFC 1149는 조류 운반체를 이용하여 IP 데이터그램을 전송하는 규격을 다룬 문서로, IPoAC 프로토콜을 통해 IP 데이터를 두루마리에 인쇄하여 조류의 다리에 부착, 전송하는 방식을 설명한다. - 컴퓨터 접근 제어 프로토콜 - RADIUS
RADIUS는 네트워크 접근 관리에 사용되는 AAA 프로토콜로, 클라이언트-서버 모델을 기반으로 사용자 인증 및 권한 부여를 수행하며 다양한 환경에서 활용된다. - 컴퓨터 접근 제어 프로토콜 - OAuth
OAuth는 웹/앱 환경에서 사용자 인증 및 API 접근 권한 위임을 위한 개방형 표준 프로토콜로, 버전 1.0과 2.0을 거쳐 2.1 초안이 진행 중이며, 널리 사용되지만 복잡성과 보안 문제에 대한 논쟁도 있다. - HTTP - HTTPS
HTTPS는 HTTP에 보안 기능이 더해진 통신 규약으로, 웹 브라우저와 서버 간 통신을 암호화하여 보안을 강화하지만, 인증서 비용, 서버 부하, 혼합 콘텐츠 문제 등의 단점도 존재한다. - HTTP - HTTP 쿠키
HTTP 쿠키는 웹 서버가 사용자 브라우저에 저장하는 작은 텍스트 파일로, 웹 사이트가 방문 기록, 로그인 정보 등을 기억하여 HTTP의 상태 비저장성을 보완하고 세션 관리, 개인 설정, 사용자 추적 등에 활용되지만 개인 정보 보호 및 보안 문제에 대한 논란이 있다.
다이제스트 인증 | |
---|---|
개요 | |
유형 | HTTP 인증 방법 |
목적 | 웹 서버와 브라우저 간의 자격 증명 협상 |
기술 정보 | |
기반 기술 | HTTP |
보안 메커니즘 | MD5 해싱 nonce 값 사용 |
특징 | 비밀번호를 평문으로 전송하지 않음 중간자 공격에 취약할 수 있음 (보안 강화를 위해 HTTPS와 함께 사용 권장) |
사용 예시 | |
적용 분야 | 웹 페이지 접근 제어 API 인증 |
장단점 | |
장점 | 구현 용이 비밀번호 노출 위험 감소 |
단점 | 중간자 공격에 취약 (HTTPS 필요) 무차별 대입 공격에 취약할 수 있음 (강력한 비밀번호 정책 필요) |
관련 표준 | |
RFC | RFC 2617 (초기 정의) RFC 7616 (최신 정의) |
2. 역사
다이제스트 액세스 인증은 1993년 CERN의 필립 핼럼-베이커(Phillip Hallam-Baker)에 의해 설계되었다.[2][3] 초기에는 (2069 ''HTTP 확장: 다이제스트 액세스 인증'')에 의해 전통적인 다이제스트 인증 방식이 정의되었다. 이 방식은 서버에서 생성된 논스 값으로 보안을 유지했다. 인증 응답은 다음과 같이 구성되었다.
:
HA1 = MD5(사용자 이름:영역:비밀번호)
HA2 = MD5(메서드:다이제스트URI)
응답 = MD5(HA1:논스:HA2)
MD5 해시는 16바이트 값이며, 응답 계산에 사용되는 HA1과 HA2 값은 각각 MD5 해시의 16진수 표현(소문자)이다.
이후 (2617 ''HTTP 인증: 기본 및 다이제스트 액세스 인증'')으로 대체되면서 다이제스트 인증에 대한 여러 가지 선택적 보안 강화 기능이 도입되었다. '''"보호 품질" (qop)''', 클라이언트에서 증가하는 논스 카운터, 클라이언트에서 생성된 임의의 논스 등이 추가되었다. 이러한 기능은 선택 평문 공격 암호 분석으로부터 보호하기 위해 설계되었다.
algorithm 지시어와 qop 지시어 값에 따라 HA1, HA2, 응답은 다음과 같이 계산된다.
- algorithm 지시어의 값이 "MD5"이거나 지정되지 않은 경우:
:
HA1 = MD5(사용자 이름:영역:비밀번호)
- algorithm 지시어의 값이 "MD5-sess"인 경우:
:
HA1 = MD5(MD5(사용자 이름:영역:비밀번호):논스:cnonce)
- qop 지시어의 값이 "auth"이거나 지정되지 않은 경우:
:
HA2 = MD5(메서드:다이제스트URI)
- qop 지시어의 값이 "auth-int"인 경우:
:
HA2 = MD5(메서드:다이제스트URI:MD5(entityBody))
- qop 지시어의 값이 "auth" 또는 "auth-int"인 경우:
:
응답 = MD5(HA1:논스:논스카운트:cnonce:qop:HA2)
- qop 지시어가 지정되지 않은 경우:
:
응답 = MD5(HA1:논스:HA2)
qop가 지정되지 않은 경우는 더 간단한 RFC 2069 표준을 따른다.
2015년 9월, (7616)은 RFC 2617을 대체하며 "SHA-256", "SHA-256-sess", "SHA-512-256" 및 "SHA-512-256-sess"의 4가지 새로운 알고리즘을 추가했다. 인코딩은 MD5 해싱 함수를 SHA-256 및 SHA-512-256으로 대체하는 "MD5" 및 "MD5-sess" 알고리즘과 동일하다.
2021년 10월, Firefox 93[4]은 다이제스트 인증에 "SHA-256" 및 "SHA-256-sess" 알고리즘을 공식적으로 지원한다. 그러나 "SHA-512-256", "SHA-512-256-sess" 알고리즘 및 사용자 이름 해싱[5]에 대한 지원은 여전히 부족하다.[6] 2023년 8월, Chromium 117 (이후 Chrome 및 Edge)은 "SHA-256"을 지원한다.[7]
3. 동작 방식
다이제스트 인증은 클라이언트와 서버 간의 "챌린지-응답" 방식으로 동작한다. 클라이언트가 인증이 필요한 리소스를 요청하면, 서버는 401 Unauthorized 응답과 함께 챌린지(영역(realm), nonce 등 포함)를 보낸다. 클라이언트는 사용자 이름, 비밀번호, 챌린지 값을 이용하여 응답(response)을 생성하고, 이를 서버에 전송한다. 서버는 자신이 가진 정보와 클라이언트가 보낸 응답을 비교하여 인증 성공 여부를 결정한다.[14]
일반적인 다이제스트 인증 과정은 다음과 같다.
1. 클라이언트 요청 (인증 정보 없음): 클라이언트가 인증이 필요한 페이지를 요청한다. (일반적으로 사용자 이름과 비밀번호는 보내지 않음)
2. 서버 응답 (401 Unauthorized): 서버는 401 "Unauthorized" 응답 코드로 응답하고, 인증 영역(realm)과 nonce를 클라이언트에게 제공한다.
3. 클라이언트 사용자 인증: 브라우저는 사용자에게 인증 영역을 표시하고, 사용자 이름과 비밀번호를 입력받는다. (사용자는 이 단계에서 인증을 취소할 수 있다.)
4. 클라이언트 요청 (인증 정보 포함): 사용자 이름과 비밀번호가 입력되면, 클라이언트는 응답 코드를 포함한 인증 헤더를 추가하여 동일한 요청을 다시 서버에 보낸다.
5. 서버 응답 (인증 성공 또는 실패): 서버는 클라이언트가 보낸 인증 정보를 확인한다. 인증에 성공하면 페이지를 반환하고, 실패하면 다시 401 응답 코드를 반환한다.
RFC 2617에 제시된 예시를 기반으로, "auth"(인증) 보호 품질 코드를 사용하는 일반적인 트랜잭션은 다음과 같다.
; 클라이언트 요청 (인증 없음):
```http
GET /dir/index.html HTTP/1.0
Host: localhost
```
(개행 문자, 캐리지 리턴 뒤에 줄 바꿈이 온다).[15]
; 서버 응답:
```http
HTTP/1.0 401 Unauthorized
Server: HTTPd/0.9
Date: Sun, 10 Apr 2014 20:26:47 GMT
WWW-Authenticate: Digest realm="testrealm@host.com",
qop="auth,auth-int",
nonce="dcd98b7102dd2f0e8b11d0f600bfb0c093",
opaque="5ccc069c403ebaf9f0171e9517f40e41"
Content-Type: text/html
Content-Length: 153
401 Unauthorized.
```
; 클라이언트 요청 (사용자 이름 "Mufasa", 비밀번호 "Circle Of Life"):
```http
GET /dir/index.html HTTP/1.0
Host: localhost
Authorization: Digest username="Mufasa",
realm="testrealm@host.com",
nonce="dcd98b7102dd2f0e8b11d0f600bfb0c093",
uri="/dir/index.html",
qop=auth,
nc=00000001,
cnonce="0a4f113b",
response="6629fae49393a05397450978507c4ef1",
opaque="5ccc069c403ebaf9f0171e9517f40e41"
```
(앞과 마찬가지로 빈 줄이 온다).
; 서버 응답:
```http
HTTP/1.0 200 OK
Server: HTTPd/0.9
Date: Sun, 10 Apr 2005 20:27:03 GMT
Content-Type: text/html
Content-Length: 7984
```
(빈 줄과 제한된 페이지의 HTML 텍스트가 온다).
3. 1. RFC 2617 (MD5)
RFC 2617은 RFC 2069를 대체하여 다이제스트 인증에 대한 여러 가지 선택적 보안 강화 기능을 도입했다. '''"보호 품질"(qop)''', 클라이언트에서 증가하는 논스 카운터, 클라이언트에서 생성된 임의의 논스 등이 그것이다. 이러한 향상된 기능은 선택 평문 공격 암호 분석으로부터 보호하도록 설계되었다.algorithm 지시어에 따라 HA1은 다음과 같이 계산된다.
- algorithm="MD5" (또는 미지정): HA1 = MD5(사용자 이름:영역:비밀번호)
- algorithm="MD5-sess": HA1 = MD5(MD5(사용자 이름:영역:비밀번호):논스:cnonce)
qop 지시어에 따라 HA2는 다음과 같이 계산된다.
- qop="auth" (또는 미지정): HA2 = MD5(메서드:다이제스트URI)
- qop="auth-int": HA2 = MD5(메서드:다이제스트URI:MD5(entityBody))
qop 지시어에 따라 응답은 다음과 같이 계산된다.
- qop="auth" 또는 "auth-int": 응답 = MD5(HA1:논스:논스카운트:cnonce:qop:HA2)
- qop 미지정: 응답 = MD5(HA1:논스:HA2) (RFC 2069 방식)
3. 1. 1. 기본 계산
RFC 2069에 의해 지정된 전통적인 다이제스트 인증 방식은 서버에서 생성된 논스 값으로 보안이 유지되며, 다음과 같이 계산된다.[2]- HA1 = MD5(사용자 이름:영역:비밀번호)
- HA2 = MD5(메서드:다이제스트URI)
- 응답 = MD5(HA1:논스:HA2)
MD5 해시는 16바이트 값이며, 응답 계산에 사용되는 HA1과 HA2 값은 각각 MD5 해시의 16진수 표현(소문자)이다.
이후 RFC 2617에서 다이제스트 인증에 대한 여러 보안 강화 기능이 도입되었다. "보호 품질(qop)", 클라이언트 논스 카운터, 클라이언트 생성 논스 등이 추가되어 선택 평문 공격 암호 분석으로부터 보호한다.
algorithm 지시어에 따라 HA1은 다음과 같이 계산된다.
- algorithm="MD5" (또는 미지정): HA1 = MD5(사용자 이름:영역:비밀번호)
- algorithm="MD5-sess": HA1 = MD5(MD5(사용자 이름:영역:비밀번호):논스:cnonce)
qop 지시어에 따라 HA2는 다음과 같이 계산된다.
- qop="auth" (또는 미지정): HA2 = MD5(메서드:다이제스트URI)
- qop="auth-int": HA2 = MD5(메서드:다이제스트URI:MD5(entityBody))
qop 지시어에 따라 응답은 다음과 같이 계산된다.
- qop="auth" 또는 "auth-int": 응답 = MD5(HA1:논스:논스카운트:cnonce:qop:HA2)
- qop 미지정: 응답 = MD5(HA1:논스:HA2) (RFC 2069 방식)
3. 1. 2. qop (보호 품질) 사용 시
qop 지시어의 값이 "auth" 또는 "auth-int"인 경우, 응답은 다음과 같이 계산된다.[14]:
응답 = MD5(HA1:논스:논스카운트:cnonce:qop:HA2)
- HA1: 사용자 이름, 영역(realm), 비밀번호를 조합한 MD5 해시값이다.
- 논스(nonce): 서버에서 생성한 임의의 값이다.
- 논스카운트(nc): 클라이언트가 생성한 논스 카운터 값.
- cnonce: 클라이언트에서 생성한 임의의 논스 값.
- qop: 보호 품질(quality of protection) 값 ("auth" 또는 "auth-int").
- HA2: 메서드와 다이제스트 URI를 조합한 MD5 해시값.
RFC 2617에 제시된 예시에 따르면, 각 단계별 결과는 다음과 같다.
- HA1 = MD5( "Mufasa:testrealm@host.com:Circle Of Life" ) = 939e7578ed9e3c518a452acee763bce9
- HA2 = MD5( "GET:/dir/index.html" ) = 39aff3a2bab6126f332b942af96d3366
- 응답 = MD5( "939e7578ed9e3c518a452acee763bce9:dcd98b7102dd2f0e8b11d0f600bfb0c093:00000001:0a4f113b:auth:39aff3a2bab6126f332b942af96d3366" ) = 6629fae49393a05397450978507c4ef1
서버는 클라이언트와 동일한 정보를 가지고 있으므로, 같은 계산을 수행하여 응답값을 검증할 수 있다. 만약 클라이언트가 보낸 응답값과 서버에서 계산한 응답값이 일치하면 인증이 성공한다.
이후 클라이언트는 같은 서버 논스 값을 재사용하여 다른 요청을 보낼 수 있지만, 새로운 클라이언트 논스(cnonce)를 제공해야 한다. 또한, 후속 요청에서는 논스 카운터(nc) 값이 이전에 사용한 값보다 커야 한다.[14] 그렇지 않으면 공격자가 이전 요청을 그대로 반복하는 재생 공격을 할 수 있기 때문이다. 서버는 논스 카운터 값을 확인하고, 적절하지 않은 요청은 거부해야 한다.
3. 1. 3. MD5-sess 알고리즘
algorithm 지시어의 값이 "MD5-sess"인 경우, HA1은 다음과 같이 계산된다.[1]:
HA1 = MD5(MD5(사용자 이름:영역:비밀번호):논스:cnonce)
3. 2. RFC 7616 (SHA-256, SHA-512-256)
RFC 7616에서는 SHA-256, SHA-512-256 해시 함수를 사용하는 알고리즘이 추가되었다. MD5 알고리즘과 계산 방식은 동일하며, 해시 함수만 SHA-256 또는 SHA-512-256으로 대체된다.[2][3] 2021년 10월 기준으로, Firefox 93[4]은 다이제스트 인증에 "SHA-256" 및 "SHA-256-sess" 알고리즘을 공식적으로 지원하지만, "SHA-512-256", "SHA-512-256-sess" 알고리즘 및 사용자 이름 해싱[5]에 대한 지원은 여전히 부족하다.[6] 2023년 8월 기준으로, Chromium 117 (이후 Chrome 및 Edge)은 "SHA-256"을 지원한다.[7]4. 보안 고려 사항
HTTP 다이제스트 인증은 MD5를 이용한 단방향 함수를 사용하므로, 출력값만으로는 원래 입력을 알아내기 어렵다. 그러나 암호가 단순하면 무차별 대입 공격(사전 공격, 레인보우 테이블 등을 이용)으로 모든 입력을 대조해 일치하는 출력을 찾을 수 있다.[8]
HTTP 방식은 1993년 CERN의 필립 핼럼-베이커가 설계했으며, HMAC 같은 후속 개선 사항은 반영되지 않았다. 암호화에 MD5 해시 함수가 사용되지만, 2004년에는 충돌 공격이 암호가 알려지지 않은 경우에 영향을 주지 않는다고 여겨졌다.[9] 그러나 2006년에 다른 MD5 응용에도 의문이 제기되었다.[10]
4. 1. 장점
다이제스트 인증은 비밀번호가 평문으로 전송되지 않아 기본 인증보다 안전하다.[2][3] RFC 2617에서는 클라이언트 논스, 논스 카운터 등을 통해 보안을 강화했다.- 보안 강화:
- 비밀번호가 서버로 평문으로 전송되지 않는다.
- 비밀번호는 다이제스트에 직접 사용되지 않고, `HA1 = MD5(사용자 이름:영역:비밀번호)` 형태로 사용된다.
- RFC 2617에 클라이언트 논스가 도입되어, 선택 평문 공격을 방지한다.
- 서버 논스는 타임스탬프를 포함하여, 재전송 공격을 방지한다.
- 일반 비밀번호가 어떤 서버로도 전송되지 않기 때문에 피싱을 방지한다.
4. 2. 단점
다이제스트 액세스 인증에는 다음과 같은 몇 가지 단점이 있다.- 웹사이트는 최종 사용자에게 제시되는 사용자 인터페이스를 제어할 수 없다.[12]
- RFC 2617의 많은 보안 옵션은 선택 사항이다. 서버에서 품질 보호(qop)를 지정하지 않으면 클라이언트는 보안이 저하된 레거시 RFC 2069 모드로 작동한다.[12]
- 다이제스트 액세스 인증은 중간자(MITM) 공격에 취약하다. 예를 들어, 공격자는 클라이언트에게 기본 액세스 인증 또는 레거시 RFC 2069 다이제스트 액세스 인증 모드를 사용하도록 지시할 수 있다. 또한, 다이제스트 액세스 인증은 클라이언트가 서버의 신원을 확인할 수 있는 메커니즘을 제공하지 않는다.[12]
- 서버는 비밀번호 자체 대신 HA1 = MD5(사용자 이름:영역:비밀번호)를 저장할 수 있다. 그러나 저장된 HA1이 유출되면 공격자는 유효한 응답을 생성하고 비밀번호에 액세스하는 것만큼 쉽게 영역 내 문서에 액세스할 수 있다. 따라서 HA1 값은 일반 텍스트 비밀번호가 포함된 파일만큼 안전하게 보호되어야 한다.[12]
- 다이제스트 액세스 인증은 비밀번호를 저장할 때 bcrypt와 같은 강력한 비밀번호 해시의 사용을 방지한다. (비밀번호 또는 다이제스트된 사용자 이름, 영역 및 비밀번호를 복구할 수 있어야 하므로).[12]
- MD5 알고리즘은 FIPS에서 허용되지 않으므로, HTTP 다이제스트 인증은 FIPS 인증 암호화 모듈과 함께 작동하지 않는다.[13]
2015년에 RFC 7616은 RFC 2617을 대체하면서 SHA-256, SHA-512-256 등의 새로운 알고리즘을 추가했다. 그러나 2021년 7월 기준으로, Firefox[2] 및 Chrome[3]을 포함한 주요 브라우저들은 SHA-256 해시 함수를 지원하지 않았다. 2021년 10월, Firefox 93[4]은 다이제스트 인증에 "SHA-256" 및 "SHA-256-sess" 알고리즘을 공식적으로 지원한다. 그러나 "SHA-512-256", "SHA-512-256-sess" 알고리즘 및 사용자 이름 해싱[5]에 대한 지원은 여전히 부족하다.[6] 2023년 8월, Chromium 117 (이후 Chrome 및 Edge)은 "SHA-256"을 지원한다.[7]
5. 구현
아파치 HTTP 서버에서는 `.htdigest` 파일을 이용하여 다이제스트 인증을 설정할 수 있다.[16] 이 파일은 사용자 이름, 영역, 비밀번호를 저장하는 플랫 파일이다.[16] 파일 이름은 `.htaccess` 구성에 지정되며, ".htdigest"가 표준 이름이다.[16] 대부분의 유닉스 계열 운영 체제에서 점(.)으로 시작하는 파일은 숨겨진 파일로 간주되기 때문에, 파일 이름은 점으로 시작한다.[16]
`.htdigest` 파일은 `htdigest` 셸 명령으로 관리되며, 사용자를 추가/업데이트하고 비밀번호를 올바르게 인코딩한다.[16] `htdigest` 명령은 dpkg의 '''apache2-utils''' 패키지, RPM의 '''httpd-tools''' 패키지에서 찾을 수 있다.[16]
`.htdigest` 파일의 형식은 다음과 같다.[16]
```text
user1:Realm:5ea41921c65387d904834f8403185412
user2:Realm:734418f1e487083dc153890208b79379
```
대부분의 웹 브라우저에서 다이제스트 인증을 지원한다. 다만, 일부 기능(예: `auth-int`, `MD5-sess` 알고리즘)은 지원되지 않을 수 있다. 다음은 다이제스트 인증을 지원하는 브라우저 목록이다.[17][18][19][20]
- 아마야
- 게코 기반:
- 모질라 애플리케이션 스위트
- 모질라 파이어폭스
- 넷스케이프 7+
- iCab 3.0.3+
- KHTML 및 WebKit 기반:
- iCab 4
- Konqueror
- 구글 크롬
- 사파리
- 태즈먼 기반:
- 인터넷 익스플로러 for Mac
- 트라이던트 기반:
- 인터넷 익스플로러 5+
- 프레스토 기반:
- 오페라
- 오페라 모바일
- 오페라 미니
- 닌텐도 DS 브라우저
- 노키아 770 브라우저
- 소니 마일로 1의 브라우저
- Wii 인터넷 채널 브라우저
2021년 10월 기준으로, 모질라 파이어폭스 93[4]은 다이제스트 인증에 "SHA-256" 및 "SHA-256-sess" 알고리즘을 공식적으로 지원한다. 그러나 "SHA-512-256", "SHA-512-256-sess" 알고리즘 및 사용자 이름 해싱[5]에 대한 지원은 여전히 부족하다.[6] 2023년 8월 기준으로, Chromium 117 (이후 Chrome 및 Edge)은 "SHA-256"을 지원한다.[7]
6. 다른 인증 프로토콜과의 비교
HTTPS를 통한 기본 인증은 HTTPS 네트워크 암호화를 사용하여 다이제스트 액세스 인증이 방지하도록 설계된 많은 위협을 해결한다. 그러나 HTTPS를 사용하더라도 최종 사용자가 자신의 암호를 신뢰할 수 없는 서버로 전송하는 것을 막기 위해 매번 올바른 URL에 접속하는지 확인해야 하므로, 피싱 공격에는 여전히 취약하다.[8] 사용자가 이 작업을 제대로 수행하지 못하는 경우가 많아 피싱은 가장 흔한 형태의 보안 침해 중 하나가 되었다.[8]
웹 기반 응용 프로그램에서 사용되는 강력한 인증 프로토콜은 다음과 같다.
참조
[1]
문서
Moving DIGEST-MD5 to Historic, July 2011
https://datatracker.[...]
2011-07
[2]
웹사이트
Bug 472823: SHA 256 Digest Authentication
https://bugzilla.moz[...]
[3]
웹사이트
Issue 1160478: SHA-256 for HTTP Digest Access Authentication in accordance with rfc7616
https://bugs.chromiu[...]
[4]
웹사이트
Bug 472823: SHA 256 Digest Authentication
https://bugzilla.moz[...]
[5]
뉴스
IETF.org: RFC 7616 Username Hashing
https://datatracker.[...]
2015-09-30
[6]
웹사이트
Mozilla-central: support SHA-256 HTTP Digest auth
https://hg.mozilla.o[...]
[7]
웹사이트
Chrome Feature: RFC 7616 Digest auth: Support SHA-256 and username hashing
https://chromestatus[...]
[8]
문서
List of rainbow tables, Project Rainbowcrack
http://project-rainb[...]
[9]
웹사이트
Hash Collision Q&A
http://www.cryptogra[...]
Cryptography Research
2005-02-16
[10]
웹사이트
On the Security of HMAC and NMAC Based on HAVAL, MD4, MD5, SHA-0 and SHA-1
https://eprint.iacr.[...]
IACR
[11]
웹사이트
DIGEST Authentication (4.0.4+)
https://web.archive.[...]
JBoss
2013-03-04
[12]
간행물
HTTP Authentication: Basic and Digest Access Authentication: Storing passwords
https://tools.ietf.o[...]
IETF
1999-06
[13]
웹사이트
Annex A: Approved Security Functions for FIPS PUB 140-2, Security Requirements for Cryptographic Modules
http://csrc.nist.gov[...]
National Institute of Standards and Technology
2014-01-31
[14]
문서
[15]
웹사이트
Hypertext Transfer Protocol -- HTTP/1.0: Request
http://www.w3.org/Pr[...]
W3C
1996-02-19
[16]
웹사이트
htdigest - manage user files for digest authentication
http://httpd.apache.[...]
[17]
웹사이트
Bug 168942 - Digest authentication with integrity protection
https://bugzilla.moz[...]
2002-09-16
[18]
웹사이트
HTTP Digest Integrity: Another look, in light of recent attacks
https://secure.vsecu[...]
vsecurity.com
2010-01-05
[19]
웹사이트
TechNet Digest Authentication
https://technet.micr[...]
2013-08
[20]
웹사이트
Opera admits defeat, switches to Google's Chromium
https://www.extremet[...]
Ziff Davis
2024-01-19
[21]
문서
Moving DIGEST-MD5 to Historic, July 2011
https://datatracker.[...]
2011-07
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com