∫∂º∞§∞π√
∞™º∞§∂π∞ ™∆√ WEB 17.1 £¤Ì·Ù· Ù˘ ·ÛÊ¿ÏÂÈ·˜ ÛÙÔ Web ∞ÂÈϤ˜ ÁÈ· ÙËÓ ∞ÛÊ¿ÏÂÈ· ÙÔ˘ Web ¶ÚÔÛÂÁÁ›ÛÂȘ ÛÙËÓ ∞ÛÊ¿ÏÂÈ· ÙÔ˘ Web 17.2 ¶ÚˆÙfiÎÔÏÏ· SSL Î·È TLS ∞Ú¯ÈÙÂÎÙÔÓÈ΋ ÙÔ˘ SSL ¶ÚˆÙfiÎÔÏÏÔ ∫·Ù·ÁÚ·Ê‹˜ ÙÔ˘ SSL ¶ÚˆÙfiÎÔÏÏÔ ∞ÏÏ·Á‹˜ ¶·Ú·Ì¤ÙÚˆÓ ∫Ú˘ÙÔÁÚ¿ÊËÛ˘ ¶ÚˆÙfiÎÔÏÏÔ ™˘Ó·ÁÂÚÌÔ‡ ¶ÚˆÙfiÎÔÏÏÔ ÃÂÈÚ·„›·˜ ∫Ú˘ÙÔÁÚ·ÊÈÎÔ› ÀÔÏÔÁÈÛÌÔ› ¶ÚˆÙfiÎÔÏÏÔ TLS 17.3 ∞ÛÊ·Ï‹˜ ∏ÏÂÎÙÚÔÓÈ΋ ™˘Ó·ÏÏ·Á‹ (¶ÚˆÙfiÎÔÏÏÔ SET) ∂ÈÛÎfiËÛË ÙÔ˘ SET µ·ÛÈο ÷ڷÎÙËÚÈÛÙÈο ÙÔ˘ SET ¢ÈÏ‹ ÀÔÁÚ·Ê‹ ¢È·‰Èηۛ· Ù˘ ¶ÏËڈ̋˜ 17.4 ¶ÚÔÙÂÈÓfiÌÂÓË µÈ‚ÏÈÔÁÚ·Ê›· Î·È ¢ÈÎÙ˘·ÎÔ› ∆fiÔÈ 17.5 ŸÚÔÈ-∫ÏÂȉȿ, ∂ÚˆÙ‹ÛÂȘ ∂·Ó¿Ï˄˘ Î·È ¶ÚÔ‚Ï‹Ì·Ù· ŸÚÔÈ-∫ÏÂȉȿ ∂ÚˆÙ‹ÛÂȘ ∂·Ó¿Ï˄˘ ¶ÚÔ‚Ï‹Ì·Ù·
17
592
∫∂º∞§∞π√ 17 / ∞™º∞§∂π∞ ™∆√ WEB
Use your mentality Wake up to reality – From the song, "I’ve Got You under My Skin" By Cole Porter
™∏ª∂π∞-∫§∂π¢π∞ ♦ ∆Ô ÚˆÙfiÎÔÏÏÔ SSL (Secure Socket Layer) ·Ú¤¯ÂÈ ˘ËÚÂۛ˜ ·ÛÊ·Ï›·˜ ·Ó¿ÌÂÛ· ÛÙÔ TCP Î·È Û ÂÊ·ÚÌÔÁ¤˜ Ô˘ ¯ÚËÛÈÌÔÔÈÔ‡Ó ÙÔ TCP. ∏ ¤Î‰ÔÛË ÙÔ˘ ÚÔÙ‡Ô˘ ÁÈ· ÙÔ ¢È·‰›ÎÙ˘Ô Î·ÏÂ›Ù·È TLS (Transport Layer Service). ♦ ∆Ô SSL/TLS ·Ú¤¯ÂÈ ÂÌÈÛÙ¢ÙÈÎfiÙËÙ· ¯ÚËÛÈÌÔÔÈÒÓÙ·˜ Û˘ÌÌÂÙÚÈ΋ ÎÚ˘ÙÔÁÚ¿ÊËÛË, ηıÒ˜ ›Û˘ Î·È ·ÎÂÚ·ÈfiÙËÙ· ÌËӇ̷ÙÔ˜ ¯ÚËÛÈÌÔÔÈÒÓÙ·˜ ¤Ó·Ó ÎÒ‰Èη ·˘ıÂÓÙÈÎÔÔ›ËÛ˘ ÌËӇ̷ÙÔ˜. ♦ ∆Ô SSL/TLS ÂÚÈÏ·Ì‚¿ÓÂÈ Ì˯·ÓÈÛÌÔ‡˜ Ô˘ ÂÈÙÚ¤Ô˘Ó Û ‰‡Ô ¯Ú‹ÛÙ˜ ÙÔ˘ TCP Ó· ηıÔÚ›ÛÔ˘Ó ÙÔ˘˜ Ì˯·ÓÈÛÌÔ‡˜ ·ÛÊ·Ï›·˜ Î·È ÙȘ ˘ËÚÂۛ˜ Ô˘ ı· ¯ÚËÛÈÌÔÔÈ‹ÛÔ˘Ó. ♦ ∆Ô ÚˆÙfiÎÔÏÏÔ ·ÛÊ·ÏÔ‡˜ ËÏÂÎÙÚÔÓÈ΋˜ Û˘Ó·ÏÏ·Á‹˜ SET (Secure Electronic Transaction) ۯ‰ȿÛÙËΠÁÈ· ÙËÓ ÚÔÛÙ·Û›· Û˘Ó·ÏÏ·ÁÒÓ Ì ÈÛÙˆÙÈ΋ οÚÙ· ̤ۈ ÙÔ˘ ¢È·‰ÈÎÙ‡Ô˘.
√˘ÛÈ·ÛÙÈο, fiϘ ÔÈ ÂȯÂÈÚ‹ÛÂȘ, ÔÈ ÂÚÈÛÛfiÙÂÚÔÈ ÎÚ·ÙÈÎÔ› ÔÚÁ·ÓÈÛÌÔ›, ηıÒ˜ Î·È Ï‹ıÔ˜ Ê˘ÛÈÎÒÓ ÚÔÛÒˆÓ, ‰È·ı¤ÙÔ˘Ó Ì›· ÈÛÙÔÛÂÏ›‰·. ∆·˘Ùfi¯ÚÔÓ·, ۯ‰fiÓ fiÏÔÈ Ï¤ÔÓ ¤¯Ô˘Ó ¿ÌÂÛË ÚfiÛ‚·ÛË ÁÈ· ÏÔ‹ÁËÛË ÛÙÔÓ ¶·ÁÎfiÛÌÈÔ πÛÙfi (Web). ŒÙÛÈ, ÔÈ ÂȯÂÈÚ‹ÛÂȘ ÂȉÂÈÎÓ‡Ô˘Ó ÂÓıÔ˘ÛÈ·ÛÌfi ÛÙÔ Ó· ·Ú¤¯Ô˘Ó ÛÙÔ˘˜ ÂÏ¿Ù˜ ÙÔ˘˜ ‰˘Ó·ÙfiÙËÙ· Ó· ÂÁηıÈÛÙÔ‡Ó ÛÙÔÓ πÛÙfi ̤۷ ÁÈ· ËÏÂÎÙÚÔÓÈÎfi ÂÌfiÚÈÔ. ∏ ·Ï‹ıÂÈ· ˆÛÙfiÛÔ Â›Ó·È fiÙÈ ÙfiÛÔ ÙÔ ¢È·‰›ÎÙ˘Ô fiÛÔ Î·È ÙÔ Web Â›Ó·È ÂÍ·ÈÚÂÙÈο ¢¿ÏˆÙ· ˆ˜ ÚÔ˜ ÔÏÏ¿ ˙ËÙ‹Ì·Ù· ·ÛÊ·Ï›·˜. ∫·Ù¿ Û˘Ó¤ÂÈ·, ·˘Í¿ÓÔÓÙ·È ‰È·ÚÎÒ˜ ÔÈ ··ÈÙ‹ÛÂȘ ÁÈ· ·ÛÊ·Ï›˜ ˘ËÚÂۛ˜ ÛÙÔ Web. ∆Ô ı¤Ì· Ù˘ ·ÛÊ¿ÏÂÈ·˜ ÙÔ˘ Web Â›Ó·È Ôχ ¢ڇ Î·È ı· ÌÔÚÔ‡Û ‡ÎÔÏ· Ó· ηχ„ÂÈ ÔÏfiÎÏËÚÔ ‚È‚Ï›Ô (ÛÙÔ Ù¤ÏÔ˜ ÙÔ˘ ·ÚfiÓÙÔ˜ ÎÂÊ·Ï·›Ô˘ ÚÔÙ›ÓÔÓÙ·È ‰È¿ÊÔÚ˜ Û¯ÂÙÈΤ˜ ËÁ¤˜). ™ÙÔ ÎÂÊ¿Ï·ÈÔ ·˘Ùfi ÍÂÎÈÓԇ̛̠̠· Û˘˙‹ÙËÛË ÙˆÓ ÁÂÓÈÎÒÓ ··ÈÙ‹ÛÂˆÓ ÁÈ· ÙËÓ ·ÛÊ¿ÏÂÈ· ÙÔ˘ Web, Î·È ÛÙË Û˘Ó¤¯ÂÈ· ÂÈÎÂÓÙÚˆÓfiÌ·ÛÙ Û ‰‡Ô ÚfiÙ˘· Ù· ÔÔ›· ¤¯Ô˘Ó ȉȷ›ÙÂÚË ‚·Ú‡ÙËÙ· ÛÙÔÓ ÙÔ̤· ÙÔ˘ ËÏÂÎÙÚÔÓÈÎÔ‡ ÂÌÔÚ›Ô˘ ÛÙÔ Web: ÙÔ SSL/TLS Î·È ÙÔ SET.
17.1 £∂ª∞∆∞ ∆∏™ ∞™º∞§∂π∞™ ™∆√ WEB √ ¶·ÁÎfiÛÌÈÔ˜ πÛÙfi˜ (World Wide Web) ·ÔÙÂÏ› Ô˘ÛÈ·ÛÙÈο Ì›· ÂÊ·ÚÌÔÁ‹ ÂÏ¿ÙË/Â͢ËÚÂÙËÙ‹ Ô˘ ÂÎÙÂÏÂ›Ù·È ¿Óˆ ÛÙÔ ¢È·‰›ÎÙ˘Ô (Internet) Î·È Û ÙÔÈο ‰›ÎÙ˘· (Intranet) Ù‡Ô˘ TCP/IP. ∫·Ù¿ Û˘Ó¤ÂÈ·, Ù· ‰È¿ÊÔÚ· ÂÚÁ·Ï›· ·ÛÊ·Ï›·˜ Î·È ÔÈ ÚÔÛÂÁÁ›ÛÂȘ Ô˘ Û˘˙ËÙ‹ıËÎ·Ó ¤ˆ˜ ÙÒÚ· ÛÙÔ ‚È‚Ï›Ô ·˘Ùfi Û¯ÂÙ›˙ÔÓÙ·È Ì ÙËÓ ·ÛÊ¿ÏÂÈ· ÙÔ˘ Web. ŸÌˆ˜, fiˆ˜ ÙÔÓ›˙ÂÙ·È ÛÙÔ [GARF97], ÙÔ Web ·ÚÔ˘ÛÈ¿˙ÂÈ Î·ÈÓÔ‡ÚȘ ÚÔÎÏ‹ÛÂȘ ˆ˜ ÚÔ˜ ÙËÓ ·ÛÊ¿ÏÂÈ· ÙˆÓ ˘ÔÏÔÁÈÛÙÒÓ Î·È ‰ÈÎÙ‡ˆÓ:
17.1 / £∂ª∞∆∞ ∆∏™ ∞™º∞§∂π∞™ ™∆√ WEB
593
ñ ∆Ô ¢È·‰›ÎÙ˘Ô Â›Ó·È ·ÌÊ›‰ÚÔÌÔ. ™Â ·ÓÙ›ıÂÛË Û fi,ÙÈ Û˘Ì‚·›ÓÂÈ Û ·Ú·‰ÔÛȷο ÂÚÈ‚¿ÏÏÔÓÙ· fiÔ˘ ‰Â‰Ô̤ӷ Ì οÔÈÔ ÙÚfiÔ ÎÔÈÓÔÔÈÔ‡ÓÙ·È (·ÎfiÌË Î·È Û˘ÛÙ‹Ì·Ù· ËÏÂÎÙÚÔÓÈ΋˜ ÎÔÈÓÔÔ›ËÛ˘, Û˘ÌÂÚÈÏ·Ì‚·ÓÔÌ¤ÓˆÓ ÙÔ˘ teletext ‹ ÙÔ˘ fax-back), ÙÔ Web Â›Ó·È Â˘¿ÏˆÙÔ Û ÂÈı¤ÛÂȘ ¤Ó·ÓÙÈ ÙˆÓ ·ÓÙ›ÛÙÔȯˆÓ Â͢ËÚÂÙËÙÒÓ Web (Web servers). ñ H ¯Ú‹ÛË ÙÔ˘ Web Â›Ó·È ‰È·ÚÎÒ˜ ·˘Í·ÓfiÌÂÓË, ·ÔÙÂÏÒÓÙ·˜ ϤÔÓ Ì›· ‚·ÛÈ΋ Ï·ÙÊfiÚÌ· ÁÈ· ÂȯÂÈÚËÌ·ÙÈΤ˜ Û˘Ó·ÏÏ·Á¤˜. ™Â ÂÚ›ÙˆÛË Ô˘ ˘ÔÓÔÌ¢ÙÔ‡Ó Â͢ËÚÂÙËÙ¤˜ ÙÔ˘ Web, ÂÏÏԯ‡ÂÈ Ô Î›Ó‰˘ÓÔ˜ ÙfiÛÔ Ó· ¯·ıÔ‡Ó ¯Ú‹Ì·Ù· fiÛÔ Î·È Ó· ÏËÁÔ‡Ó ˘ÔÏ‹„ÂȘ. ñ ¶·ÚfiÏÔ Ô˘ Ù· ̤۷ ÏÔ‹ÁËÛ˘ ÛÙÔ Web Â›Ó·È Ôχ ‡¯ÚËÛÙ·, ÔÈ Â͢ËÚÂÙËÙ¤˜ ÙÔ˘ Web Â›Ó·È Û¯ÂÙÈο ‡ÎÔÏÔÈ ÛÙË ‰È·¯Â›ÚÈÛË, Î·È ÙÔ ÂÚȯfiÌÂÓÔ ÙˆÓ ÈÛÙÔÛÂÏ›‰ˆÓ ÌÔÚ› ‡ÎÔÏ· Ó· ·Ó·Ù˘¯ı›, ÂÓ ÙÔ‡ÙÔȘ ÙÔ ˘ÔΛÌÂÓÔ ÏÔÁÈÛÌÈÎfi Â›Ó·È È‰È·›ÙÂÚ· ÔχÏÔÎÔ. ∞˘Ùfi ÙÔ ÔχÏÔÎÔ ÏÔÁÈÛÌÈÎfi ÌÔÚ› Ó· ˘ÔÎÚ‡ÙÂÈ ÙÚˆÙ¿ ÛËÌ›· ˆ˜ ÚÔ˜ ÙËÓ ·ÛÊ¿ÏÂÈ·. ∏ Û¯ÂÙÈο Û‡ÓÙÔÌË ÈÛÙÔÚ›· ÙÔ˘ Web Â›Ó·È ÁÂÌ¿ÙË ·fi ·Ú·‰Â›ÁÌ·Ù· Ó¤ˆÓ Î·È ·Ó·‚·ıÌÈÛÌ¤ÓˆÓ Û˘ÛÙËÌ¿ÙˆÓ, Ô˘ fï˜ Â›Ó·È Â˘¿ÏˆÙ· Û ‰È¿ÊÔÚ˜ ÂÈı¤ÛÂȘ ·ÛÊ·Ï›·˜. ñ ŒÓ·˜ Â͢ËÚÂÙËÙ‹˜ ÙÔ˘ Web, ÂÊfiÛÔÓ ˘ÔÓÔÌ¢Ù› Ë ·ÛÊ¿ÏÂÈ¿ ÙÔ˘, ÌÔÚ› Ó· ÂÈÙÚ¤„ÂÈ ·ÓÂͤÏÂÁÎÙË ÚfiÛ‚·ÛË Û ÔÏfiÎÏËÚÔ ÙÔ Û‡ÛÙËÌ· ˘ÔÏÔÁÈÛÙÒÓ Ù˘ ÂÙ·ÈÚ›·˜. ªÂ ¿ÏÏ· ÏfiÁÈ·, ·Ó ˘¿ÚÍÂÈ ÂÈÙ˘¯‹˜ ›ıÂÛË Û ¤Ó·Ó Web Â͢ËÚÂÙËÙ‹, οÔÈÔ˜ ÂÈÙÈı¤ÌÂÓÔ˜ ÌÔÚ› ÂӉ¯Ô̤ӈ˜ Ó· ·ÔÎÙ‹ÛÂÈ ÚfiÛ‚·ÛË Û ‰Â‰Ô̤ӷ Î·È Û˘ÛÙ‹Ì·Ù· Ô˘ ‰ÂÓ Â›Ó·È Ì¤ÚÔ˜ ÙÔ˘ Web ·ÏÏ¿ Û˘Ó‰¤ÔÓÙ·È Ì ÙÔÓ Â͢ËÚÂÙËÙ‹. ñ ™ÙËÓ Ù˘È΋ ÂÚ›ÙˆÛË, ÔÈ ¯Ú‹ÛÙ˜ ÙˆÓ ˘ËÚÂÛÈÒÓ ÙÔ˘ Web ‰ÂÓ Â›Ó·È ÂÎ·È‰Â˘Ì¤ÓÔÈ Û ı¤Ì·Ù· ·ÛÊ·Ï›·˜. ∫·Ù¿ Û˘Ó¤ÂÈ·, ‰ÂÓ Â›Ó·È ÂÓ‹ÌÂÚÔÈ ÁÈ· ÙÔ˘˜ ˘ÊÈÛÙ¿ÌÂÓÔ˘˜ ÎÈÓ‰‡ÓÔ˘˜ ·ÛÊ·Ï›·˜ Î·È ‰ÂÓ ‰È·ı¤ÙÔ˘Ó Ù· ÂÚÁ·Ï›· ‹ ÙË ÁÓÒÛË ÒÛÙ ӷ Ï¿‚Ô˘Ó ·ÔÙÂÏÂÛÌ·ÙÈο ̤ÙÚ· ÚÔÛÙ·Û›·˜.
∞ÂÈϤ˜ ÁÈ· ÙËÓ ·ÛÊ¿ÏÂÈ· ÙÔ˘ Web √ ¶›Ó·Î·˜ 17.1 ·ÚÔ˘ÛÈ¿˙ÂÈ Ì›· Û‡ÓÔ„Ë ÙˆÓ Ù‡ˆÓ ÙˆÓ ·ÂÈÏÒÓ ·ÛÊ·Ï›·˜ Ô˘ ÌÔÚ› ηÓ›˜ Ó· ·ÓÙÈÌÂÙˆ›ÛÂÈ ¯ÚËÛÈÌÔÔÈÒÓÙ·˜ ÙÔ Web. ŒÓ·˜ ÙÚfiÔ˜ ηÙËÁÔÚÈÔÔ›ËÛ˘ ÙˆÓ ·ÂÈÏÒÓ Â›Ó·È Ì¤Ûˆ ÙÔ˘ ¯·Ú·ÎÙËÚÈÛÌÔ‡ ÙÔ˘˜ ˆ˜ ·ıËÙÈΤ˜ ‹ ÂÓÂÚÁËÙÈΤ˜. √È ·ıËÙÈΤ˜ ÂÈı¤ÛÂȘ ÂÚÈÏ·Ì‚¿ÓÔ˘Ó ÙËÓ ÎÚ˘Ê‹ ·Ú·ÎÔÏÔ‡ıËÛË Ù˘ ΛÓËÛ˘ ÙÔ˘ ‰ÈÎÙ‡Ô˘ ÌÂٷ͇ ÚÔÁÚ¿ÌÌ·ÙÔ˜ ÏÔ‹ÁËÛ˘ (Ê˘ÏÏÔÌÂÙÚËÙ‹) Î·È Â͢ËÚÂÙËÙ‹, ηıÒ˜ Î·È ÙËÓ ·fiÎÙËÛË ÚfiÛ‚·Û˘ Û ÏËÚÔÊÔڛ˜ ÌÈ·˜ ÈÛÙÔÛÂÏ›‰·˜, ÔÈ Ôԛ˜ ‰ÂÓ ı· ¤Ú ӷ ‰È·Ù›ıÂÓÙ·È Û ·ÏÔ‡˜ ¯Ú‹ÛÙ˜. ™ÙȘ ÂÓÂÚÁËÙÈΤ˜ ÂÈı¤ÛÂȘ ÂÚÈÏ·Ì‚¿ÓÔÓÙ·È ·˘Ù¤˜ fiÔ˘ ¤Ó·˜ ¯Ú‹ÛÙ˘ ˘Ô‰‡ÂÙ·È Î¿ÔÈÔÓ ¿ÏÏÔÓ, Ë ·Ú·Ô›ËÛË ÌËÓ˘Ì¿ÙˆÓ Î·Ù¿ ÙË ÌÂÙ¿‰ÔÛ‹ ÙÔ˘˜ ÌÂٷ͇ ÂÏ¿ÙË Î·È Â͢ËÚÂÙËÙ‹, ηıÒ˜ Î·È Ë ÌÂÙ·‚ÔÏ‹ ÙˆÓ ÏËÚÔÊÔÚÈÒÓ ÌÈ·˜ ÈÛÙÔÛÂÏ›‰·˜. ŒÓ·˜ ¿ÏÏÔ˜ ÙÚfiÔ˜ Ù·ÍÈÓfiÌËÛ˘ ÙˆÓ ·ÂÈÏÒÓ ·ÛÊ·Ï›·˜ ÙÔ˘ Web Â›Ó·È Ì ‚¿ÛË ÙÔ ÛËÌÂ›Ô ÛÙÔ ÔÔ›Ô ÂÊ·ÚÌfi˙ÂÙ·È Ë ·ÂÈÏ‹: ÛÙÔÓ Web Â͢ËÚÂÙËÙ‹, ÛÙÔ ÚfiÁÚ·ÌÌ· ÏÔ‹ÁËÛ˘ ÛÙÔ Web, ‹ ÛÙË ÌÂÙ·‰È‰fiÌÂÓË Î›ÓËÛË ·Ó¿ÌÂÛ· ÛÙÔ ÚfiÁÚ·ÌÌ· ÏÔ‹ÁËÛ˘ Î·È ÙÔÓ Â͢ËÚÂÙËÙ‹. °ÂÓÈο, ı¤Ì·Ù· ·ÛÊ¿ÏÂÈ·˜ Â͢ËÚÂÙËÙ‹ Î·È ÚÔÁÚ¿ÌÌ·ÙÔ˜ ÏÔ‹ÁËÛ˘ ÂÌ›ÙÔ˘Ó ÛÙËÓ Î·ÙËÁÔÚ›· ·ÛÊ¿ÏÂÈ·˜ ˘ÔÏÔÁÈÛÙÈÎÔ‡ Û˘ÛÙ‹Ì·ÙÔ˜: ÙÔ ª¤ÚÔ˜ ∆¤ÛÛÂÚ· ÙÔ˘ ‚È‚Ï›Ô˘ ·˘ÙÔ‡ ·ÓÙÈÌÂÙˆ›˙ÂÈ ÙÔ ˙‹ÙËÌ· Ù˘ ·ÛÊ¿ÏÂÈ·˜ ÂÓfi˜ Û˘ÛÙ‹Ì·ÙÔ˜ ÁÂÓÈο, ·ÏÏ¿ ÂÊ·ÚÌfi˙ÂÙ·È Â›Û˘ Î·È ÛÙËÓ ·ÛÊ¿ÏÂÈ· Web Û˘ÛÙËÌ¿ÙˆÓ. £¤Ì·Ù· ·ÛÊ¿ÏÂÈ·˜ Ù˘ ÌÂÙ·‰È‰fiÌÂÓ˘ ΛÓËÛ˘ ÂÌ›ÙÔ˘Ó ÛÙËÓ Î·ÙËÁÔÚ›· Ù˘ ·ÛÊ¿ÏÂÈ·˜ ‰ÈÎÙ‡ˆÓ Î·È ·ÓÙÈÌÂÙˆ›˙ÔÓÙ·È ÛÙÔ ·ÚfiÓ ÎÂÊ¿Ï·ÈÔ.
∆ÚfiÔÈ ·ÓÙÈÌÂÙÒÈÛ˘ ∫Ú˘ÙÔÁÚ·ÊÈÎÔ› ÎÒ‰ÈΘ ·Ó›¯Ó¢Û˘ ÛÊ·ÏÌ¿ÙˆÓ (·ıÚÔ›ÛÌ·Ù· ÂϤÁ¯Ô˘ checksum)
∫Ú˘ÙÔÁÚ¿ÊËÛË, Web ‰È·ÎÔÌÈÛÙ¤˜ ÌÂÛÔÏ¿‚ËÛ˘ (Web proxies)
¢‡ÛÎÔÏÔ Ó· ·ÔÎÏÂÈÛÙ›
™˘Ó¤ÂȘ ñ ∞ÒÏÂÈ· ¶ÏËÚÔÊÔÚÈÒÓ ñ ŒÏÂÁ¯Ô˜ ÙÔ˘ Ì˯·Ó‹Ì·ÙÔ˜ ·fi ·ÔÌ·ÎÚ˘Ṳ̂ÓÔ ¯Ú‹ÛÙË ñ ∆Ô Û‡ÛÙËÌ· ηı›ÛÙ·Ù·È ÂÍ·ÈÚÂÙÈο ¢¿ÏˆÙÔ Û fiϘ ÙȘ ¿ÏϘ ·ÂÈϤ˜
ñ æ‡ÙÈÎË Î·Ù·¯ÒÚËÛË ÛÙÔȯ›ˆÓ ¯Ú‹- ∫Ú˘ÙÔÁÚ·ÊÈΤ˜ Ù¯ÓÈΤ˜ ÛÙË ñ ªË ÁÓ‹ÛÈ· ‰Â‰Ô̤ӷ ÂÎÏ·Ì‚¿ÓÔÓÙ·È ˆ˜ ÁÓ‹ÛÈ·
ñ ∆ÚÔÔÔ›ËÛË ÙˆÓ ‰Â‰ÔÌ¤ÓˆÓ ÙÔ˘ ¯Ú‹ÛÙË ñ ¶·Ú·ÔÈË̤ÓÔ ÚfiÁÚ·ÌÌ· ÏÔ‹ÁËÛ˘ ÛÙÔ Web (browser) ñ ∆ÚÔÔÔ›ËÛË Ù˘ ÌÓ‹Ì˘ ñ ∆ÚÔÔÔ›ËÛË ÙˆÓ ÌËÓ˘Ì¿ÙˆÓ Î·Ù¿ ÙË ÌÂÙ¿‰ÔÛ‹ ÙÔ˘˜
ñ ∫Ú˘Ê‹ ·Ú·ÎÔÏÔ‡ıËÛË ÙˆÓ ‰Â‰Ô̤- ñ ∞ÒÏÂÈ· ÏËÚÔÊÔÚÈÒÓ ñ ∞ÒÏÂÈ· ȉȈÙÈÎfiÙËÙ·˜ ÓˆÓ Ô˘ ÌÂÙ·‰›‰ÔÓÙ·È ÛÙÔ ¢›ÎÙ˘Ô ñ ∫ÏÔ‹ ÏËÚÔÊÔÚÈÒÓ ·fi ÙÔÓ Â͢ËÚÂÙËÙ‹ ñ ∫ÏÔ‹ ‰Â‰ÔÌ¤ÓˆÓ ·fi ÙÔÓ ÂÏ¿ÙË ñ ¶ÏËÚÔÊÔڛ˜ ÁÈ· ÙËÓ ‰È¢ı¤ÙËÛË ÙÔ˘ ‰ÈÎÙ‡Ô˘ ñ ¶ÏËÚÔÊÔڛ˜ Û¯ÂÙÈο Ì ÙÔ ÔÈÔ˜ ÂÏ¿Ù˘ ÂÈÎÔÈÓˆÓ› Ì ÔÈÔÓ Â͢ËÚÂÙËÙ‹ ñ ∫·Ù¿ÚÚ¢ÛË Ì˯·Ó‹Ì·ÙÔ˜ ñ ∂ÓÔ¯ÏËÙÈ΋ ñ ∂ÌÔ‰›˙ÂÈ ÙÔÓ ¯Ú‹ÛÙË Ó· ‰ÈÂÎÂÚ·ÈÒÛÂÈ ÙËÓ ÂÚÁ·Û›· ÙÔ˘
∞ÂÈϤ˜
ñ ∆ÂÚÌ·ÙÈÛÌfi˜ ÙˆÓ ‰ÈÂÚÁ·ÛÈÒÓ ÙÔ˘ ¯Ú‹ÛÙË ñ ∫·Ù·ÎÏ˘ÛÌfi˜ ÙÔ˘ Ì˯·Ó‹Ì·ÙÔ˜ ·fi ÌË ÁÓ‹ÛȘ ·ÈÙ‹ÛÂȘ ñ °¤ÌÈÛÌ· ÙÔ˘ ‰›ÛÎÔ˘ ‹ Ù˘ ÌÓ‹Ì˘ ñ ∞ÔÌfiÓˆÛË ÙÔ˘ Ì˯·Ó‹Ì·ÙÔ˜ ÏfiÁˆ ÂÈı¤ÛÂˆÓ DNS
ñ ªË ÓfiÌÈÌÔÈ ¯Ú‹ÛÙ˜ ÚÔÛÔÈÔ‡ÓÙ·È ÙÔ˘˜ ÓfiÌÈÌÔ˘˜ ñ ¶Ï·ÛÙÔÁÚ·Ê›· ÙˆÓ ‰Â‰Ô̤ӈÓ
∞ÎÂÚ·ÈfiÙËÙ·
∂ÌÈÛÙ¢ÙÈÎfiÙËÙ·
ÕÚÓËÛË ÀËÚÂÛ›·˜
∞˘ıÂÓÙÈÎÔÔ›ËÛË
¶›Ó·Î·˜ 17.1 ™‡ÁÎÚÈÛË ÙˆÓ ‰È·ÊfiÚˆÓ ·ÂÈÏÒÓ ÛÙÔ Web [RUBI197]
594 ∫∂º∞§∞π√ 17 / ∞™º∞§∂π∞ ™∆√ WEB
17.1 / £∂ª∞∆∞ ∆∏™ ∞™º∞§∂π∞™ ™∆√ WEB
595
¶ÚÔÛÂÁÁ›ÛÂȘ ÛÙËÓ ∞ÛÊ¿ÏÂÈ· ÙÔ˘ Web À¿Ú¯Ô˘Ó ‰È¿ÊÔÚ˜ ÚÔÛÂÁÁ›ÛÂȘ ˆ˜ ÚÔ˜ ÙËÓ ·ÚÔ¯‹ ·ÛÊ¿ÏÂÈ·˜ ÛÙÔ Web. √È ÚÔÛÂÁÁ›ÛÂȘ ·˘Ù¤˜ Â›Ó·È ·Ú·Ï‹ÛȘ fiÛÔÓ ·ÊÔÚ¿ ÛÙȘ ˘ËÚÂۛ˜ Ô˘ ·Ú¤¯Ô˘Ó ηÈ, ̤¯ÚÈ Î¿ÔÈÔ ‚·ıÌfi, ÛÙÔ˘˜ Ì˯·ÓÈÛÌÔ‡˜ Ô˘ ¯ÚËÛÈÌÔÔÈÔ‡Ó: ‰È·Ê¤ÚÔ˘Ó ˆÛÙfiÛÔ ÛÙÔ Â‡ÚÔ˜ ÂÊ·ÚÌÔÁ‹˜ ÙÔ˘˜, ·ÏÏ¿ Î·È ÛÙÔ Â›Â‰Ô Ô˘ ·Ó‹ÎÔ˘Ó Û ۯ¤ÛË Ì ÙË ÛÙÔ›‚· ÚˆÙÔÎfiÏÏˆÓ TCP/IP. ∆Ô ™¯‹Ì· 17.1 ·ÂÈÎÔÓ›˙ÂÈ ·˘Ù‹ ·ÎÚÈ‚Ò˜ ÙË ‰È·ÊÔÚ¿. ŒÓ·˜ ÙÚfiÔ˜ ÁÈ· Ó· ·Ú¤¯ÂÙ·È ·ÛÊ¿ÏÂÈ· ÛÙÔ Web Â›Ó·È Ë ¯Ú‹ÛË ÙÔ˘ IPSec (™¯‹Ì· 17.1.·). ∆Ô ÏÂÔÓ¤ÎÙËÌ· Ù˘ ¯Ú‹Û˘ ÙÔ˘ IPSec Â›Ó·È ÙÔ fiÙÈ Â›Ó·È ‰È·Ê·Ó¤˜ ÛÙÔ˘˜ ÙÂÏÈÎÔ‡˜ ¯Ú‹ÛÙ˜ Î·È ÂÊ·ÚÌÔÁ¤˜, ÂÓÒ Â›Û˘ ·ÔÙÂÏ› Ì›· χÛË ÁÂÓÈÎÔ‡ ÛÎÔÔ‡. ∂ÈϤÔÓ, ÙÔ IPSec ÂÚÈÏ·Ì‚¿ÓÂÈ Ì›· ÈηÓfiÙËÙ· ÊÈÏÙÚ·Ú›ÛÌ·ÙÔ˜, ¤ÙÛÈ ÒÛÙ ÌfiÓÔ Î¿ÔÈÔ Û˘ÁÎÂÎÚÈ̤ÓÔ Â›‰Ô˜ Ù˘ ÌÂÙ·‰È‰fiÌÂÓ˘ ÏËÚÔÊÔÚ›·˜ ÌÔÚ› Ó· ÂÈʤÚÂÈ ˘ÂÚÊfiÚÙˆÛË ÛÙËÓ ÂÂÍÂÚÁ·Û›·˜. ª›· ¿ÏÏË Ï‡ÛË, ÁÂÓÈÎÔ‡ ÛÎÔÔ‡, Â›Ó·È Ë ˘ÏÔÔ›ËÛË Ù˘ ·ÛÊ¿ÏÂÈ·˜ ·ÎÚÈ‚Ò˜ Û ¤Ó· ˘„ËÏfiÙÂÚÔ Â›Â‰Ô ·fi ÙÔ TCP (™¯‹Ì· 17.1‚). ∆Ô ÛËÌ·ÓÙÈÎfiÙÂÚÔ ·Ú¿‰ÂÈÁÌ· ·˘Ù‹˜ Ù˘ ÚÔÛ¤ÁÁÈÛ˘ Â›Ó·È ÙÔ ÚˆÙfiÎÔÏÏÔ SSL (Secure Socket Layer), ηıÒ˜ Î·È ÙÔ ·ÓÙ›ÛÙÔÈ¯Ô ÚfiÙ˘Ô ÁÈ· ÙÔInternet - ÁÓˆÛÙfi ˆ˜ TLS (Transport Layer Security). ™ÙÔ Â›Â‰Ô ·˘Ùfi, ˘¿Ú¯Ô˘Ó ‰‡Ô ÂÈÏÔÁ¤˜ ˆ˜ ÚÔ˜ ÙËÓ ˘ÏÔÔ›ËÛË. °È· Ó· ·Ú¤¯ÂÙ·È ·ÛÊ¿ÏÂÈ· ÁÂÓÈÎÔ‡ ÛÎÔÔ‡, ÙÔ SSL (‹ ÙÔ TLS) Â›Ó·È ‰˘Ó·Ùfi Ó· ·Ú¤¯ÂÙ·È Û·Ó Ì¤ÚÔ˜ Ù˘ ˘ÔΛÌÂÓ˘ Û˘ÏÏÔÁ‹˜ ÚˆÙÔÎfiÏÏˆÓ Î·È, ÂÔ̤ӈ˜, Ó· Â›Ó·È ‰È·Ê·Ó¤˜ ÛÙȘ ÂÊ·ÚÌÔÁ¤˜. ∂Ó·ÏÏ·ÎÙÈο, ÙÔ SSL ÌÔÚ› Ó· ÂÓۈ̷وı› ÛÂ Û˘ÁÎÂÎÚÈ̤ӷ ·Î¤Ù· ÏÔÁÈÛÌÈÎÔ‡. °È· ·Ú¿‰ÂÈÁÌ·, fiÏ· Ù· ÚÔÁÚ¿ÌÌ·Ù· ÏÔ‹ÁËÛ˘ (.¯. Microsoft Explorer ÎÙÏ.) Â›Ó·È ÂÊԉȷṲ̂ӷ Ì ÙÔ SSL, ÂÓÒ Â›Û˘ ÔÏÏÔ› Web Â͢ËÚÂÙËÙ¤˜ ¤¯Ô˘Ó ˘ÏÔÔÈ‹ÛÂÈ ÙÔ ÚˆÙfiÎÔÏÏÔ.
HTTP HTTP
FTP
SMTP
FTP
SMTP
S/MIME
PGP
SET
SSL ‹ TLS
Kerberos
TCP
TCP
UDP
IP/PSec
IP
IP
(·) ∂›Â‰Ô ‰ÈÎÙ‡Ô˘
(‚) ∂›Â‰Ô ÌÂÙ·ÊÔÚ¿˜
(Á) ∂›Â‰Ô ÂÊ·ÚÌÔÁ‹˜
™¯‹Ì· 17.1
SMTP
HTTP
TCP
¶ÚˆÙfiÎÔÏÏ· ∞ÛÊ·Ï›·˜ ÛÙË ÛÙÔ›‚· ÚˆÙÔÎfiÏÏˆÓ TCP/IP
√È ˘ËÚÂۛ˜ ·ÛÊ·Ï›·˜ ÁÈ· ÌÈ· Û˘ÁÎÂÎÚÈ̤ÓË ÂÊ·ÚÌÔÁ‹ ÂÓۈ̷ÙÒÓÔÓÙ·È Ì¤Û· ÛÙËÓ ›‰È· ÙËÓ ÂÊ·ÚÌÔÁ‹. ™ÙÔ ™¯‹Ì· 17.1Á Ê·›ÓÔÓÙ·È ·Ú·‰Â›ÁÌ·Ù· Ù˘ ÂÓ ÏfiÁˆ ÚÔÛ¤ÁÁÈÛ˘. ∆Ô ÏÂÔÓ¤ÎÙËÌ¿ Ù˘ Â›Ó·È fiÙÈ Ë ˘ËÚÂÛ›· ÌÔÚ› Ó· ˘ÏÔÔÈËı› ¤ÙÛÈ ÒÛÙ ӷ Â͢ËÚÂÙ› Û˘ÁÎÂÎÚÈ̤Ó˜ ·Ó¿ÁΘ Ì›·˜ ‰Â‰Ô̤Ó˘ ÂÊ·ÚÌÔÁ‹˜. ™ÙËÓ ·ÛÊ¿ÏÂÈ· ÛÙÔ Web, ¤Ó· ÛËÌ·ÓÙÈÎfi ·Ú¿‰ÂÈÁÌ· ·˘Ù‹˜ Ù˘ ÚÔÛ¤ÁÁÈÛ˘ Â›Ó·È ÙÔ SET1 (Secure Electronic Transaction). ∆Ô ˘fiÏÔÈÔ ÙÔ˘ ÎÂÊ·Ï·›Ô˘ ·˘ÙÔ‡ ·ÊÈÂÚÒÓÂÙ·È ÛÙËÓ Û˘˙‹ÙËÛË ÁÈ· ÙÔ SSL/TLS Î·È ÙÔ SET.
1
∆Ô ™¯‹Ì· 17.1Á ·ÂÈÎÔÓ›˙ÂÈ ÙÔ SET ÛÙËÓ ÎÔÚ˘Ê‹ ÙÔ˘ HTTPØ ·˘Ùfi Â›Ó·È Î·È Ë Ù˘È΋ ÂÚ›ÙˆÛË. ™Â ÌÂÚÈΤ˜ ˘ÏÔÔÈ‹ÛÂȘ ˆÛÙfiÛÔ, ÙÔ SET ¯ÚËÛÈÌÔÔÈ› ·Â˘ı›·˜ ÙÔ TCP.
596
∫∂º∞§∞π√ 17 / ∞™º∞§∂π∞ ™∆√ WEB
17.2 ¶ƒø∆√∫√§§∞ SSL ∫∞π TLS ∆Ô ÚˆÙfiÎÔÏÏÔ SSL (Secure Socket Layer) ·Ó·Ù‡¯ıËΠ·fi ÙËÓ Netscape. ∏ ¤Î‰ÔÛË 3 ÙÔ˘ ÚˆÙÔÎfiÏÏÔ˘ ۯ‰ȿÛÙËΠ̠‰ËÌfiÛÈ· ‰È·‚ԇϢÛË Î·È ·ÓÙ·ÏÏ·Á‹ ·fi„ÂˆÓ Ì ÙË ‚ÈÔÌ˯·Ó›·, Î·È ‰ËÌÔÛȇıËΠˆ˜ ¤Ó· ÚÔÛˆÚÈÓfi ¤ÁÁÚ·ÊÔ ÙÔ˘ Internet. ™ÙË Û˘Ó¤¯ÂÈ·, ·ÊÔ‡ ˘‹ÚÍ ÔÌÔʈӛ· ÛÙÔ Ó· ˘Ô‚ÏËı› ÙÔ ÚˆÙfiÎÔÏÏÔ ÁÈ· ÚÔÙ˘ÔÔ›ËÛË, Û¯ËÌ·Ù›ÛÙËΠÂÓÙfi˜ ÙÔ˘ ÔÚÁ·ÓÈÛÌÔ‡ IETF Ë ÔÌ¿‰· ÂÚÁ·Û›·˜ TLS ÁÈ· Ó· ·Ó·Ù‡ÍÂÈ ¤Ó· ÎÔÈÓfi ÚfiÙ˘Ô. ∞˘Ù‹ Ë ÚÒÙË ‰ËÌÔÛÈÂ˘Ì¤ÓË ¤Î‰ÔÛË ÙÔ˘ TLS ÌÔÚ› Ó· ıˆÚËı› ÛÙËÓ Ô˘Û›· ˆ˜ ÙÔ ÚˆÙfiÎÔÏÏÔ SSLv3.1 Î·È ÚÔÛÔÌÔÈ¿˙ÂÈ Ôχ ÙÔ SSLv3. ∆Ô Î‡ÚÈÔ ÙÌ‹Ì· ·˘Ù‹˜ Ù˘ ÂÓfiÙËÙ·˜ ·ÊÈÂÚÒÓÂÙ·È Û ̛· Û˘˙‹ÙËÛË ¿Óˆ ÛÙÔ SSLv3. ™ÙÔ Ù¤ÏÔ˜ Ù˘ ÂÓfiÙËÙ·˜, ÂÚÈÁÚ¿ÊÔÓÙ·È ÔÈ ‚·ÛÈΤ˜ ‰È·ÊÔÚ¤˜ ·Ó¿ÌÂÛ· ÛÙÔ SSLv3 Î·È ÙÔ TLS.
∞Ú¯ÈÙÂÎÙÔÓÈ΋ ÙÔ˘ SSL ∆Ô SSL Â›Ó·È Û¯Â‰È·Ṳ̂ÓÔ ÒÛÙ ӷ ¯ÚËÛÈÌÔÔÈ› ÙÔ TCP ÁÈ· ÙËÓ ·ÚÔ¯‹ Ì›·˜ ·ÍÈfiÈÛÙ˘ ˘ËÚÂÛ›·˜ ·’ ¿ÎÚÔ Û’ ¿ÎÚÔ. ¢ÂÓ Â›Ó·È ¤Ó· ·Ïfi ÚˆÙfiÎÔÏÏÔ, ·ÏÏ¿ ·ÔÙÂÏÂ›Ù·È Ô˘ÛÈ·ÛÙÈο ·fi ‰‡Ô ›‰· ÚˆÙÔÎfiÏψÓ, fiˆ˜ Ê·›ÓÂÙ·È ÛÙÔ ™¯‹Ì· 17.2. ∆Ô ¶ÚˆÙfiÎÔÏÏÔ ∫·Ù·ÁÚ·Ê‹˜ ÙÔ˘ SSL (SSL Record Protocol) ·Ú¤¯ÂÈ ‚·ÛÈΤ˜ ˘ËÚÂۛ˜ ·ÛÊ·Ï›·˜ Û ‰È¿ÊÔÚ· ÚˆÙfiÎÔÏÏ· ˘„ËÏfiÙÂÚÔ˘ ÂȤ‰Ô˘. ™˘ÁÎÂÎÚÈ̤ӷ, ÙÔ ¶ÚˆÙfiÎÔÏÏÔ HTTP (Hypertext Transfer Protocol), ÙÔ ÔÔ›Ô ·Ú¤¯ÂÈ ÙËÓ ˘ËÚÂÛ›· Ù˘ ÌÂÙ·ÊÔÚ¿˜ ÁÈ· ÙËÓ ·ÏÏËÏ›‰Ú·ÛË ÂÏ¿ÙË/Â͢ËÚÂÙËÙ‹ ÙÔ˘ Web, ÌÔÚ› Ó· ÏÂÈÙÔ˘ÚÁ‹ÛÂÈ ÛÙËÓ ÎÔÚ˘Ê‹ ÙÔ˘ SSL. ∂ÈÚfiÛıÂÙ·, ÙÚ›· ÚˆÙfiÎÔÏÏ· ˘„ËÏfiÙÂÚÔ˘ ÂȤ‰Ô˘ ÔÚ›˙ÔÓÙ·È ˆ˜ ÙÌ‹Ì· ÙÔ˘ SSL: ∆Ô ¶ÚˆÙfiÎÔÏÏÔ ÃÂÈÚ·„›·˜ (Handshake), ÙÔ ¶ÚˆÙfiÎÔÏÏÔ ∞ÏÏ·Á‹˜ ¶·Ú·Ì¤ÙÚˆÓ ∫Ú˘ÙÔÁÚ¿ÊËÛ˘ (Change Cipher Spec), Î·È ÙÔ ¶ÚˆÙfiÎÔÏÏÔ ™˘Ó·ÁÂÚÌÔ‡ (Alert). ∞˘Ù¿ Ù· ÂȉÈο ÚˆÙfiÎÔÏÏ· ¯ÚËÛÈÌÔÔÈÔ‡ÓÙ·È ÛÙËÓ ‰È·¯Â›ÚÈÛË ÙˆÓ ·ÓÙ·ÏÏ·ÁÒÓ ÌËÓ˘Ì¿ÙˆÓ Ì¤Ûˆ ÙÔ˘ SSL Î·È ÂÍÂÙ¿˙ÔÓÙ·È ÛÙË Û˘Ó¤¯ÂÈ· ·˘Ù‹˜ Ù˘ ÂÓfiÙËÙ·˜. √È ‰‡Ô ‚·ÛÈΤ˜ ¤ÓÓÔȘ ÙÔ˘ SSL Â›Ó·È Ë SSL Û‡ÓÔ‰Ô˜ Î·È Ë SSL Û‡Ó‰ÂÛË, Ô˘ ÔÚ›˙ÔÓÙ·È ÛÙËÓ ÚԉȷÁÚ·Ê‹ ÙÔ˘˜ ÚˆÙÔÎfiÏÏÔ˘ ˆ˜ ÂÍ‹˜: ñ ™‡Ó‰ÂÛË (connection): ª›· Û‡Ó‰ÂÛË Â›Ó·È Ì›· ÌÂÙ·ÊÔÚ¿ (Ì ‚¿ÛË ÙÔÓ ÔÚÈÛÌfi ÙÔ˘ ÌÔÓÙ¤ÏÔ˘ ‰È·ÛÙڈ̿وÛ˘ ÙÔ˘ OSI) Ë ÔÔ›· ·Ú¤¯ÂÈ ¤Ó·Ó ηٿÏÏËÏÔ Ù‡Ô ˘ËÚÂÛ›·˜. °È· ÙÔ SSL, Ù¤ÙÔȘ Û˘Ó‰¤ÛÂȘ Â›Ó·È ÌÂٷ͇ ÔÌfiÙÈÌˆÓ (peer-to-peer) ÔÓÙÔًوÓ. √È Û˘Ó‰¤ÛÂȘ Â›Ó·È ÚÔÛˆÚÈÓ¤˜. ∫¿ı ۇӉÂÛË Û¯ÂÙ›˙ÂÙ·È Ì ̛· Û‡ÓÔ‰Ô.
¶ÚˆÙfiÎÔÏÏÔ ¶ÚˆÙfiÎÔÏÏÔ ¶ÚˆÙfiÎÔÏÏÔ ¶·Ú·Ì¤ÃÂÈÚ·„›·˜ ∞ÏÏ·Á‹˜ ÙÚˆÓ ∫Ú˘ÙÔÁÚ¿- ™˘Ó·ÁÂÚÌÔ‡ ÙÔ˘ SSL ÙÔ˘ SSL ÊËÛ˘ ÙÔ˘ SSLA
¶ÚˆÙfiÎÔÏÏÔ K·Ù·ÁÚ·Ê‹˜ ÙÔ˘ SSL
TCP
IP
™¯‹Ì· 17.2
™ÙÔ›‚· ÚˆÙÔÎfiÏÏˆÓ ÛÙÔ SSL
HTTP
17.2 / ¶ƒø∆√∫√§§∞ SSL ∫∞π TLS
597
ñ ™‡ÓÔ‰Ô˜ (session): ª›· SSL Û‡ÓÔ‰Ô˜ Â›Ó·È Ì›· Û¯¤ÛË ÌÂٷ͇ ÂÓfi˜ ÂÏ¿ÙË Î·È ÂÓfi˜ Â͢ËÚÂÙËÙ‹. √È Û‡ÓÔ‰ÔÈ ‰ËÌÈÔ˘ÚÁÔ‡ÓÙ·È ·fi ÙÔ ¶ÚˆÙfiÎÔÏÏÔ ÃÂÈÚ·„›·˜. √È Û‡ÓÔ‰ÔÈ ÔÚ›˙Ô˘Ó ¤Ó· Û‡ÓÔÏÔ ÎÚ˘ÙÔÁÚ·ÊÈÎÒÓ ·Ú·Ì¤ÙÚˆÓ, Ô˘ ÌÔÚÔ‡Ó Ó· ¯ÚËÛÈÌÔÔÈËıÔ‡Ó Û ÔÏϷϤ˜ Û˘Ó‰¤ÛÂȘ. √È Û‡ÓÔ‰ÔÈ ¯ÚËÛÈÌÔÔÈÔ‡ÓÙ·È ÁÈ· ÙËÓ ·ÔÊ˘Á‹ Ù˘ (‰··ÓËÚ‹˜) ‰È·Ú·ÁÌ¿Ù¢Û˘ Ó¤ˆÓ ·Ú·Ì¤ÙÚˆÓ ·ÛÊ·Ï›·˜ Ô˘ ··ÈÙÔ‡ÓÙ·È ÁÈ· οı ۇӉÂÛË. ∞Ó¿ÌÂÛ· Û ÔÔÈÔ‰‹ÔÙ ˙‡ÁÔ˜ ÌÂÏÒÓ ÌÔÚ› Ó· ˘¿Ú¯Ô˘Ó ÔÏϤ˜ ·ÛÊ·Ï›˜ Û˘Ó‰¤ÛÂȘ. £ÂˆÚËÙÈο, ÌÔÚÔ‡Ó Â›Û˘ Ó· ˘¿Ú¯Ô˘Ó ÔÏϷϤ˜ Ù·˘Ùfi¯ÚÔÓ˜ Û‡ÓÔ‰ÔÈ ·Ó¿ÌÂÛ· ÛÙ· ̤ÏË, ·ÏÏ¿ ÛÙËÓ Ú¿ÍË ·˘Ù‹ Ë ‰˘Ó·ÙfiÙËÙ· ‰ÂÓ ¯ÚËÛÈÌÔÔÈ›ٷÈ. ™ÙËÓ Ú·ÁÌ·ÙÈÎfiÙËÙ·, ˘¿Ú¯ÂÈ ¤Ó·˜ ·ÚÈıÌfi˜ ηٷÛÙ¿ÛÂˆÓ Ô˘ Û¯ÂÙ›˙ÔÓÙ·È Ì οı ۇÓÔ‰Ô. ªfiÏȘ ÂÁηıÈ‰Ú˘ı› Ì›· Û‡ÓÔ‰Ô˜, ˘¿Ú¯ÂÈ Ì›· ÙÚ¤¯Ô˘Û· ηٿÛÙ·ÛË ÏÂÈÙÔ˘ÚÁ›·˜ (Ô˘ ·ÊÔÚ¿ .¯. ÛÙË Ï‹„Ë Î·È ÙËÓ ·ÔÛÙÔÏ‹). ∂ÈϤÔÓ, ηٿ ÙË ‰È¿ÚÎÂÈ· ÙÔ˘ ¶ÚˆÙÔÎfiÏÏÔ˘ ÃÂÈÚ·„›·˜, ‰ËÌÈÔ˘ÚÁÔ‡ÓÙ·È Î¿ÔȘ ÚÔÛˆÚÈÓ¤˜, ÂÎÎÚÂÌ›˜, ηٷÛÙ¿ÛÂȘ (pending states). ªfiÏȘ ÔÏÔÎÏËÚˆı› ÂÈÙ˘¯Ò˜ ÙÔ ¶ÚˆÙfiÎÔÏÏÔ ÃÂÈÚ·„›·˜, ÔÈ ÂÎÎÚÂÌ›˜ ηٷÛÙ¿ÛÂȘ ηı›ÛÙ·ÓÙ·È ÙÚ¤¯Ô˘Û˜. ∏ ηٿÛÙ·ÛË Ì›·˜ Û˘Ófi‰Ô˘ ÔÚ›˙ÂÙ·È ·fi ÙȘ ·ÎfiÏÔ˘ı˜ ·Ú·Ì¤ÙÚÔ˘˜ (ÔÈ ÔÚÈÛÌÔ› ¤¯Ô˘Ó ÏËÊı› ·fi ÙËÓ ÚԉȷÁÚ·Ê‹ ÙÔ˘ SSL): ñ ∞Ó·ÁÓˆÚÈÛÙÈÎfi Û˘Ófi‰Ô˘ (Session identifier): ª›· ·˘ı·›ÚÂÙË ·ÎÔÏÔ˘ı›· ·fi byte, ÂÈÏÂÁ̤ÓË ·fi ÙÔÓ Â͢ËÚÂÙËÙ‹ ÁÈ· Ó· ÚÔÛ‰ÈÔÚ›˙ÂÈ ÙËÓ Ù·˘ÙfiÙËÙ· Ì›·˜ ÂÓÂÚÁ‹˜ ‹ ·ӷ¯ÚËÛÈÌÔÔÈÔ‡ÌÂÓ˘ ηٿÛÙ·Û˘ ÌÈ·˜ Û˘Ófi‰Ô˘. ñ ¶ÈÛÙÔÔÈËÙÈÎfi ̤ÏÔ˘˜ (Peer certificate): ŒÓ· ÈÛÙÔÔÈËÙÈÎfi ÙÔ˘ Ã.509.v3 ÂÓfi˜ ̤ÏÔ˘˜ Ù˘ ÂÈÎÔÈÓˆÓ›·˜. ∏ Û˘ÁÎÂÎÚÈ̤ÓË ·Ú¿ÌÂÙÚÔ˜ ÌÔÚ› Ó· ÌËÓ ¤¯ÂÈ ÙÈÌ‹ (ÙÈÌ‹ null). ñ ª¤ıÔ‰Ô˜ Û˘Ì›ÂÛ˘ (Compression method): √ ·ÏÁfiÚÈıÌÔ˜ Ô˘ ¯ÚËÛÈÌÔÔÈÂ›Ù·È ÁÈ· ÙË Û˘Ì›ÂÛË ÙˆÓ ‰Â‰ÔÌ¤ÓˆÓ ÚÈÓ ÙËÓ ÎÚ˘ÙÔÁÚ¿ÊËÛË. ñ ¶ÚԉȷÁÚ·Ê‹ ·ÏÁÔÚ›ıÌÔ˘ ÎÚ˘ÙÔÁÚ¿ÊËÛ˘ (Cipher spec): ∫·ıÔÚ›˙ÂÈ ÙÔÓ ·ÏÁfiÚÈıÌÔ ÎÚ˘ÙÔÁÚ¿ÊËÛ˘ ÙˆÓ ‰Â‰ÔÌ¤ÓˆÓ (.¯. null, AES, Î.Ù.Ï.) Î·È ¤Ó·Ó ·ÏÁfiÚÈıÌÔ Î·Ù·ÎÂÚÌ·ÙÈÛÌÔ‡ (.¯. MD5 ‹ SHA1) Ô˘ ¯ÚËÛÈÌÔÔÈÂ›Ù·È ÁÈ· ÙÔÓ ˘ÔÏÔÁÈÛÌfi ÙÔ˘ MAC. ∂›Û˘ ÔÚ›˙ÂÈ ÂÈ̤ÚÔ˘˜ ¯·Ú·ÎÙËÚÈÛÙÈο ÙˆÓ ·ÏÁÔÚ›ıÌˆÓ ·˘ÙÒÓ, fiˆ˜ Â›Ó·È ÙÔ Ì¤ÁÂıÔ˜ ÙÔ˘ ηٷÎÂÚÌ·ÙÈÛÌÔ‡. ñ ∫‡ÚÈÔ Ì˘ÛÙÈÎfi (master secret): ª˘ÛÙÈ΋ ÔÛfiÙËÙ· ÌÂÁ¤ıÔ˘˜ 48 byte Ô˘ ‰È·ÌÔÈÚ¿˙ÂÙ·È ÌÂٷ͇ ÂÏ¿ÙË Î·È Â͢ËÚÂÙËÙ‹. ñ ∂·Ó·¯ÚËÛÈÌÔÔÈ‹ÛÈÌË (Is resumable): ¢Â›ÎÙ˘ Ô˘ ˘Ô‰ËÏÒÓÂÈ Â¿Ó Ë Û‡ÓÔ‰Ô˜ ÌÔÚ› Ó· ¯ÚËÛÈÌÔÔÈËı› ÁÈ· Ó· ÂÎÎÈÓ‹ÛÂÈ Ó¤Â˜ Û˘Ó‰¤ÛÂȘ. ∏ ηٿÛÙ·ÛË ÌÈ·˜ Û‡Ó‰ÂÛ˘ ÔÚ›˙ÂÙ·È ·fi ÙȘ ÂÍ‹˜ ·Ú·Ì¤ÙÚÔ˘˜: ñ ∆˘¯·›· ‰Â‰Ô̤ӷ ÂÏ¿ÙË Î·È Â͢ËÚÂÙËÙ‹ (Server and client random): ∞ÎÔÏÔ˘ı›Â˜ ·fi byte Ô˘ ÂÈϤÁÔÓÙ·È ·fi ÙÔÓ Â͢ËÚÂÙËÙ‹ Î·È ÙÔÓ ÂÏ¿ÙË ÁÈ· οı ۇӉÂÛË. ñ ª˘ÛÙÈÎfi ÎÏÂȉ› ÙÔ˘ Â͢ËÚÂÙËÙ‹ ÁÈ· ÙÔÓ MAC (Server write MAC secret): ∆Ô Ì˘ÛÙÈÎfi ÎÏÂȉ› Ô˘ ¯ÚËÛÈÌÔÔÈÂ›Ù·È Û ÏÂÈÙÔ˘ÚÁ›Â˜ ·Ú·ÁˆÁ‹˜ MAC ÁÈ· ‰Â‰Ô̤ӷ Ô˘ ·ÔÛÙ¤ÏÏÔÓÙ·È ·fi ÙÔÓ Â͢ËÚÂÙËÙ‹. ñ ª˘ÛÙÈÎfi ÎÏÂȉ› ÙÔ˘ ÂÏ¿ÙË ÁÈ· ÙÔÓ MAC (Client write MAC secret): ∆Ô Ì˘ÛÙÈÎfi ÎÏÂȉ› Ô˘ ¯ÚËÛÈÌÔÔÈÂ›Ù·È Û ÏÂÈÙÔ˘ÚÁ›Â˜ ·Ú·ÁˆÁ‹˜ MAC ÁÈ· ‰Â‰Ô̤ӷ Ô˘ ·ÔÛÙ¤ÏÏÔÓÙ·È ·fi ÙÔÓ ÂÏ¿ÙË.
598
∫∂º∞§∞π√ 17 / ∞™º∞§∂π∞ ™∆√ WEB
ñ ∫ÏÂȉ› ÁÈ· ÙËÓ ·ÔÛÙÔÏ‹ ‰Â‰ÔÌ¤ÓˆÓ ·fi ÙÔÓ Â͢ËÚÂÙËÙ‹ (Server write key): ∆Ô ÎÏÂȉ› ÎÚ˘ÙÔÁÚ¿ÊËÛ˘ Ô˘ ¯ÚËÛÈÌÔÔÈÂ›Ù·È Û ‰Â‰Ô̤ӷ Ô˘ ÎÚ˘ÙÔÁÚ·ÊÔ‡ÓÙ·È ·fi ÙÔÓ Â͢ËÚÂÙËÙ‹ Î·È ·ÔÎÚ˘ÙÔÁÚ·ÊÔ‡ÓÙ·È ·fi ÙÔÓ ÂÏ¿ÙË. ñ ∫ÏÂȉ› ÁÈ· ÙËÓ ·ÔÛÙÔÏ‹ ‰Â‰ÔÌ¤ÓˆÓ ·fi ÙÔÓ ÂÏ¿ÙË (Client write key): ∆Ô ÎÏÂȉ› ÎÚ˘ÙÔÁÚ¿ÊËÛ˘ Ô˘ ¯ÚËÛÈÌÔÔÈÂ›Ù·È Û ‰Â‰Ô̤ӷ Ô˘ ÎÚ˘ÙÔÁÚ·ÊÔ‡ÓÙ·È ·fi ÙÔÓ ÂÏ¿ÙË Î·È ·ÔÎÚ˘ÙÔÁÚ·ÊÔ‡ÓÙ·È ·fi ÙÔÓ Â͢ËÚÂÙËÙ‹. ñ ¢È·Ó‡ÛÌ·Ù· ·Ú¯ÈÎÔÔ›ËÛ˘ (Initialization vectors): ŸÙ·Ó ¯ÚËÛÈÌÔÔÈÂ›Ù·È ¤Ó·˜ ÎÚ˘Ù·ÏÁfiÚÈıÌÔ˜ ÙÌ‹Ì·ÙÔ˜ Û ÙÚfiÔ ÏÂÈÙÔ˘ÚÁ›·˜ ·Ó¿‰Ú·Û˘ ÎÚ˘Ù·ÏÁÔÚ›ıÌÔ˘ (CFB), ÁÈ· οı ÎÏÂȉ› ÙËÚÂ›Ù·È ¤Ó· ‰È¿Ó˘ÛÌ· ·Ú¯ÈÎÔÔ›ËÛ˘ (Initialization Vector - IV). H ÙÈÌ‹ ·˘ÙÔ‡ ·Ú¯ÈÎÔÔÈÂ›Ù·È ·fi ÙÔ ¶ÚˆÙfiÎÔÏÏÔ ÃÂÈÚ·„›·˜ ÙÔ˘ SSL. ™ÙË Û˘Ó¤¯ÂÈ·, ÙÔ ÙÂÏÈÎfi οı ÊÔÚ¿ ÙÌ‹Ì· ÙÔ˘ ÎÚ˘ÙÔÎÂÈ̤ÓÔ˘ ¯ÚËÛÈÌÔÔÈÂ›Ù·È ˆ˜ IV ÁÈ· ÙËÓ ÂfiÌÂÓË ÎÚ˘ÙÔÁÚ¿ÊËÛË. ñ ∞ÎÔÏÔ˘ıÈ·ÎÔ› ∞ÚÈıÌÔ› (Sequence Numbers): ∫¿ı ̤ÏÔ˜ ‰È·ÙËÚ› ͯˆÚÈÛÙÔ‡˜ ·ÎÔÏÔ˘ıÈ·ÎÔ‡˜ ·ÚÈıÌÔ‡˜ ÁÈ· Ù· ÌËӇ̷ٷ Ô˘ ÂΤÌÂÈ Î·È Ï·Ì‚¿ÓÂÈ Û οı ۇӉÂÛË. ŸÙ·Ó ¤Ó· ̤ÏÔ˜ ·ÔÛÙ¤ÏÏÂÈ ‹ Ï·Ì‚¿ÓÂÈ ¤Ó· Ì‹Ó˘Ì· Ù‡Ô˘ Change Cipher Spec, ÙfiÙÂ Ô ·ÓÙ›ÛÙÔȯԘ ·ÎÔÏÔ˘ıÈ·Îfi˜ ·ÚÈıÌfi˜ ·ÎÔÏÔ˘ı›·˜ Ù›ıÂÙ·È Û ÌˉÂÓÈ΋ ÙÈÌ‹. ∏ ÙÈÌ‹ ÂÓfi˜ ·ÎÔÏÔ˘ıÈ·ÎÔ‡ ·ÚÈıÌÔ‡ ‰ÂÓ ÌÔÚ› Ó· ÍÂÂÚÓ¿ ÙÔ 264 – 1.
¶ÚˆÙfiÎÔÏÏÔ ∫·Ù·ÁÚ·Ê‹˜ ÙÔ˘ SSL ∆Ô ¶ÚˆÙfiÎÔÏÏÔ ∫·Ù·ÁÚ·Ê‹˜ ÙÔ˘ SSL (SSL Record Protocol), ·Ú¤¯ÂÈ ‰‡Ô ˘ËÚÂۛ˜ ÁÈ· SSL Û˘Ó‰¤ÛÂȘ: ñ ∂ÌÈÛÙ¢ÙÈÎfiÙËÙ·: ∆Ô ¶ÚˆÙfiÎÔÏÏÔ ÃÂÈÚ·„›·˜ (Handshake) ÔÚ›˙ÂÈ ¤Ó· ‰È·ÌÔÈÚ·˙fiÌÂÓÔ Ì˘ÛÙÈÎfi ÎÏÂȉ› Ô˘ ¯ÚËÛÈÌÔÔÈÂ›Ù·È ÁÈ· ÂÌÈÛÙ¢ÙÈ΋ ÎÚ˘ÙÔÁÚ¿ÊËÛË ÙˆÓ ‰Â‰ÔÌ¤ÓˆÓ Ô˘ ·ÔÛÙ¤ÏÏÔÓÙ·È Ì¤Ûˆ SSL. ñ ∞ÎÂÚ·ÈfiÙËÙ· ªËӇ̷ÙÔ˜: ∆Ô ¶ÚˆÙfiÎÔÏÏÔ ÃÂÈÚ·„›·˜ ÔÚ›˙ÂÈ Â›Û˘ ¤Ó· ‰È·ÌÔÈÚ·˙fiÌÂÓÔ Ì˘ÛÙÈÎfi ÎÏÂȉ› Ô˘ ¯ÚËÛÈÌÔÔÈÂ›Ù·È ÁÈ· ÙÔÓ Û¯ËÌ·ÙÈÛÌfi ÂÓfi˜ ÎÒ‰Èη ·˘ıÂÓÙÈÎÔÔ›ËÛ˘ ÌËӇ̷ÙÔ˜ (MAC). ∆Ô ™¯‹Ì· 17.3 ·ÂÈÎÔÓ›˙ÂÈ ÙËÓ Û˘ÓÔÏÈ΋ ÏÂÈÙÔ˘ÚÁ›· ÙÔ˘ ¶ÚˆÙÔÎfiÏÏÔ˘ ∫·Ù·ÁÚ·Ê‹˜ ÙÔ˘ SSL. ∆Ô ¶ÚˆÙfiÎÔÏÏÔ ∫·Ù·ÁÚ·Ê‹˜ Ï·Ì‚¿ÓÂÈ ¤Ó· Ì‹Ó˘Ì· ·fi ÙÔ Â›Â‰Ô ÂÊ·ÚÌÔÁÒÓ ÙÔ ÔÔ›Ô Ú¤ÂÈ Ó· ÌÂÙ·‰Ôı›. ∆Ô ÚˆÙfiÎÔÏÏÔ ¯ˆÚ›˙ÂÈ ÙÔ Ì‹Ó˘Ì· Û ηٿÏÏËÏ· (‰È·¯ÂÈÚ›ÛÈÌ·) ÙÌ‹Ì·Ù·, Û˘ÌȤ˙ÂÈ Ù· ‰Â‰Ô̤ӷ (ÚÔ·ÈÚÂÙÈο), ÂÊ·ÚÌfi˙ÂÈ Ì›· Û˘Ó¿ÚÙËÛË Î·Ù·ÎÂÚÌ·ÙÈÛÌÔ‡, ÎÚ˘ÙÔÁÚ·Ê›, ÚÔÛı¤ÙÂÈ Ì›· ÂÈÎÂÊ·Ï›‰·, Î·È ÌÂÙ·‰›‰ÂÈ ÙË ÌÔÓ¿‰· Ô˘ ÚÔ·ÙÂÈ, Û ¤Ó· ÙÌ‹Ì· TCP. ∆· ‰Â‰Ô̤ӷ ÛÙËÓ ÏÂ˘Ú¿ ÙÔ˘ ·Ú·Ï‹ÙË, ·ÊÔ‡ ·ÔÎÚ˘ÙÔÁÚ·ÊËıÔ‡Ó, ÂÈ΢ÚÒÓÔÓÙ·È, ·ÔÛ˘ÌȤ˙ÔÓÙ·È Î·È Â·Ó·Û˘Ó·ÚÌÔÏÔÁÔ‡ÓÙ·È, ¤ÙÛÈ ÒÛÙ ӷ ·Ú·‰ÔıÔ‡Ó ÛÙ· ÚˆÙfiÎÔÏÏ· ˘„ËÏfiÙÂÚÔ˘ ÂȤ‰Ô˘. ∆Ô ÚÒÙÔ ‚‹Ì· Â›Ó·È Ë Î·Ù¿ÙÌËÛË. ∫¿ıÂ Ì‹Ó˘Ì· ·ÓÒÙÂÚÔ˘ ÂȤ‰Ô˘ ¯ˆÚ›˙ÂÙ·È Û ÙÌ‹Ì·Ù· ÌÂÁ¤ıÔ˘˜ 214 byte ‹ ÌÈÎÚfiÙÂÚÔ˘. ™ÙË Û˘Ó¤¯ÂÈ·, ÂÊ·ÚÌfi˙ÂÙ·È ÚÔ·ÈÚÂÙÈο Û˘Ì›ÂÛË. ∏ Û˘Ì›ÂÛË Ú¤ÂÈ Ó· Â›Ó·È ÌË ·ˆÏÂÛÙÈ΋ (loseless) Î·È ‰ÂÓ Ú¤ÂÈ Ó· ·˘Í¿ÓÂÈ ÙÔ Ì¤ÁÂıÔ˜ ÙÔ˘ ÙÌ‹Ì·ÙÔ˜ ηٿ ÂÚÈÛÛfiÙÂÚÔ ·fi 1024 byte2. ™ÙÔ SSLv3 (fiˆ˜ ›Û˘ Î·È ÛÙËÓ ÙÚ¤¯Ô˘Û· ¤Î‰ÔÛË ÙÔ˘ TLS), ‰ÂÓ Î·ıÔÚ›˙ÂÙ·È ·ÏÁfiÚÈıÌÔ˜ Û˘Ì›ÂÛ˘, Î·È ¤ÙÛÈ Ë ÂÍ ÔÚÈÛÌÔ‡ ÙÈÌ‹ ÙÔ˘ ·ÏÁÔÚ›ıÌÔ˘ Û˘Ì›ÂÛ˘ Â›Ó·È null. 2
Ÿˆ˜ Â›Ó·È Ê˘ÛÈÎfi, ·Ó·Ì¤ÓÂÈ Î·Ó›˜ ·fi ÙË ‰È·‰Èηۛ· Ù˘ Û˘Ì›ÂÛ˘ Ó· Û˘ÚÚÈÎÓÒÓÂÈ Ù· ‰Â‰Ô̤ӷ ·Ú¿ Ó· ·˘Í¿ÓÂÈ ÙÔ Ì¤ÁÂıfi˜ ÙÔ˘˜. øÛÙfiÛÔ, ÁÈ· Ôχ ÌÈÎÚ¿ ÙÌËÌ·Ù·, Â›Ó·È Èı·Ófi (ÏfiÁˆ Û˘Ì‚¿ÛÂˆÓ Û¯ÂÙÈΤ˜ Ì ÙË ÌÔÚÊÔÔ›ËÛË) Ô ·ÏÁfiÚÈıÌÔ˜ Û˘Ì›ÂÛ˘ Ó· ·Ú¿ÁÂÈ ÙÂÏÈο ¤ÍÔ‰Ô Ì ÌÂÁ·Ï‡ÙÂÚÔ Ì¤ÁÂıÔ˜ ·fi ·˘Ùfi Ù˘ ÂÈÛfi‰Ô˘.
17.2 / ¶ƒø∆√∫√§§∞ SSL ∫∞π TLS
599
¢Â‰Ô̤ӷ ·fi ÙÔ Â›Â‰Ô ÂÊ·ÚÌÔÁÒÓ
∆Ì‹Ì·
™˘Ì›ÂÛË ¶ÚÔÛı‹ÎË ÎÒ‰Èη ·˘ıÂÓÙÈÎÔÔ›ËÛ˘ ÌËӇ̷ÙÔ˜ (Ì ¯Ú‹ÛË Û˘Ó¿ÚÙËÛ˘ ηٷÎÂÚÌ·ÙÈÛÌÔ‡) ∫Ú˘ÙÔÁÚ¿ÊËÛË ¶ÚÔÛ¿ÚÙËÛË Ù˘ ÂÈÎÂÊ·Ï›‰·˜ ηٷÁÚ·Ê‹˜ ÙÔ˘ SSL
™¯‹Ì· 17.3
§ÂÈÙÔ˘ÚÁ›· ÙÔ˘ ¶ÚˆÙÔÎfiÏÏÔ˘ ∫·Ù·ÁÚ·Ê‹˜ ÙÔ˘ SSL
∆Ô ÂfiÌÂÓÔ ‚‹Ì· Ù˘ ÂÂÍÂÚÁ·Û›·˜ Â›Ó·È Ô ˘ÔÏÔÁÈÛÌfi˜ ÂÓfi˜ ÎÒ‰Èη ·˘ıÂÓÙÈÎÔÔ›ËÛ˘ ÌËӇ̷ÙÔ˜ (message authentication code/MAC) ¿Óˆ ÛÙ· Û˘ÌÈÂṲ̂ӷ ‰Â‰Ô̤ӷ. °È· ÙÔ ÛÎÔfi ·˘Ùfi, ¯ÚËÛÈÌÔÔÈÂ›Ù·È ¤Ó· Ì˘ÛÙÈÎfi ÎÏÂȉ› Ô˘ ‰È·ÌÔÈÚ¿˙ÂÙ·È ÌÂٷ͇ ÙˆÓ ‰‡Ô ÌÂÏÒÓ. √ ˘ÔÏÔÁÈÛÌfi˜ ÙÔ˘ MAC ¤¯ÂÈ ˆ˜ ÂÍ‹˜: hash(MAC_write_secret || pad_2 || hash(MAC_write_secret || pad_1 || seq_num || SSLCompressed.type || SSLCompressed.length || SSLCompressed.fragment))
fiÔ˘ ||
= Û˘Ó¤ÓˆÛË (˘fi ÙËÓ ¤ÓÓÔÈ· Ù˘ ·ÏÏËÏÔ˘¯›·˜ ‰‡Ô ÙÌËÌ¿ÙˆÓ) MAC_write_secret = ÙÔ ‰È·ÌÔÈÚ·˙fiÌÂÓÔ Ì˘ÛÙÈÎfi ÎÏÂȉ› Hash = ·ÏÁfiÚÈıÌÔ˜ ηٷÎÂÚÌ·ÙÈÛÌÔ‡Ø Â›ÙÂ Ô MD5 ›ÙÂ Ô SHA-1 pad_1 = ÙÔ byte 0×36 (0011 0110) Ô˘ ·ӷϷ̂¿ÓÂÙ·È 48 ÊÔÚ¤˜ (384 bit) ÁÈ· ÙÔÓ MD5 Î·È 40 ÊÔÚ¤˜ (320 bit) ÁÈ· ÙÔÓ SHA-1. pad_2 = ÙÔ byte 0×5C (0101 1100) Ô˘ ·ӷϷ̂¿ÓÂÙ·È 48 ÊÔÚ¤˜ ÁÈ· ÙÔÓ MD5 Î·È 40 ÊÔÚ¤˜ ÁÈ· ÙÔÓ SHA-1. seq_num = Ô ·ÎÔÏÔ˘ıÈ·Îfi˜ ·ÚÈıÌfi˜ ÙÔ˘ ÂÓ ÏfiÁˆ ÌËӇ̷ÙÔ˜ SSLCompressed.type = ÙÔ ÚˆÙfiÎÔÏÏÔ ·ÓÒÙÂÚÔ˘ ÂȤ‰Ô˘ Ô˘ ¯ÚËÛÈÌÔÔÈÂ›Ù·È ÁÈ· ÙËÓ ÂÂÍÂÚÁ·Û›· ÙÔ˘ ÙÌ‹Ì·ÙÔ˜ ·˘ÙÔ‡ SSLCompressed.length = ÙÔ Ì¤ÁÂıÔ˜ ÙÔ˘ Û˘ÌÈÂṲ̂ÓÔ˘ ÙÌ‹Ì·ÙÔ˜ SSLCompressed.fragment = ÙÔ Û˘ÌÈÂṲ̂ÓÔ ÙÌ‹Ì· (Â¿Ó ‰ÂÓ Ú·ÁÌ·ÙÔÔÈÂ›Ù·È Û˘Ì›ÂÛË, ÙÔ ·Ú¯ÈÎfi ÙÌ‹Ì·)
¶ÚÔÛ¤ÍÙ fiÙÈ Ô ·ÏÁfiÚÈıÌÔ˜ ·˘Ùfi˜ Â›Ó·È ·Ú·Ï‹ÛÈÔ˜ Ì ÙÔÓ ·ÏÁfiÚÈıÌÔ HMAC Ô˘ ÂÚÈÁÚ¿ÊËΠÛÙÔ ∫ÂÊ¿Ï·ÈÔ 12. ∏ ‰È·ÊÔÚ¿ ¤ÁÎÂÈÙ·È ÛÙÔ fiÙÈ Ù· ‰‡Ô ‰›· Û˘ÌÏ‹ÚˆÛ˘ (pad_1 Î·È pad_2) ÛÙÔ SSLv3 Û˘ÓÂÓÒÓÔÓÙ·È Û ̛· ·ÎÔÏÔ˘ı›·, ÂÓÒ ÛÙÔ HMAC ÂÎÙÂ-