HTTP摘要认证
HTTPï¼ÂHTTPS |
---|
![]() |
çÂÂæÂ¬ |
请æ±ÂæÂ¹æ³ |
æÂ¥æÂÂ主你|
é Âæ¬Âä½ |
çÂÂæ Â碼 |
ç¸堳主颠|
æÂÂè¦Â访é®认è¯ÂæÂ¯ä¸Âç§ÂÃ¥ÂÂè®®è§Âå®ÂçÂÂWebæÂÂå¡å¨ç¨æÂ¥åÂÂç½Â页æµÂè§Âå¨è¿Âè¡Â认è¯Âä¿¡æÂ¯åÂÂÃ¥ÂÂçÂÂæÂ¹æ³ÂãÂÂå®Âå¨å¯Âç ÂÃ¥ÂÂåºåÂÂï¼Âå Â对堶åºÂç¨åÂÂå¸Âå½æÂ°ï¼Âè¿Âç¸对äºÂHTTPåºæÂ¬è®¤è¯ÂÃ¥ÂÂéÂÂæÂÂæÂÂèÂÂè¨Âï¼ÂæÂ´å®Âå ¨ãÂÂ
ä»ÂæÂÂæÂ¯ä¸Â讲ï¼ÂæÂÂè¦Â认è¯ÂæÂ¯ä½¿ç¨éÂÂæÂºæÂ°æÂ¥éÂȾ¢è¿Âè¡Âå¯Âç ÂÃ¥ÂÂæÂÂçÂÂMD5å å¯ÂÃ¥ÂÂå¸Âå½æÂ°åºÂç¨ãÂÂå®Â使ç¨HTTPÃ¥ÂÂè®®ãÂÂ
æ¦Âè¿°
æÂÂè¦Â访é®认è¯ÂæÂÂÃ¥ÂÂç± RFC 2069 (HTTPçÂÂä¸Â个æÂ©å±Âï¼ÂæÂÂè¦Â访é®认è¯Â)ä¸Â被å®Âä¹ÂãÂÂRFC 2069 大è´å®Âä¹ÂäºÂä¸Â个传ç»ÂçÂÂç±æÂÂå¡å¨çÂÂæÂÂéÂÂæÂºæÂ°æÂ¥ç»´æÂ¤å®Âå ¨æÂ§çÂÂæÂÂè¦Â认è¯ÂæÂ¶æÂÂãÂÂ认è¯ÂÃ¥ÂÂåºÂç±ä¸ÂÃ¥ÂÂç»ÂæÂÂï¼ÂHA1ãÂÂHA2ãÂÂA1ãÂÂÃ¥ÂÂA2为åÂÂ符串åÂÂéÂÂçÂÂÃ¥ÂÂç§°ï¼Âï¼Â
RFC 2069 éÂÂÃ¥ÂÂ被 RFC 2617 (HTTP 认è¯Âï¼ÂåºæÂŒÂÂæÂÂè¦Â访é®认è¯Â)Ã¥ÂÂ代ãÂÂRFC 2617 å¼Âå ¥äºÂä¸Âç³»åÂÂå®Âå ¨å¢Â强çÂÂéÂÂ项ï¼ÂâÂÂä¿ÂæÂ¤è´¨éÂÂâÂÂ(qop)ãÂÂéÂÂæÂºæÂ°è®¡æÂ°å¨ç±客æÂ·ç«¯å¢Âå ãÂÂ以åÂÂ客æÂ·çÂÂæÂÂçÂÂéÂÂæÂºæÂ°ãÂÂè¿ÂäºÂå¢Â强为äºÂé²æÂ¢å¦ÂéÂÂæÂ©æÂÂæÂÂæÂȌÂȍÂÂå¯Âç ÂÃ¥ÂÂæÂÂãÂÂ
å¦ÂæÂ qop å¼为âÂÂauthâÂÂæÂÂæÂªæÂÂå®Âï¼Âé£习HA2 为
å¦ÂæÂ qop å¼为âÂÂauth-intâÂÂï¼Âé£习HA2 为
å¦ÂæÂ qop å¼为âÂÂauthâÂÂæÂÂâÂÂauth-intâÂÂï¼Âé£ä¹Âå¦Âä¸Â计箠responseï¼Â
å¦ÂæÂ qop æÂªæÂÂå®Âï¼Âé£ä¹Âå¦Âä¸Â计箠responseï¼Â
ä¸Â颿ÂÂè¿°çÂÂè¿Âç§Âå½ qop æÂªæÂÂå®ÂçÂÂæÂ åÂ括Âä¹Âå°±æÂ¯éµ循ç®ÂÃ¥ÂÂç RFC 2069 æ ÂÃ¥ÂÂãÂÂ
MD5 å®Âå ¨é®é¢Â对æÂÂè¦Â认è¯ÂçÂÂå½±åÂÂ
å¨ HTTP æÂÂè¦Â认è¯Âä¸Â使ç¨ MD5 å å¯ÂæÂ¯ä¸ºäºÂè¾¾æÂÂ"ä¸Âå¯éÂÂçÂÂ"ï¼Âä¹Âå°±æÂ¯è¯´ï¼Âå½Âè¾Âåº已çÂ¥çÂÂæÂ¶åÂÂï¼Âç¡®å®ÂÃ¥ÂÂå§ÂçÂÂè¾Âå ¥åºÂ该æÂ¯ç¸å½Âå°é¾çÂÂãÂÂå¦ÂæÂÂå¯Âç ÂæÂ¬èº«å¤ªè¿Âç®ÂÃ¥ÂÂï¼Âä¹Â许å¯以éÂÂè¿Âå°Âè¯ÂæÂÂæÂÂå¯è½çÂÂè¾Âå ¥æÂ¥æÂ¾å°对åºÂçÂÂè¾Âåºï¼Â穷举æÂȌ»ï¼Âï¼ÂçÂÂè³å¯以éÂÂè¿ÂÃ¥ÂÂå ¸æÂÂè éÂÂå½ÂçÂÂæÂ¥æÂ¾è¡¨å 快æÂ¥æÂ¾éÂÂ度ãÂÂ
HTTP æÂÂæÂ¶ç±Phillip Hallam-BakeräºÂ1993å¹´å¨CERN设计æÂÂçÂÂï¼Âå¹¶ä¸Â没æÂÂå¸æÂ¶åÂÂç»Â认è¯Âç³»ç»ÂçÂÂæÂ¹è¿Âï¼Âå¦ÂåºäºÂå¯ÂéÂ¥çÂÂéÂÂæ¹Âè¨ÂæÂ¯é©ÂèÂÂ碼HMACçÂÂÃ¥ÂÂå±ÂãÂÂè½ç¶æÂÂ使ç¨çÂÂå¯Âç Âç»ÂæÂÂæÂ¯åºäºÂMD5éÂÂæ¹Âå½æÂ¸çÂÂï¼Âå¨2004å¹´ï¼ÂéÂÂ常认为å²çªÂæÂȌ»ä¸Âä¼Âå½±åÂÂæÂÂæÂÂï¼Âå¦Âå¯Âç Âï¼ÂæÂªè¢«å¾ÂçÂ¥çÂÂåºÂç¨ãÂÂ[1][ä¾ÂæºÂè«Âæ±Â] ä½ÂæÂ¯ï¼Âå¨2006å¹´çÂÂ声æÂ (Kim, Biryukov2, Preneel, Hong, "On the Security of HMAC and NMAC Based on HAVAL MD4 MD5 SHA-0 and SHA-1") 导è´äºÂä¸ÂäºÂå æÂ¬å ³äº MD5 åºÂç¨çÂÂçÂÂèÂÂãÂÂä¸Âè¿Âï¼Âè³ä»Â为æÂ¢ï¼ÂMD5 å²çªÂæÂȌ»没æÂÂ被è§Â为对æÂÂè¦Â认è¯ÂçÂÂå¨ÂèÂÂï¼Â并丠RFC 2617 å Â许æÂÂå¡å¨å®Âç°ä¸ÂäºÂæÂºå¶æÂ¥æ£ÂæµÂå²çªÂ以åÂÂéÂÂæÂ¾æÂȌÂȋÂÂ
HTTPæÂÂè¦Â认è¯ÂçÂÂèÂÂèÂÂ
ä¼Âå¿
HTTPæÂÂè¦Â认è¯Âç®çÂÂå¨äºÂæ¯Âä¼ ç»ÂæÂÂè¦Â认è¯ÂæÂÂæÂ¶æÂ´å®Âå ¨ï¼Âä¾Âå¦Âï¼ÂâÂÂæÂÂæÂ¾å¼ºäºÂï¼Âå¦Âï¼ÂCRAM-MD5â¦â¦âÂÂã ï¼ÂRFC 2617ï¼Â
ä¸ÂäºÂHTTPæÂÂè¦Â认è¯ÂçÂÂå®Âå ¨æÂ§å¢Â强å¦Âä¸Âï¼Â
- å¯Âç Âå¹¶éÂÂç´æÂ¥å¨æÂÂè¦Âä¸Â使ç¨ï¼ÂèÂÂæÂ¯ HA1 = MD5(username:realm:password)ãÂÂè¿Âå°±å Â许ä¸ÂäºÂå®Âç°ï¼Âå¦Âï¼ÂJBoss DIGESTAuthï¼Â页é¢åÂÂæ¡£å¤Â份ï¼ÂÃ¥ÂÂäºÂäºÂèÂÂç½Âæ¡£æ¡Âé¦Âï¼Â)ä» åÂÂå¨ HA1 èÂÂä¸ÂæÂ¯æÂÂæÂÂå¯Âç ÂãÂÂ
- å¨ RFC 2617 ä¸Âå¼Âå ¥äºÂ客æÂ·ç«¯éÂÂæÂºæÂ°nonceï¼Âcnonceï¼Âï¼Âè¿Âå°Â使客æÂ·ç«¯è½å¤Âé²æÂ¢éÂÂæÂ©æÂÂæÂÂæÂȌ»ï¼Âå¦åÂÂÃ¥ÂÂ彩è¹表ï¼ÂRainbow tableï¼Âè¿Âç±»ä¸Â西就ä¼ÂæÂÂ为æÂÂè¦Â认è¯ÂæÂÂæÂ¶çÂÂå¨ÂèÂÂãÂÂ
- æÂÂå¡å¨éÂÂæÂºæÂ° nonce å Â许å å«æÂ¶é´æÂ³ãÂÂå æÂ¤æÂÂå¡å¨å¯以æ£ÂæÂ¥å®¢æÂ·ç«¯æÂÂ交çÂÂéÂÂæÂºæÂ° nonceï¼Â以é²æÂ¢éÂÂæÂ¾æÂȌÂȋÂÂ
- æÂÂå¡å¨ä¹Âå¯以维æÂ¤ä¸Â个æÂÂè¿ÂÃ¥ÂÂåºæÂÂ使ç¨è¿ÂçÂÂæÂÂå¡å¨éÂÂæÂºæÂ°nonceçÂÂÃ¥ÂÂ表以é²æÂ¢éÂÂç¨ãÂÂ
å£å¿
æÂÂè¦Â访é®认è¯ÂæÂÂæÂÂæÂÂ为ä¸Â个å®Âå ¨æÂ§çÂÂæÂÂè¡·ãÂÂå®ÂæÂÂå¾代æÂ¿éÂÂå å¯ÂçÂÂHTTPåºæÂ¬è®¤è¯ÂãÂÂä½ÂæÂ¯ï¼Âå®Â没æÂÂ被设计为æÂ¿æÂ¢å¼ºè®¤è¯ÂÃ¥ÂÂè®®ï¼Âä¾Âå¦Âå ¬éÂ¥å¯Âç Â妿ÂÂKerberos认è¯ÂãÂÂ
å¨å®Âå ¨æÂ§æÂ¹é¢ï¼ÂæÂÂè¦Â访é®认è¯ÂæÂÂå 个缺ç¹ï¼Â
- RFC 2617 ä¸ÂçÂÂ许å¤Âå®Âå ¨éÂÂ项é½æÂ¯å¯éÂÂçÂÂãÂÂå¦ÂæÂÂæÂÂå¡å¨没æÂÂæÂÂå®Âä¿ÂæÂ¤è´¨éÂÂ(qop)ï¼Â客æÂ·ç«¯å°Â以éÂÂä½Âå®Âå ¨æÂ§çÂÂæÂ©æÂÂç RFC 2069 çÂÂ模å¼ÂæÂÂä½ÂãÂÂ
- æÂÂè¦Â访é®认è¯Â容æÂÂÃ¥ÂÂå°ä¸Âé´人æÂȌÂȋÂÂ举ä¾ÂèÂÂè¨Âï¼Âä¸Â个ä¸Âé´人æÂȌÂȏ å¯以åÂÂç¥客æÂ·ç«¯ä½¿ç¨åºæÂ¬è®¿é®认è¯ÂæÂÂæÂ©æÂÂçÂÂRFC 2069æÂÂè¦Â访é®认è¯Â模å¼ÂãÂÂè¿Âä¸ÂæÂ¥èÂÂè¨Âï¼ÂæÂÂè¦Â访é®认è¯Â没æÂÂæÂÂä¾Âä»»ä½ÂæÂºå¶帮å©客æÂ·ç«¯éªÂè¯ÂæÂÂå¡å¨çÂÂ身份ãÂÂ
- ä¸ÂäºÂæÂÂå¡å¨è¦Âæ±Âå¯Âç Â以å¯éÂÂå å¯Âç®Âæ³ÂÃ¥ÂÂå¨ãÂÂä½ÂæÂ¯ï¼Âä» åÂÂå¨ç¨æÂ·åÂÂãÂÂrealmãÂÂÃ¥ÂÂå¯Âç ÂçÂÂæÂÂè¦ÂæÂ¯å¯è½çÂÂãÂÂ[2]
- å®ÂéÂȾ¢äºÂ使ç¨强å¯Âç ÂÃ¥ÂÂå¸Âå½æÂ°ï¼Âå¦Âbcryptï¼Âä¿ÂÃ¥ÂÂå¯Âç Âï¼Âå 为æÂ è®ºæÂ¯å¯Âç ÂãÂÂæÂÂè ç¨æÂ·åÂÂãÂÂrealmãÂÂå¯Âç ÂçÂÂæÂÂè¦Âé½è¦Âæ±ÂæÂ¯å¯æÂ¢å¤ÂçÂÂï¼ÂãÂÂ
å¯æÂ¿ä»£çÂÂ认è¯ÂÃ¥ÂÂè®®
ä¸ÂäºÂå¯以ç¨äºÂWebåºÂç¨ç¨ÂåºÂçÂÂ强认è¯ÂÃ¥ÂÂè®®å æÂ¬ï¼Â
- å ¬éÂ¥å¯Âç Âå¦认è¯Âï¼ÂéÂÂ常é HTTPS / SSL客æÂ·ç«¯æÂ´æÂ°ä¸Âèµ·å®Âç°ï¼ÂãÂÂ
- KerberosæÂÂSPNEGO认è¯Âï¼Â主è¦ÂæÂ¯å¨é Â置为Integrated Windows Authentication (IWA)çÂÂ微软çÂÂIIS使ç¨ãÂÂ
- Secure Remote Password protocol (éÂÂç¨äºÂHTTPS / TLSå±Â)ãÂÂ
常ç¨çÂÂå¼±æÂÂæÂÂÃ¥ÂÂè®®ï¼Â
- HTTPåºæÂ¬è®¤è¯ÂæÂÂæÂ¶
- HTTP+HTML表åÂÂ认è¯Â
使ç¨HTTPSç½Âç»Âå å¯ÂÃ¥ÂÂæÂ¶ä½¿ç¨è¿ÂäºÂå¼±æÂÂæÂÂÃ¥ÂÂ议解å³äºÂ许å¤ÂæÂÂè¦Â访é®认è¯Âè¯Âå¾è¦Âé²æÂ¢çÂÂ许å¤Âå¨ÂèÂÂãÂÂ
示ä¾ÂÃ¥ÂÂ说æÂÂ
ä¸Âé¢çÂÂä¾ÂÃ¥ÂÂåºèª RFC 2617ï¼Âå¨è¿ÂéÂÂè¿Âè¡ÂäºÂæÂ©å±Âï¼Â对æ¯Âä¸Â个请æ±ÂÃ¥ÂÂÃ¥ÂÂåºÂæÂ¾ç¤ºåºå®ÂæÂ´çÂÂæÂÂæÂ‹ÂÂ注æÂÂï¼Âè¿ÂéÂÂä» ä» æ¶µçÂÂäºÂâÂÂauthâÂÂä¿ÂæÂ¤è´¨éÂÂçÂÂ代ç Âï¼Âå 为å¨æÂ°åÂÂæÂÂé´ï¼ÂæÂÂçÂ¥éÂÂçÂÂåªæÂÂOperaÃ¥ÂÂKonquerorç½Â页æµÂè§Âå¨æÂ¯æÂÂâÂÂauth-intâÂÂï¼Â带å®ÂæÂ´æÂ§ä¿ÂæÂ¤çÂÂ认è¯Âï¼ÂãÂÂè½ç¶å®Âä¹Âä¸ÂæÂÂå°äºÂHTTP 1.1ï¼Âä½ÂæÂ¯è¯¥æÂÂæÂ¶å¯以åÂÂä¸Â颿ÂÂæÂÂè¿°çÂÂè¿Âæ ·æ·»å å°1.0çÂÂæÂÂå¡å¨ä¸ÂÃ¥ÂȋÂÂ
å ¸åÂÂçÂÂ认è¯Âè¿Âç¨Âå æÂ¬å¦Âä¸ÂæÂ¥éª¤ãÂÂ
- 客æÂ·ç«¯è¯·æ±Âä¸Â个éÂÂè¦Â认è¯ÂçÂÂ页é¢ï¼Âä½ÂæÂ¯ä¸ÂæÂÂä¾Âç¨æÂ·åÂÂÃ¥ÂÂå¯Âç ÂãÂÂéÂÂ常è¿ÂæÂ¯ç±äºÂç¨æÂ·ç®ÂÃ¥ÂÂçÂÂè¾Âå ¥äºÂä¸Â个å°åÂÂæÂÂè å¨页é¢ä¸Âç¹å»äºÂæÂÂ个趠é¾æÂ¥ãÂÂ
- æÂÂå¡å¨è¿ÂÃ¥ÂÂ401 "Unauthorized" Ã¥ÂÂåºÂ代ç Âï¼Âå¹¶æÂÂä¾Â认è¯ÂÃ¥ÂÂ(realm)ï¼Â以åÂÂä¸Â个éÂÂæÂºçÂÂæÂÂçÂÂãÂÂåª使ç¨ä¸Â次çÂÂæÂ°å¼ï¼Â称为å¯Âç ÂéÂÂæÂºæÂ° nonceãÂÂ
- æÂ¤æÂ¶ï¼ÂæµÂè§Âå¨ä¼ÂÃ¥ÂÂç¨æÂ·æÂÂ示认è¯ÂÃ¥ÂÂ(realm)ï¼ÂéÂÂ常æÂ¯æÂÂ访é®çÂÂ计ç®ÂæÂºæÂÂç³»ç»ÂçÂÂæÂÂè¿°ï¼Âï¼Âå¹¶ä¸ÂæÂÂ示ç¨æÂ·åÂÂÃ¥ÂÂå¯Âç ÂãÂÂç¨æÂ·æÂ¤æÂ¶å¯以éÂÂæÂ©åÂÂæ¶ÂãÂÂ
- ä¸ÂæÂ¦æÂÂä¾ÂäºÂç¨æÂ·åÂÂÃ¥ÂÂå¯Âç Âï¼Â客æÂ·ç«¯ä¼ÂéÂÂæÂ°åÂÂéÂÂÃ¥ÂÂæ ·çÂÂ请æ±Âï¼Âä½ÂæÂ¯æ·»å äºÂä¸Â个认è¯Â头å æÂ¬äºÂÃ¥ÂÂåºÂ代ç ÂãÂÂ
- å¨è¿Â个ä¾ÂÃ¥ÂÂä¸Âï¼ÂæÂÂå¡å¨æÂ¥åÂÂäºÂ认è¯Âå¹¶ä¸Âè¿ÂÃ¥ÂÂäºÂ请æ±Â页é¢ãÂÂå¦ÂæÂÂç¨æÂ·åÂÂéÂÂæ³ÂÃ¥ÂÂ/æÂÂå¯Âç Âä¸ÂæÂ£ç¡®ï¼ÂæÂÂå¡å¨å°Âè¿ÂÃ¥ÂÂ"401"Ã¥ÂÂåºÂ代ç Âï¼Âç¶åÂÂ客æÂ·ç«¯ä¼ÂÃ¥ÂÂ次æÂÂ示ç¨æÂ·è¾Âå ¥ç¨æÂ·åÂÂÃ¥ÂÂå¯Âç ÂãÂÂ
注æÂÂï¼Â客æÂ·ç«¯å¯è½已ç»ÂæÂ¥æÂÂäºÂç¨æÂ·åÂÂÃ¥ÂÂå¯Âç Âï¼Âå æÂ¤ä¸ÂéÂÂè¦ÂæÂÂ示ç¨æÂ·ï¼Âæ¯Âå¦Â以åÂÂÃ¥ÂÂå¨å¨æµÂè§Âå¨éÂÂçÂÂãÂÂ
- 客æÂ·ç«¯è¯·æ± (æÂ è®¤è¯Â)
GET /dir/index.html HTTP/1.0 Host: localhost
(è·ÂéÂÂä¸Â个æÂ°è¡Âï¼Âå½¢å¼Â为ä¸Â个åÂÂ车åÂÂè·Âä¸Â个æÂÂè¡Âï¼ [3]
- æÂÂå¡å¨åÂÂåºÂ
HTTP/1.0 401 Unauthorized Server: HTTPd/0.9 Date: Sun, 10 Apr 2005 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: 311 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtdï¼Â页é¢åÂÂæ¡£å¤Â份ï¼ÂÃ¥ÂÂäºÂäºÂèÂÂç½Âæ¡£æ¡Âé¦Âï¼Â"> <HTML> <HEAD> <TITLE>Error</TITLE> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1"> </HEAD> <BODY><H1>401 Unauthorized.</H1></BODY> </HTML>
- 客æÂ·ç«¯è¯·æ± (ç¨æÂ·å "Mufasa", å¯Âç  "Circle Of Life")
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/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页é¢).
å¦Âä¸ÂæÂÂè¿°ï¼Âresponse å¼ç±ä¸ÂæÂ¥è®¡ç®ÂèÂÂæÂÂãÂÂå½Âå¤Â个æÂ°å¼åÂÂå¹¶çÂÂæÂ¶åÂÂï¼Â使ç¨åÂÂå·ä½Â为åÂÂå²符ãÂÂ
- 对ç¨æÂ·åÂÂãÂÂ认è¯ÂÃ¥ÂÂ(realm)以åÂÂå¯Âç ÂçÂÂÃ¥ÂÂå¹¶å¼计箠MD5 Ã¥ÂÂå¸Âå¼ï¼Âç»ÂæÂÂ称为 HA1ãÂÂ
- 对HTTPæÂ¹æ³Â以åÂÂURIçÂÂæÂÂè¦ÂçÂÂÃ¥ÂÂå¹¶å¼计箠MD5 Ã¥ÂÂå¸Âå¼ï¼Âä¾Âå¦Âï¼Â
"GET"
Ã¥ÂÂ"/dir/index.html"
ï¼Âç»ÂæÂÂ称为 HA2ã - 对 HA1ãÂÂæÂÂå¡å¨å¯Âç ÂéÂÂæÂºæÂ°(nonce)ãÂÂ请æ±Â计æÂ°(nc)ãÂÂ客æÂ·ç«¯å¯Âç ÂéÂÂæÂºæÂ°(cnonce)ãÂÂä¿ÂæÂ¤è´¨éÂÂ(qop)以å HA2 çÂÂÃ¥ÂÂå¹¶å¼计箠MD5 Ã¥ÂÂå¸Âå¼ãÂÂç»ÂæÂÂå³为客æÂ·ç«¯æÂÂä¾Âç response å¼ãÂÂ
å 为æÂÂå¡å¨æÂ¥æÂÂä¸Â客æÂ·ç«¯åÂÂæ ·çÂÂä¿¡æÂ¯ï¼Âå æÂ¤æÂÂå¡å¨å¯以è¿Âè¡ÂÃ¥ÂÂæ ·çÂÂ计ç®Âï¼Â以éªÂè¯Â客æÂ·ç«¯æÂÂ交ç response å¼çÂÂæÂ£ç¡®æÂ§ãÂÂå¨ä¸Âé¢ç»ÂåºçÂÂä¾ÂÃ¥ÂÂä¸Âï¼Âç»ÂæÂÂæÂ¯å¦Âä¸Â计ç®ÂçÂÂãÂÂ
ï¼ÂMD5()
表示ç¨äºÂ计箠MD5 Ã¥ÂÂå¸Âå¼çÂÂå½æÂ°ï¼ÂâÂÂ\âÂÂ表示æÂ¥ä¸Âä¸Âè¡Âï¼Âå¼Âå·并ä¸ÂÃ¥ÂÂä¸Â计ç®Âï¼Â
å®ÂæÂ RFC 2617 ä¸ÂæÂÂç»ÂåºçÂÂ示ä¾Âï¼Âå°Â卿¯ÂæÂ¥å¾Âåºå¦Âä¸Âç»ÂæÂÂãÂÂ
HA1 = MD5( "Mufasa:testrealm@host.com:Circle Of Life" ) = 939e7578ed9e3c518a452acee763bce9 HA2 = MD5( "GET:/dir/index.html" ) = 39aff3a2bab6126f332b942af96d3366 Response = MD5( "939e7578ed9e3c518a452acee763bce9:\ dcd98b7102dd2f0e8b11d0f600bfb0c093:\ 00000001:0a4f113b:auth:\ 39aff3a2bab6126f332b942af96d3366" ) = 6629fae49393a05397450978507c4ef1
æÂ¤æÂ¶å®¢æÂ·ç«¯å¯以æÂÂ交ä¸Â个æÂ°çÂÂ请æ±Âï¼ÂéÂÂå¤Â使ç¨æÂÂå¡å¨å¯Âç ÂéÂÂæÂºæÂ°(nonce)ï¼ÂæÂÂå¡å¨仠卿¯Â次âÂÂ401âÂÂÃ¥ÂÂåºÂÃ¥ÂÂÃ¥ÂÂè¡ÂæÂ°çÂÂnonceï¼Âï¼Âä½ÂæÂ¯æÂÂä¾ÂæÂ°çÂÂ客æÂ·ç«¯å¯Âç ÂéÂÂæÂºæÂ°(cnonce)ãÂÂå¨åÂÂç»ÂçÂÂ请æ±Âä¸Âï¼ÂÃ¥ÂÂå Âè¿Âå¶请æ±Â计æÂ°å¨(nc)å¿ é¡»æ¯ÂÃ¥ÂÂä¸Â次使ç¨çÂÂæÂ¶åÂÂè¦Â大ï¼Âå¦åÂÂæÂȌÂȏ å¯以ç®ÂÃ¥ÂÂçÂÂ使ç¨åÂÂæ ·çÂÂ认è¯Âä¿¡æÂ¯éÂÂæÂ¾èÂÂçÂÂ请æ±ÂãÂÂç±æÂÂå¡å¨æÂ¥ç¡®ä¿Â卿¯Â个åÂÂåºçÂÂå¯Âç ÂéÂÂæÂºæÂ°nonceæÂ¶ï¼Â计æÂ°å¨æÂ¯å¨å¢Âå çÂÂï¼Âå¹¶æÂÂç»ÂæÂÂä»»ä½ÂéÂÂ误çÂÂ请æ±ÂãÂÂæÂ¾ç¶ï¼ÂæÂ¹åÂÂHTTPæÂ¹æ³ÂÃ¥ÂÂ/æÂÂ计æÂ°å¨æÂ°å¼é½ä¼Â导è´ä¸ÂÃ¥ÂÂç response å¼ãÂÂ
æÂÂå¡å¨åºÂå½Âè®°ä½ÂæÂÂè¿ÂæÂÂçÂÂæÂÂçÂÂæÂÂå¡å¨å¯Âç ÂéÂÂæÂºæÂ°nonceçÂÂå¼ãÂÂä¹Âå¯以å¨åÂÂè¡Âæ¯Âä¸Â个å¯Âç ÂéÂÂæÂºæÂ°nonceÃ¥ÂÂï¼Âè®°ä½Âè¿Âä¸Â段æÂ¶é´让å®Â们è¿ÂæÂÂãÂÂå¦ÂæÂÂ客æÂ·ç«¯ä½¿ç¨äºÂä¸Â个è¿ÂæÂÂçÂÂå¼ï¼ÂæÂÂå¡å¨åºÂ该åÂÂåºÂâÂÂ401âÂÂç¶æÂÂå·ï¼Âå¹¶ä¸Âå¨认è¯Â头ä¸Âæ·»å stale=TRUE
ï¼Â表æÂÂ客æÂ·ç«¯åºÂå½Â使ç¨æÂ°æÂÂä¾ÂçÂÂæÂÂå¡å¨å¯Âç ÂéÂÂæÂºæÂ°nonceéÂÂÃ¥ÂÂ请æ±Âï¼ÂèÂÂä¸Âå¿Â
æÂÂ示ç¨æÂ·åÂ
¶å®Âç¨æÂ·åÂÂÃ¥ÂÂå£令ãÂÂ
æÂÂå¡å¨ä¸ÂéÂÂè¦Âä¿ÂÃ¥ÂÂä»»ä½Âè¿ÂæÂÂçÂÂå¯Âç ÂéÂÂæÂºæÂ°ï¼Âå®Âå¯以ç®ÂÃ¥ÂÂçÂÂ认为æÂÂæÂÂä¸Â认è¯ÂçÂÂæÂ°å¼é½æÂ¯è¿ÂæÂÂçÂÂãÂÂæÂÂå¡å¨ä¹Âå¯以åªå Â许æ¯Âä¸Â个æÂÂå¡å¨å¯Âç ÂéÂÂæÂºæÂ°nonce使ç¨ä¸Â次ï¼Âå½Âç¶ï¼Âè¿Âæ ·å°±ä¼Â迫使客æÂ·ç«¯å¨åÂÂéÂÂæ¯Â个请æ±ÂçÂÂæÂ¶åÂÂéÂÂå¤Â认è¯Âè¿Âç¨ÂãÂÂéÂÂè¦Â注æÂÂçÂÂæÂ¯ï¼Âå¨çÂÂæÂÂÃ¥ÂÂç«Âå»è¿ÂæÂÂæÂÂå¡å¨å¯Âç ÂéÂÂæÂºæÂ°nonceæÂ¯ä¸Âè¡ÂçÂÂï¼Âå 为客æÂ·ç«¯å°Â没æÂÂä»»ä½ÂæÂºä¼ÂæÂ¥ä½¿ç¨è¿Â个nonceãÂÂ
SIP æÂÂè¦Â认è¯Â
SIPåºæÂ¬ä¸Â使ç¨äºÂÃ¥ÂÂæ ·çÂÂæÂÂè¦Â认è¯Âç®Âæ³ÂãÂÂå®Âç± RFC 3261 å®Âä¹ÂãÂÂ
æµÂè§Âå¨å®Âç°
大å¤ÂæÂ°æµÂè§Âå¨é½åºæÂ¬ä¸Âå®Âç°äºÂ该åÂÂè®®ï¼Âé¤äºÂæÂÂäºÂç¹æÂ§ï¼Âæ¯Âå¦Âæ£ÂæÂÂ¥auth-intãÂÂæÂÂè MD5-sessç®Âæ³ÂãÂÂå¦ÂæÂÂæÂÂå¡å¨è¦Âæ±Âå¤ÂçÂÂè¿Âç±»å¯éÂÂç¹æÂ§ï¼Â客æÂ·ç«¯å¯è½æÂ æ³Âè¿Âè¡Â认è¯Âï¼Âè½ç¶éÂÂè¦Â注æÂÂçÂÂæÂ¯ï¼ÂApacheæÂÂå¡å¨çÂÂmod_auth_digest模åÂÂä¹Â没æÂÂå®Âå ¨å®Âç° RFC 2617ï¼ÂãÂÂ
- Amaya
- åºäºÂGecko: (ä¸Âå æÂ¬ auth-int: [1])
- iCab 3.0.3+
- åºäºÂKHTML- å WebKit: (ä¸Âå æÂ¬ auth-int [2]ï¼Â页é¢åÂÂæ¡£å¤Â份ï¼ÂÃ¥ÂÂäºÂäºÂèÂÂç½Âæ¡£æ¡Âé¦Âï¼Â)
- åºäºÂTasman:
- Trident-based:
- Internet Explorer 7+ [4] (ä¸Âå æÂ¬ auth-int)
- åºäºÂPresto:
- Opera
- Opera Mobile
- Opera Mini
- Nintendo DS æµÂè§Âå¨
- Nokia 770 æµÂè§Âå¨
- Sony Mylo 1 çÂÂæµÂè§Âå¨
- Wii Internet Channel æµÂè§Âå¨
Ã¥ÂÂè§Â
Ã¥ÂÂèÂÂ
- ^ Hash Collision Q&A. (date unidentified) [2010-07-02]. ï¼ÂÃ¥ÂÂå§Âå 容åÂÂæ¡£äºÂ2004-09-01ï¼Â. 注æÂÂï¼Â没æÂÂç»Âåº堷ä½Âä¿¡æÂ¯ï¼ÂéÂÂè¦Âå¼Âç¨该页çÂÂÃ¥ÂÂç¡®çÂÂçÂÂæÂ‹ÂÂ
- ^ Ã¥ÂÂæ¡£å¯æÂ¬. [2012-11-10]. ï¼ÂÃ¥ÂÂå§Âå 容åÂÂæ¡£äºÂ2010-07-04ï¼Â.
- ^ Ã¥ÂÂæ¡£å¯æÂ¬. [2012-11-10]. ï¼ÂÃ¥ÂÂå§Âå 容åÂÂæ¡£äºÂ2012-11-06ï¼Â.
- ^ Ã¥ÂÂæ¡£å¯æÂ¬. [2012-11-10]. ï¼ÂÃ¥ÂÂå§Âå 容åÂÂæ¡£äºÂ2012-11-11ï¼Â.