Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.0
標準è¦æ ¼ã®è‰¯ã„所ã¯ã€ãŸãã•ã‚“ã®è¦æ ¼ã‹ã‚‰é¸ã¹ã‚‹ã¨ã„ã†ã“ã¨ã 。 ãã—ã¦ã€ã‚‚ã—本当ã«ã©ã®è¦æ ¼ã‚‚æ°—ã«å…¥ã‚‰ãªã‘ã‚Œã°ã€ 一年待ã¤ã ã‘ã§æŽ¢ã—ã¦ã„ãŸè¦æ ¼ãŒç¾ã‚Œã‚‹ã€‚
-- A. Tanenbaum, "Introduction to Computer Networks"
入門ã¨ã„ã†ã“ã¨ã§ã€ã“ã®ç« 㯠Webã€HTTPã€Apache ã«é€šã˜ã¦ã„ã‚‹ èªè€…å‘ã‘ã§ã™ãŒã€ã‚»ã‚ュリティ専門家å‘ã‘ã§ã¯ã‚ã‚Šã¾ã›ã‚“。 SSL プãƒãƒˆã‚³ãƒ«ã®æ±ºå®šçš„ãªæ‰‹å¼•ãã§ã‚ã‚‹ã¤ã‚‚ã‚Šã¯ã‚ã‚Šã¾ã›ã‚“。 ã¾ãŸã€çµ„織内ã®èªè¨¼ç®¡ç†ã®ãŸã‚ã®ç‰¹å®šã®ãƒ†ã‚¯ãƒ‹ãƒƒã‚¯ã‚„〠特許や輸出è¦åˆ¶ãªã©ã®é‡è¦ãªæ³•çš„ãªå•é¡Œã«ã¤ã„ã¦ã‚‚扱ã„ã¾ã›ã‚“。 ã‚€ã—ã‚ã€æ›´ãªã‚‹ç ”究ã¸ã®å‡ºç™ºç‚¹ã¨ã—ã¦è‰²ã€…ãªæ¦‚念ã€å®šç¾©ã€ä¾‹ã‚’並ã¹ã‚‹ã“ã¨ã§ mod_ssl ã®ãƒ¦ãƒ¼ã‚¶ã«åŸºç¤ŽçŸ¥è˜ã‚’æä¾›ã™ã‚‹äº‹ã‚’目的ã¨ã—ã¦ã„ã¾ã™ã€‚
ã“ã“ã«ç¤ºã•ã‚ŒãŸå†…容ã¯ä¸»ã«ã€åŽŸè‘—者ã®è¨±å¯ã®ä¸‹
The Open Group Research Institute ã® Frederick J. Hirsch
æ°ã®è¨˜äº‹
Introducing SSL and Certificates using SSLeay を基ã«ã—ã¦ã„ã¾ã™ã€‚
æ°ã®è¨˜äº‹ã¯ Web Security: A Matter of
Trust, World Wide Web Journal, Volume 2, Issue 3, Summer 1997
ã«æŽ²è¼‰ã•ã‚Œã¾ã—ãŸã€‚
肯定的ãªæ„見㯠Frederick Hirsch æ°
(元記事ã®è‘—者) ã¸å…¨ã¦ã®è‹¦æƒ…㯠Ralf S. Engelschall (
mod_ssl
ã®ä½œè€…) ã¸ãŠé¡˜ã„ã—ã¾ã™ã€‚
[訳注: 訳ã«ã¤ã„ã¦ã¯
Apache ドã‚ュメント翻訳プãƒã‚¸ã‚§ã‚¯ãƒˆ
ã¸ãŠé¡˜ã„ã—ã¾ã™ã€‚]
SSL ã‚’ç†è§£ã™ã‚‹ã«ã¯ã€æš—å·ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ 〠メッセージダイジェスト関数(別å: 一方å‘関数ã€ãƒãƒƒã‚·ãƒ¥é–¢æ•°)〠電åç½²åãªã©ã¸ã®ç†è§£ãŒå¿…è¦ã§ã™ã€‚ ã“れらã®æŠ€è¡“ã¯æœ¬ãŒä¸¸ã”ã¨å¿…è¦ãªé¡Œç›®ã§ (例ãˆã° [AC96] ã‚’å‚ç…§)〠プライãƒã‚·ãƒ¼ã€ä¿¡ç”¨ã€èªè¨¼ãªã©ã®æŠ€è¡“ã®åŸºç¤Žã¨ãªã£ã¦ã„ã¾ã™ã€‚
例ãˆã°ã€ã‚¢ãƒªã‚¹ãŒé€é‡‘ã®ãŸã‚ã«éŠ€è¡Œã«ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’é€ã‚ŠãŸã„ã¨ã—ã¾ã™ã€‚ å£åº§ç•ªå·ã‚„é€é‡‘ã®é‡‘é¡ãŒå«ã¾ã‚Œã‚‹ãŸã‚〠アリスã¯ãã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’秘密ã«ã—ãŸã„ã¨æ€ã„ã¾ã™ã€‚ 解決方法ã®ä¸€ã¤ã¯æš—å·ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ を使ã£ã¦ã€ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’ èªã¾ã›ãŸã„人以外ã¯èªã‚€ã“ã¨ãŒã§ããªã„æš—å·åŒ–ã•ã‚ŒãŸ 形態ã«å¤‰ãˆã¦ã—ã¾ã†ã“ã¨ã§ã™ã€‚ ãã®å½¢æ…‹ã«ãªã‚‹ã¨ã€ メッセージã¯ç§˜å¯†ã®éµã«ã‚ˆã£ã¦ã®ã¿è§£é‡ˆã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ éµãªã—ã§ã¯ã€ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã¯å½¹ã«ç«‹ã¡ã¾ã›ã‚“。 良ã„æš—å·ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ã¯ã€ä¾µå…¥è€…ãŒå…ƒã®ãƒ†ã‚ストを解èªã™ã‚‹ã“ã¨ã‚’ éžå¸¸ã«é›£ã—ãã™ã‚‹ãŸã‚ã€åŠªåŠ›ãŒå‰²ã«åˆã‚ãªãã•ã›ã¾ã™ã€‚
æš—å·ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ã«ã¯ 従æ¥åž‹ã¨å…¬é–‹éµã®äºŒã¤ã®ç¨®é¡žãŒã‚ã‚Šã¾ã™ã€‚
誰もãŒæš—å·åŒ–ã•ã‚ŒãŸãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’公開éµã«ã‚ˆã£ã¦æš—å·åŒ– ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ãŒã€ç§˜å¯†éµã®æŒã¡ä¸»ã ã‘ãŒãれをèªã‚€ã“ã¨ãŒ ã§ãã¾ã™ã€‚ ã“ã®æ–¹æ³•ã§ã€éŠ€è¡Œã®å…¬é–‹éµã‚’使ã£ã¦æš—å·åŒ–ã™ã‚‹ã“ã¨ã§ã€ アリスã¯ç§˜å¯†ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’é€ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ 銀行ã®ã¿ãŒå¾©å·ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
アリスã¯ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’秘密ã«ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ãŒã€ 誰ã‹ãŒä¾‹ãˆã°è‡ªåˆ†ã«é€é‡‘ã™ã‚‹ã‚ˆã†ã«ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’変更ã—ãŸã‚Šã€ 別ã®ã‚‚ã®ã«ç½®ãæ›ãˆã¦ã—ã¾ã†ã‹ã‚‚ã—ã‚Œãªã„ã¨ã„ã†å•é¡ŒãŒã‚ã‚Šã¾ã™ã€‚ アリスã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã®ä¿¡ç”¨ã‚’ä¿è¨¼ã™ã‚‹æ–¹æ³•ã®ä¸€ã¤ã¯ã€ メッセージã®ç°¡æ½”ãªãƒ€ã‚¤ã‚¸ã‚§ã‚¹ãƒˆã‚’作ã£ã¦ã€ãれも銀行ã«é€ã‚‹ã¨ã„ã†ã‚‚ã®ã§ã™ã€‚ メッセージをå—ã‘å–ã‚‹ã¨éŠ€è¡Œã‚‚ダイジェストを作æˆã—〠アリスãŒé€ã£ãŸã‚‚ã®ã¨æ¯”ã¹ã¾ã™ã€‚ã‚‚ã—一致ã—ãŸãªã‚‰ã€ å—ã‘å–ã£ãŸãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã¯ç„¡å‚·ã ã¨ã„ã†ã“ã¨ã«ãªã‚Šã¾ã™ã€‚
ã“ã®ã‚ˆã†ãªè¦ç´„ã¯ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãƒ€ã‚¤ã‚¸ã‚§ã‚¹ãƒˆã€ 一方行関数ã€ã¾ãŸã¯ãƒãƒƒã‚·ãƒ¥é–¢æ•°ã¨å‘¼ã°ã‚Œã¾ã™ã€‚ メッセージダイジェストã¯é•·ã„å¯å¤‰é•·ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‹ã‚‰ çŸã„固定長ã®è¡¨ç¾ã‚’作るã®ã«ä½¿ã‚ã‚Œã¾ã™ã€‚ ダイジェストアルゴリズムã¯ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‹ã‚‰ 一æ„ãªãƒ€ã‚¤ã‚¸ã‚§ã‚¹ãƒˆã‚’生æˆã™ã‚‹ã‚ˆã†ã«ä½œã‚‰ã‚Œã¦ã„ã¾ã™ã€‚ メッセージダイジェストã¯ãƒ€ã‚¤ã‚¸ã‚§ã‚¹ãƒˆã‹ã‚‰å…ƒã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’ 判定ã™ã‚‹ã®ãŒã¨ã¦ã‚‚難ã—ã„よã†ã«ã§ãã¦ã„ã¾ã™ã€‚ ã¾ãŸã€åŒã˜è¦ç´„を作æˆã™ã‚‹äºŒã¤ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’探ã™ã®ã¯ä¸å¯èƒ½ã§ã™ã€‚ よã£ã¦ã€åŒã˜è¦ç´„を使ã£ã¦ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’ç½®ãæ›ãˆã‚‹ã¨ã„ㆠå¯èƒ½æ€§ã‚’排除ã—ã¦ã„ã¾ã™ã€‚
アリスã¸ã®ã‚‚ã†ä¸€ã¤ã®å•é¡Œã¯ã€ã“ã®ãƒ€ã‚¤ã‚¸ã‚§ã‚¹ãƒˆã‚’安全ã«é€ã‚‹æ–¹æ³•ã‚’探ã™ã“ã¨ã§ã™ã€‚ ã“ã‚ŒãŒã§ãã‚Œã°ã€ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã®ä¿¡ç”¨ãŒä¿è¨¼ã•ã‚Œã¾ã™ã€‚ 一ã¤ã®æ–¹æ³•ã¯ã“ã®ãƒ€ã‚¤ã‚¸ã‚§ã‚¹ãƒˆã«é›»åç½²åã‚’å«ã‚€ã“ã¨ã§ã™ã€‚
アリスãŒéŠ€è¡Œã«ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’é€ã£ãŸã¨ãã€éŠ€è¡Œã¯ã€ 侵入者ãŒå½¼å¥³ã«ãªã‚Šã™ã¾ã—ã¦å½¼å¥³ã®å£åº§ã¸ã®å–引を申請ã—ã¦ã„ãªã„ã‹ã€ メッセージãŒæœ¬å½“ã«å½¼å¥³ã‹ã‚‰ã®ã‚‚ã®ã‹ç¢ºå®Ÿã«åˆ†ã‹ã‚‰ãªã‘ã‚Œã°ã„ã‘ã¾ã›ã‚“。 アリスã«ã‚ˆã£ã¦ä½œæˆã•ã‚Œã€ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã«å«ã¾ã‚ŒãŸ é›»åç½²åãŒã“ã“ã§å½¹ã«ç«‹ã¡ã¾ã™ã€‚
é›»åç½²åã¯ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã®ãƒ€ã‚¤ã‚¸ã‚§ã‚¹ãƒˆã‚„ãã®ä»–ã®æƒ…å ±(処ç†ç•ªå·ãªã©)ã‚’ é€ä¿¡è€…ã®ç§˜å¯†éµã§æš—å·åŒ–ã™ã‚‹ã“ã¨ã§ä½œã‚‰ã‚Œã¾ã™ã€‚ 誰もãŒå…¬é–‹éµã‚’使ã£ã¦ç½²åを復å·ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ãŒã€ ç½²å者ã®ã¿ãŒç§˜å¯†éµã‚’知ã£ã¦ã„ã¾ã™ã€‚ ã“ã‚Œã¯ã€å½¼ã‚‰ã®ã¿ãŒç½²åã—ãˆãŸã“ã¨ã‚’æ„味ã—ã¾ã™ã€‚ ダイジェストを電åç½²åã«å«ã‚€ã“ã¨ã¯ã€ ãã®ç½²åãŒãã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã®ã¿ã«æœ‰åŠ¹ã§ã‚ã‚‹ã“ã¨ã‚’æ„味ã—ã¾ã™ã€‚ ã“ã‚Œã¯ã€èª°ã‚‚ダイジェストを変ãˆã¦ç½²åã‚’ã™ã‚‹ã“ã¨ãŒã§ããªã„ãŸã‚〠メッセージã®ä¿¡ç”¨ã‚‚ä¿è¨¼ã—ã¾ã™ã€‚
侵入者ãŒç½²åã‚’å‚å—ã—ã¦å¾Œæ—¥ã«å†åˆ©ç”¨ã™ã‚‹ã®ã‚’防ããŸã‚ é›»åç½²åã«ã¯ä¸€æ„ãªå‡¦ç†ç•ªå·ãŒå«ã¾ã‚Œã¾ã™ã€‚ ã“ã‚Œã¯ã€ã‚¢ãƒªã‚¹ãŒãã‚“ãªãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã¯é€ã£ã¦ã„ãªã„ã¨è¨€ã†è©æ¬º ã‹ã‚‰éŠ€è¡Œã‚’守りã¾ã™ã€‚ 彼女ã ã‘ãŒç½²åã—ãˆãŸã‹ã‚‰ã§ã™ã€‚(å¦èªé˜²æ¢)
アリスã¯ç§˜å¯†ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’銀行ã«é€ã‚Šã€ ç½²åã‚’ã—ã¦ã€ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã®ä¿¡ç”¨ã‚’ä¿è¨¼ã™ã‚‹ã“ã¨ãŒã§ãã‚‹ãŠã†ã«ãªã‚Šã¾ã—ãŸãŒã€ 通信ã—ã¦ã„る相手ãŒæœ¬å½“ã«éŠ€è¡Œãªã®ã‹ç¢ºã‹ã‚ãªãã¦ã¯ã„ã‘ã¾ã›ã‚“。 ã“ã‚Œã¯ã€å½¼å¥³ãŒä½¿ã†å…¬é–‹éµãŒéŠ€è¡Œã®ç§˜å¯†éµã¨å¯¾ã«ãªã£ã¦ã„ã‚‹ã‚‚ã®ã‹ã€ 彼女ã¯ç¢ºã‹ã‚ãªãã¦ã¯ã„ã‘ãªã„ã¨ã„ã†ã“ã¨ã‚’æ„味ã—ã¾ã™ã€‚ åŒæ§˜ã«ã€éŠ€è¡Œã¯ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã®ç½²åãŒæœ¬å½“ã«ã‚¢ãƒªã‚¹ã®ç½²åã‹ç¢ºèªã™ã‚‹å¿…è¦ãŒ ã‚ã‚Šã¾ã™ã€‚
ã‚‚ã—両者ã«èº«å…ƒã‚’証明ã—ã€å…¬é–‹éµã‚’確èªã—ã€ã¾ãŸä¿¡é ¼ã•ã‚ŒãŸæ©Ÿé–¢ãŒç½²å ã—ãŸè¨¼æ˜Žæ›¸ãŒã‚ã‚Œã°ã€ä¸¡è€…ã¨ã‚‚通信相手ã«ã¤ã„ã¦æ£ã—ã„相手ã 㨠確信ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ ãã®ã‚ˆã†ãªä¿¡é ¼ã•ã‚ŒãŸæ©Ÿé–¢ã¯èªè¨¼å±€ (Certificate Authority ã¾ãŸã¯ CA) ã¨å‘¼ã°ã‚Œã€ 証明書 (certificate) ãŒèªè¨¼ (authentication) ã«ä½¿ã‚ã‚Œã¾ã™ã€‚
証明書ã¯å…¬é–‹éµã¨å€‹äººã€ã‚µãƒ¼ãƒã€ãã®ä»–ã®ä¸»ä½“ã®å®Ÿåœ¨ã®èº«å…ƒã‚’ 関連付ã‘ã¾ã™ã€‚ 表1ã«ç¤ºã•ã‚Œã‚‹ã‚ˆã†ã«è¨¼æ˜Žå¯¾è±¡ã®æƒ…å ±ã¯ èº«å…ƒè¨¼æ˜Žã®æƒ…å ±(è˜åˆ¥å)ã¨å…¬é–‹éµãŒå«ã¾ã‚Œã¾ã™ã€‚ 証明書ã¯ã¾ãŸã€èªè¨¼å±€ã®èº«å…ƒè¨¼æ˜Žã¨ç½²åã€ãã—ã¦è¨¼æ˜Žæ›¸ã®æœ‰åŠ¹æœŸé–“ã‚’ å«ã¿ã¾ã™ã€‚ シリアルナンãƒãƒ¼ãªã©ã®èªè¨¼å±€ã®ç®¡ç†ä¸Šã®æƒ…å ±ã‚„ ãã®ä»–ã®è¿½åŠ ã®æƒ…å ±ãŒå«ã¾ã‚Œã¦ã„ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。
証明対象 | è˜åˆ¥åã€å…¬é–‹éµ |
---|---|
発行者 | è˜åˆ¥åã€å…¬é–‹éµ |
有効期間 | 開始日ã€å¤±åŠ¹æ—¥ |
管ç†æƒ…å ± | ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã€ã‚·ãƒªã‚¢ãƒ«ãƒŠãƒ³ãƒãƒ¼ |
æ‹¡å¼µæƒ…å ± | 基本的ãªåˆ¶ç´„ã€ãƒãƒƒãƒˆã‚¹ã‚±ãƒ¼ãƒ—フラッグã€ãã®ä»– |
è˜åˆ¥å(ディスティングイッシュ・ãƒãƒ¼ãƒ )ã¯ç‰¹å®šã®çŠ¶æ³ã«ãŠã‘ã‚‹ 身分証明をæä¾›ã™ã‚‹ã®ã«ä½¿ã‚ã‚Œã¦ã„ã¾ã™ã€‚例ãˆã°ã€ã‚る人㯠ç§ç”¨ã¨ä¼šç¤¾ã¨ã§åˆ¥ã€…ã®èº«åˆ†è¨¼æ˜Žã‚’æŒã¤ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。 è˜åˆ¥å㯠X.509 標準è¦æ ¼ [X509] ã§å®šç¾©ã•ã‚Œã¦ã„ã¾ã™ã€‚ X.509 標準è¦æ ¼ã¯ã€é …ç›®ã€é …ç›®åã€ãã—ã¦é …ç›®ã®ç•¥ç§°ã‚’定義ã—ã¦ã„ã¾ã™ã€‚(表 2 å‚ç…§)
è˜åˆ¥åé …ç›® | 略称 | 説明 | 例 |
---|---|---|---|
Common Name (コモンãƒãƒ¼ãƒ ) | CN | èªè¨¼ã•ã‚Œã‚‹åå‰ SSL接続ã™ã‚‹URL |
CN=www.example.com |
Organization or Company (組織å) | O | 団体ã®æ£å¼è‹±èªžçµ„ç¹”å | O=Example Japan K.K. |
Organizational Unit (部門å) | OU | 部署åãªã© | OU=Customer Service |
City/Locality (市区町æ‘) | L | 所在ã—ã¦ã‚‹å¸‚åŒºç”ºæ‘ | L=Sapporo |
State/Province (都é“府県) | ST | 所在ã—ã¦ã‚‹éƒ½é“府県 | ST=Hokkaido |
Country(国) | C | 所在ã—ã¦ã„る国åã® ISO コード 日本ã®å ´åˆ JP |
C=JP |
èªè¨¼å±€ã¯ã©ã®é …ç›®ãŒçœç•¥å¯èƒ½ã§ã©ã‚ŒãŒå¿…é ˆã‹ã®æ–¹é‡ã‚’定義ã™ã‚‹
ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“ã€‚é …ç›®ã®å†…容ã«ã¤ã„ã¦ã‚‚èªè¨¼å±€ã‚„証明書ã®ãƒ¦ãƒ¼ã‚¶ã‹ã‚‰ã®
è¦ä»¶ãŒã‚ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。
例ãˆã°ã€ãƒãƒƒãƒˆã‚¹ã‚±ãƒ¼ãƒ—ã®ãƒ–ラウザã¯ã‚µãƒ¼ãƒã®è¨¼æ˜Žæ›¸ã®
Common Name (コモンãƒãƒ¼ãƒ )ãŒã‚µãƒ¼ãƒã®ãƒ‰ãƒ¡ã‚¤ãƒ³åã®
*.example.com
ã¨ã„ã†ã‚ˆã†ãªãƒ¯ã‚¤ãƒ«ãƒ‰ã‚«ãƒ¼ãƒ‰ã®ãƒ‘ターンã«ãƒžãƒƒãƒã™ã‚‹ã“ã¨
ã‚’è¦æ±‚ã—ã¾ã™ã€‚
ãƒã‚¤ãƒŠãƒªå½¢å¼ã®è¨¼æ˜Žæ›¸ã¯ ASN.1 表記法 [X208] [PKCS] 㧠定義ã•ã‚Œã¦ã„ã¾ã™ã€‚ ã“ã®è¡¨è¨˜æ³•ã¯å†…容をã©ã®ã‚ˆã†ã«è¨˜è¿°ã™ã‚‹ã‹ã‚’定義ã—〠符å·åŒ–ã®è¦å®šãŒã“ã®æƒ…å ±ãŒã©ã®ã‚ˆã†ã«ãƒã‚¤ãƒŠãƒªå½¢å¼ã«å¤‰æ›ã•ã‚Œã‚‹ã‹ã‚’ 定義ã—ã¾ã™ã€‚ 証明書ã®ãƒã‚¤ãƒŠãƒªç¬¦å·åŒ–㯠Distinguished Encoding Rules (DER) ã§å®šç¾©ã•ã‚Œã€ãã‚Œã¯ã‚ˆã‚Šä¸€èˆ¬çš„㪠Basic Encoding Rules (BER) ã«åŸºã¥ã„ã¦ã„ã¾ã™ã€‚ ãƒã‚¤ãƒŠãƒªå½¢å¼ã‚’扱ã†ã“ã¨ã®ã§ããªã„é€ä¿¡ã§ã¯ã€ ãƒã‚¤ãƒŠãƒªå½¢å¼ã¯ Base64 符å·åŒ– [MIME] 㧠ASCII å½¢å¼ã«å¤‰æ›ã•ã‚Œã‚‹ã“ã¨ãŒã‚ã‚Šã¾ã™ã€‚ ã“ã®ã‚ˆã†ã«ç¬¦å·åŒ–ã•ã‚Œã€ä»¥ä¸‹ã®ä¾‹ã«ç¤ºã•ã‚Œã‚‹ã‚ˆã†ã«åŒºåˆ‡ã‚Šè¡Œã« 挟ã¾ã‚ŒãŸã‚‚ã®ã¯ PEM 符å·åŒ–ã•ã‚ŒãŸã¨è¨€ã„ã¾ã™ã€‚ (PEM ã®åå‰ã¯ "Privacy Enhanced Mail" ã«ç”±æ¥ã—ã¾ã™)
-----BEGIN CERTIFICATE----- MIIC7jCCAlegAwIBAgIBATANBgkqhkiG9w0BAQQFADCBqTELMAkGA1UEBhMCWFkx FTATBgNVBAgTDFNuYWtlIERlc2VydDETMBEGA1UEBxMKU25ha2UgVG93bjEXMBUG A1UEChMOU25ha2UgT2lsLCBMdGQxHjAcBgNVBAsTFUNlcnRpZmljYXRlIEF1dGhv cml0eTEVMBMGA1UEAxMMU25ha2UgT2lsIENBMR4wHAYJKoZIhvcNAQkBFg9jYUBz bmFrZW9pbC5kb20wHhcNOTgxMDIxMDg1ODM2WhcNOTkxMDIxMDg1ODM2WjCBpzEL MAkGA1UEBhMCWFkxFTATBgNVBAgTDFNuYWtlIERlc2VydDETMBEGA1UEBxMKU25h a2UgVG93bjEXMBUGA1UEChMOU25ha2UgT2lsLCBMdGQxFzAVBgNVBAsTDldlYnNl cnZlciBUZWFtMRkwFwYDVQQDExB3d3cuc25ha2VvaWwuZG9tMR8wHQYJKoZIhvcN AQkBFhB3d3dAc25ha2VvaWwuZG9tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB gQDH9Ge/s2zcH+da+rPTx/DPRp3xGjHZ4GG6pCmvADIEtBtKBFAcZ64n+Dy7Np8b vKR+yy5DGQiijsH1D/j8HlGE+q4TZ8OFk7BNBFazHxFbYI4OKMiCxdKzdif1yfaa lWoANFlAzlSdbxeGVHoT0K+gT5w3UxwZKv2DLbCTzLZyPwIDAQABoyYwJDAPBgNV HRMECDAGAQH/AgEAMBEGCWCGSAGG+EIBAQQEAwIAQDANBgkqhkiG9w0BAQQFAAOB gQAZUIHAL4D09oE6Lv2k56Gp38OBDuILvwLg1v1KL8mQR+KFjghCrtpqaztZqcDt 2q2QoyulCgSzHbEGmi0EsdkPfg6mp0penssIFePYNI+/8u9HT4LuKMJX15hxBam7 dUHzICxBVC1lnHyYGjDuAMhe396lYAn8bCld1/L4NMGBCQ== -----END CERTIFICATE-----
ã¾ãšè¨¼æ˜Žæ›¸ã®ç”³è«‹ã®æƒ…å ±ã‚’ç¢ºèªã™ã‚‹ã“ã¨ã§ã€ èªè¨¼å±€ã¯ç§˜å¯†éµã®æŒã¡ä¸»ã®èº«å…ƒã‚’ä¿è¨¼ã—ã¾ã™ã€‚ 例ãˆã°ã€ã‚¢ãƒªã‚¹ãŒå€‹äººè¨¼æ˜Žæ›¸ã‚’申請ã—ãŸã¨ã™ã‚‹ã¨ã€ èªè¨¼å±€ã¯ã‚¢ãƒªã‚¹ãŒè¨¼æ˜Žæ›¸ã®ç”³è«‹ãŒä¸»å¼µã™ã‚‹é€šã‚Šã® 人物ã ã¨ã„ã†ã“ã¨ã‚’確èªã—ãªãã¦ã¯ã„ã‘ã¾ã›ã‚“。
èªè¨¼å±€ã¯ä»–ã®èªè¨¼å±€ã¸ã®è¨¼æ˜Žæ›¸ã‚’発行ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ 未知ã®è¨¼æ˜Žæ›¸ã‚’調ã¹ã‚‹æ™‚ã«ã€ã‚¢ãƒªã‚¹ã¯ãã®è¨¼æ˜Žæ›¸ã®ç™ºè¡Œè€… ã«è‡ªä¿¡ãŒæŒã¦ã‚‹ã¾ã§ã€ç™ºè¡Œè€…ã®è¨¼æ˜Žæ›¸ã‚’ ãã®ä¸Šä½éšŽå±¤ã®èªè¨¼å±€ã‚’ãŸã©ã£ã¦èª¿ã¹ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ 「悪質ãªã€è¨¼æ˜Žæ›¸ã®å±é™ºæ€§ã‚’減らã™ãŸã‚〠彼女ã¯é™ã‚‰ã‚ŒãŸé€£éŽ–ã®ç™ºè¡Œè€…ã®ã¿ä¿¡é ¼ã™ã‚‹ã‚ˆã†ã« 決ã‚ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚
å‰ã«è¿°ã¹ãŸã‚ˆã†ã«ã€å…¨ã¦ã®è¨¼æ˜Žæ›¸ã«ã¤ã„ã¦ã€ 最上ä½ã®èªè¨¼å±€(CA)ã¾ã§ãã‚Œãžã‚Œã®ç™ºè¡Œè€…㌠対象ã®èº«å…ƒè¨¼æ˜Žã®æœ‰åŠ¹æ€§ã‚’明らã‹ã«ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ å•é¡Œã¯ã€èª°ãŒãã®æœ€ä¸Šä½ã®èªè¨¼æ©Ÿé–¢ã®è¨¼æ˜Žæ›¸ã‚’ä¿è¨¼ã™ã‚‹ã®ã‹ã€ ã¨ã„ã†ã“ã¨ã§ã™ã€‚ ã“ã®ã‚ˆã†ãªå ´åˆã«é™ã‚Šã€è¨¼æ˜Žæ›¸ã¯ã€Œè‡ªå·±ç½²åã€ã•ã‚Œã¾ã™ã€‚ ã¤ã¾ã‚Šã€è¨¼æ˜Žæ›¸ã®ç™ºè¡Œè€…ã¨è¨¼æ˜Žå¯¾è±¡ãŒåŒã˜ã¨ã„ã†ã“ã¨ã«ãªã‚Šã¾ã™ã€‚ ãã®çµæžœã€è‡ªå·±ç½²åã•ã‚ŒãŸè¨¼æ˜Žæ›¸ã‚’信用ã™ã‚‹ã«ã¯ 細心ã®æ³¨æ„ãŒå¿…è¦ã§ã™ã€‚ 最上ä½èªè¨¼å±€ãŒå…¬é–‹éµã‚’広ã公表ã™ã‚‹ã“ã¨ã§ã€ ãã®éµã‚’ä¿¡é ¼ã™ã‚‹ãƒªã‚¹ã‚¯ã‚’低ãã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ ã‚‚ã—ã€ä»–人ãŒãã®èªè¨¼å±€ã«ãªã‚Šã™ã¾ã—ãŸæ™‚ã«ã€ãã‚ŒãŒéœ²è¦‹ã—ã‚„ ã™ã„ã‹ã‚‰ã§ã™ã€‚ 多ãã®ãƒ–ラウザã¯æœ‰åãªèªè¨¼å±€ã‚’ä¿¡é ¼ã™ã‚‹ã‚ˆã†ã« è¨å®šã•ã‚Œã¦ã„ã¾ã™ã€‚
Thawte ã‚„ VeriSign ã®ã‚ˆã†ãªå¤šãã®ä¼šç¤¾ãŒèªè¨¼å±€ã¨ã—ã¦é–‹è¨ã—ã¾ã—ãŸã€‚ ã“ã®ã‚ˆã†ãªä¼šç¤¾ã¯ä»¥ä¸‹ã®ã‚µãƒ¼ãƒ“スをæä¾›ã—ã¾ã™:
自分ã§èªè¨¼å±€ã‚’作るã“ã¨ã‚‚å¯èƒ½ã§ã™ã€‚ インターãƒãƒƒãƒˆç’°å¢ƒã§ã¯å±é™ºã§ã™ãŒã€ 個人やサーãƒã®èº«å…ƒè¨¼æ˜ŽãŒç°¡å˜ã«è¡Œãˆã‚‹çµ„織㮠イントラãƒãƒƒãƒˆå†…ã§ã¯å½¹ã«ç«‹ã¤ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。
èªè¨¼å±€ã®é–‹è¨ã¯å¾¹åº•ã—ãŸç®¡ç†ã€æŠ€è¡“ã€é‹ç”¨ã®ä½“制を必è¦ã¨ã™ã‚‹ 責任ã®ã‚る仕事ã§ã™ã€‚ èªè¨¼å±€ã¯è¨¼æ˜Žæ›¸ã‚’発行ã™ã‚‹ã ã‘ã§ãªã〠管ç†ã‚‚ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。 具体的ã«ã¯ã€è¨¼æ˜Žæ›¸ãŒã„ã¤ã¾ã§æœ‰åŠ¹ã‹ã‚’決定ã—ã€æ›´æ–°ã—〠ã¾ãŸæ—¢ã«ç™ºè¡Œã•ã‚ŒãŸãŒå¤±åŠ¹ã—ãŸè¨¼æ˜Žæ›¸ã®ãƒªã‚¹ãƒˆ (Certificate Revocation Lists ã¾ãŸã¯ CRL) を管ç†ã—ãªã‘ã‚Œã°ã„ã‘ã¾ã›ã‚“。 例ãˆã°ã€ã‚¢ãƒªã‚¹ãŒä¼šç¤¾ã‹ã‚‰ç¤¾å“¡ã¨ã—ã¦è¨¼æ˜Žæ›¸ã‚’与ãˆã‚‰ã‚ŒãŸã¨ã—ã¾ã™ã€‚ ãã—ã¦ã€ã‚¢ãƒªã‚¹ãŒä¼šç¤¾ã‚’辞ã‚ã‚‹ã¨ãã«ã¯è¨¼æ˜Žæ›¸ã‚’å–り消ã•ãªã‘れ㰠ã„ã‘ãªã„ã¨ã—ã¾ã™ã€‚ 証明書ã¯æ¬¡ã€…ã¨äººã«æ¸¡ã•ã‚Œã¦ã„ãã‚‚ã®ãªã®ã§ã€ 証明書ãã®ã‚‚ã®ã‹ã‚‰ã€ãã‚ŒãŒå–り消ã•ã‚ŒãŸã‹åˆ¤æ–ã™ã‚‹ã“ã¨ã¯ ä¸å¯èƒ½ã§ã™ã€‚ よã£ã¦ã€è¨¼æ˜Žæ›¸ã®æœ‰åŠ¹æ€§ã‚’調ã¹ã‚‹ã¨ãã«ã¯ã€ èªè¨¼å±€ã«é€£çµ¡ã—㦠CRL ã‚’ç…§åˆã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ 普通ã“ã®éŽç¨‹ã¯è‡ªå‹•åŒ–ã•ã‚Œã¦ã„ã‚‹ã‚‚ã®ã§ã¯ã‚ã‚Šã¾ã›ã‚“。
デフォルトã§ãƒ–ラウザã«è¨å®šã•ã‚Œã¦ã„ãªã„èªè¨¼å±€ã‚’使ã£ãŸå ´åˆã€ èªè¨¼å±€ã®è¨¼æ˜Žæ›¸ã‚’ブラウザã«èªã¿è¾¼ã‚“ã§ã€ ブラウザãŒãã®èªè¨¼å±€ã«ã‚ˆã£ã¦ç½²åã•ã‚ŒãŸã‚µãƒ¼ãƒã®è¨¼æ˜Žæ›¸ã‚’ 有効化ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ 一度èªã¿è¾¼ã¾ã‚Œã‚‹ã¨ã€ãã®èªè¨¼å±€ã«ã‚ˆã£ã¦ç½²åã•ã‚ŒãŸå…¨ã¦ã® 証明書をå—ã‘入れるãŸã‚ã€å±é™ºã‚’ä¼´ã„ã¾ã™ã€‚
Secure Sockets Layer プãƒãƒˆã‚³ãƒ«ã¯ä¿¡é ¼æ€§ã®ã‚るコãƒã‚¯ã‚·ãƒ§ãƒ³åž‹ã® ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯å±¤ã®ãƒ—ãƒãƒˆã‚³ãƒ«(例ãˆã°ã€TCP/IP)㨠アプリケーション層ã®ãƒ—ãƒãƒˆã‚³ãƒ«(例ãˆã°ã€HTTP) ã®é–“ã«ç½®ãã“ã¨ãŒã§ãã¾ã™ã€‚ SSL ã¯ã€ç›¸äº’èªè¨¼ã«ã‚ˆã£ã¦ã‚µãƒ¼ãƒã¨ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆé–“ã®å®‰å…¨ãªé€šä¿¡ã‚’〠電åç½²åã«ã‚ˆã£ã¦ãƒ‡ãƒ¼ã‚¿ã®å®Œå…¨æ€§ã‚’〠ãã—ã¦æš—å·åŒ–ã«ã‚ˆã£ã¦ãƒ—ライãƒã‚·ã‚’æä¾›ã—ã¾ã™ã€‚
SSL プãƒãƒˆã‚³ãƒ«ã¯æš—å·åŒ–ã€ãƒ€ã‚¤ã‚¸ã‚§ã‚¹ãƒˆã€é›»åç½²åã«ã¤ã„ã¦ã€ 様々ãªã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ をサãƒãƒ¼ãƒˆã™ã‚‹ã‚ˆã†ã«ã§ãã¦ã„ã¾ã™ã€‚ ã“ã†ã™ã‚‹ã“ã¨ã§ã€æ³•ã‚„輸出ã®è¦åˆ¶ã‚’考慮ã«å…¥ã‚Œã¦ã€ã‚µãƒ¼ãƒã«åˆã‚ã›ãŸ アルゴリズムをé¸ã¶ã“ã¨ãŒã§ãã€ã¾ãŸã€æ–°ã—ã„アルゴリズムを 利用ã—ã¦ã„ãã“ã¨ã‚‚å¯èƒ½ã«ã—ã¦ã„ã¾ã™ã€‚ アルゴリズムã®é¸æŠžã¯ãƒ—ãƒãƒˆã‚³ãƒ«ã‚»ãƒƒã‚·ãƒ§ãƒ³é–‹å§‹æ™‚㫠サーãƒã¨ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆé–“ã§å–り決ã‚られã¾ã™ã€‚
ãƒãƒ¼ã‚¸ãƒ§ãƒ³ | 出典 | 説明 | ブラウザã®ã‚µãƒãƒ¼ãƒˆ |
---|---|---|---|
SSL v2.0 | Vendor Standard (Netscape Corp. より) [SSL2] | 実装ãŒç¾å˜ã™ã‚‹åˆã‚ã¦ã® SSL プãƒãƒˆã‚³ãƒ« | - NS Navigator 1.x/2.x - MS IE 3.x - Lynx/2.8+OpenSSL |
SSL v3.0 | Expired Internet Draft (Netscape Corp. より) [SSL3] | 特定ã®ã‚»ã‚ュリティ攻撃を防ããŸã‚ã®æ”¹è¨‚〠éžRSA æš—å·ã®è¿½åŠ ã€è¨¼æ˜Žæ›¸éšŽå±¤æ§‹é€ ã®ã‚µãƒãƒ¼ãƒˆ | - NS Navigator 2.x/3.x/4.x - MS IE 3.x/4.x - Lynx/2.8+OpenSSL |
TLS v1.0 | Proposed Internet Standard (IETF より) [TLS1] | MAC レイヤを HMAC ã¸æ›´æ–°ã€ãƒ–ãƒãƒƒã‚¯æš—å·ã® block paddingã€ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸é †åºã®æ¨™æº–化ã€è¦å‘Šæ–‡ã®å……実ãªã©ã®ãŸã‚ SSL 3.0 を改訂。 | - Lynx/2.8+OpenSSL |
表4ã«ç¤ºã•ã‚Œã‚‹ã¨ãŠã‚Šã€SSL プãƒãƒˆã‚³ãƒ«ã«ã¯ ã„ãã¤ã‚‚ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ãŒã‚ã‚Šã¾ã™ã€‚ 表ã«ã‚‚書ã‹ã‚Œã¦ã„るよã†ã«ã€SSL 3.0 ã®åˆ©ç‚¹ã®ä¸€ã¤ã¯ è¨¼æ˜Žæ›¸éšŽå±¤æ§‹é€ ã‚’ã‚µãƒãƒ¼ãƒˆã™ã‚‹ã“ã¨ã§ã™ã€‚ ã“ã®æ©Ÿèƒ½ã«ã‚ˆã£ã¦ã€ã‚µãƒ¼ãƒã¯è‡ªåˆ†ã®è¨¼æ˜Žæ›¸ã«åŠ ãˆã¦ã€ 発行者ã®è¨¼æ˜Žæ›¸ã‚’ブラウザã«æ¸¡ã™ã“ã¨ãŒã§ãã¾ã™ã€‚ è¨¼æ˜Žæ›¸éšŽå±¤æ§‹é€ ã«ã‚ˆã£ã¦ã€ ブラウザã«ç™ºè¡Œè€…ã®è¨¼æ˜Žæ›¸ãŒç›´æŽ¥ç™»éŒ²ã•ã‚Œã¦ã„ãªãã¦ã‚‚〠階層ã®ä¸ã«å«ã¾ã‚Œã¦ã„ã‚Œã°ã€ ブラウザã¯ã‚µãƒ¼ãƒã®è¨¼æ˜Žæ›¸ã‚’有効化ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ SSL 3.0 ã¯ç¾åœ¨ Internet Engineering Task Force (IETF) ã«ã‚ˆã£ã¦é–‹ç™ºã•ã‚Œã¦ã„ã‚‹ Transport Layer Security [TLS] プãƒãƒˆã‚³ãƒ«æ¨™æº–è¦æ ¼ã®åŸºç¤Žã¨ãªã£ã¦ã„ã¾ã™ã€‚
図1ã§ç¤ºã•ã‚Œã‚‹ã‚ˆã†ã«ã€ セッションã®ç¢ºç«‹ã¯ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã¨ã‚µãƒ¼ãƒé–“ã® ãƒãƒ³ãƒ‰ã‚·ã‚§ãƒ¼ã‚¯ã‚·ãƒ¼ã‚¯ã‚¨ãƒ³ã‚¹ã«ã‚ˆã£ã¦è¡Œãªã‚ã‚Œã¾ã™ã€‚ サーãƒãŒè¨¼æ˜Žæ›¸ã‚’æä¾›ã™ã‚‹ã‹ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã®è¨¼æ˜Žæ›¸ã‚’リクエストã™ã‚‹ã‹ ã¨ã„ã†ã‚µãƒ¼ãƒã®è¨å®šã«ã‚ˆã‚Šã€ã“ã®ã‚·ãƒ¼ã‚¯ã‚¨ãƒ³ã‚¹ã¯ç•°ãªã‚‹ã‚‚ã®ã¨ãªã‚Šã¾ã™ã€‚ æš—å·æƒ…å ±ã®ç®¡ç†ã®ãŸã‚ã«ã€è¿½åŠ ã®ãƒãƒ³ãƒ‰ã‚·ã‚§ãƒ¼ã‚¯éŽç¨‹ãŒå¿…è¦ã«ãªã‚‹ å ´åˆã‚‚ã‚ã‚Šã¾ã™ãŒã€ã“ã®è¨˜äº‹ã§ã¯ よãã‚るシナリオを手çŸã«èª¬æ˜Žã—ã¾ã™ã€‚ å…¨ã¦ã®å¯èƒ½æ€§ã«ã¤ã„ã¯ã€SSL 仕様書をå‚ç…§ã—ã¦ãã ã•ã„。
一度 SSL セッションãŒç¢ºç«‹ã™ã‚‹ã¨ã€ã‚»ãƒƒã‚·ãƒ§ãƒ³ã‚’å†åˆ©ç”¨ã™ã‚‹ã“ã¨ã§ã€ セッションを開始ã™ã‚‹ãŸã‚ã®å¤šãã®éŽç¨‹ã‚’ç¹°ã‚Šè¿”ã™ã¨ã„ㆠパフォーマンスã®æ失を防ãŽã¾ã™ã€‚ ãã®ãŸã‚ã€ã‚µãƒ¼ãƒã¯å…¨ã¦ã®ã‚»ãƒƒã‚·ãƒ§ãƒ³ã«ä¸€æ„ãªã‚»ãƒƒã‚·ãƒ§ãƒ³è˜åˆ¥åã‚’ 割り当ã¦ã€ã‚µãƒ¼ãƒã«ã‚ャッシュã—ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã¯æ¬¡å›žã‹ã‚‰ (è˜åˆ¥åãŒã‚µãƒ¼ãƒã®ã‚ャッシュã§æœŸé™åˆ‡ã‚Œã«ãªã‚‹ã¾ã§ã¯) ãƒãƒ³ãƒ‰ã‚·ã‚§ãƒ¼ã‚¯ãªã—ã§æŽ¥ç¶šã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
図1: SSL
ãƒãƒ³ãƒ‰ã‚·ã‚§ãƒ¼ã‚¯ã‚·ãƒ¼ã‚¯ã‚¨ãƒ³ã‚¹æ¦‚ç•¥
サーãƒã¨ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã§ä½¿ã‚れる ãƒãƒ³ãƒ‰ã‚·ã‚§ãƒ¼ã‚¯ã‚·ãƒ¼ã‚¯ã‚¨ãƒ³ã‚¹ã®è¦ç´ を以下ã«ç¤ºã—ã¾ã™:
第一ステップã®æš—å·ã‚¹ã‚¤ãƒ¼ãƒˆå–り決ã‚ã«ã‚ˆã£ã¦ã€ サーãƒã¨ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã¯ãã‚Œãžã‚Œã«ã‚ã£ãŸ æš—å·ã‚¹ã‚¤ãƒ¼ãƒˆã‚’é¸ã¶ã“ã¨ãŒã§ãã¾ã™ã€‚ SSL3.0 プãƒãƒˆã‚³ãƒ«ã®ä»•æ§˜æ›¸ã¯ 31 ã®æš—å·ã‚¹ã‚¤ãƒ¼ãƒˆã‚’定義ã—ã¦ã„ã¾ã™ã€‚ æš—å·ã‚¹ã‚¤ãƒ¼ãƒˆã¯ä»¥ä¸‹ã®ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆã«ã‚ˆã‚Šå®šç¾©ã•ã‚Œã¦ã„ã¾ã™:
ã“れらã®ä¸‰ã¤ã®è¦ç´ ã¯ä»¥ä¸‹ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã§èª¬æ˜Žã•ã‚Œã¦ã„ã¾ã™ã€‚
éµã®äº¤æ›æ‰‹æ®µã¯ã‚¢ãƒ—リケーションã®ãƒ‡ãƒ¼ã‚¿é€šä¿¡ã«ä½¿ã‚れ〠共有ã•ã‚Œã‚‹å¯¾ç§°æš—å·éµã‚’ã©ã®ã‚ˆã†ã«ãŒã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã¨ã‚µãƒ¼ãƒã§ å–り決ã‚ã‚‹ã‹ã‚’定義ã—ã¾ã™ã€‚ SSL 2.0 㯠RSA éµäº¤æ›ã—ã‹ä½¿ã„ã¾ã›ã‚“ãŒã€ SSL 3.0 ã¯è¨¼æ˜Žæ›¸ãŒä½¿ã‚れるã¨ã㯠RSA éµäº¤æ›ã‚’使ã„〠証明書ãŒç„¡ãã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã¨ã‚µãƒ¼ãƒã®äº‹å‰ã®é€šä¿¡ãŒç„¡ã„å ´åˆã¯ Diffie-Hellman éµäº¤æ›ã‚’使ㆠãªã©æ§˜ã€…ãªéµäº¤æ›ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ をサãƒãƒ¼ãƒˆã—ã¾ã™ã€‚
éµã®äº¤æ›æ–¹æ³•ã«ãŠã‘る一ã¤ã®é¸æŠžè‚¢ã¯é›»åç½²åã§ã™ã€‚ é›»åç½²åを使ã†ã‹ã©ã†ã‹ã€ã¾ãŸã€ ã©ã®ç¨®é¡žã®ç½²åを使ã†ã‹ã¨ã„ã†é¸æŠžãŒã‚ã‚Šã¾ã™ã€‚ 秘密éµã§ç½²åã™ã‚‹ã“ã¨ã§å…±æœ‰éµã‚’生æˆã™ã—ã€æƒ…å ±äº¤æ›ã™ã‚‹æ™‚㮠マン・イン・ザ・ミドル攻撃を防ãã“ã¨ãŒã§ãã¾ã™ã€‚ [AC96, p516]
SSL ã¯ã‚»ãƒƒã‚·ãƒ§ãƒ³ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã®æš—å·åŒ–ã«å‰è¿°ã—㟠従æ¥åž‹æš—å·(対称暗å·)を用ã„ã¾ã™ã€‚ æš—å·åŒ–ã—ãªã„ã¨ã„ã†é¸æŠžè‚¢ã‚‚å«ã‚ä¹ã¤ã®é¸æŠžè‚¢ãŒã‚ã‚Šã¾ã™:
ã“ã“ã§ã® CBC ã¨ã¯æš—å·ãƒ–ãƒãƒƒã‚¯é€£éŽ– (Cipher Block Chaining) ã®ç•¥ã§ã€ä¸€ã¤å‰ã®æš—å·åŒ–ã•ã‚ŒãŸæš—å·æ–‡ã®ä¸€éƒ¨ãŒ ブãƒãƒƒã‚¯ã®æš—å·åŒ–ã«ä½¿ã‚れるã“ã¨ã‚’æ„味ã—ã¾ã™ã€‚ DES ã¯ãƒ‡ãƒ¼ã‚¿æš—å·åŒ–標準è¦æ ¼ (Data Encryption Standard) [AC96, ch12] ã®ç•¥ã§ã€ DES40 ã‚„ 3DES_EDE ã‚’å«ã‚€ã„ãã¤ã‚‚ã®ç¨®é¡žãŒã‚ã‚Šã¾ã™ã€‚ Idea ã¯æœ€é«˜ãªã‚‚ã®ã®ä¸€ã¤ã§ã€æš—å·è¡“çš„ã«ã¯ç¾åœ¨ã‚ã‚‹ä¸ã§ 最も強力ãªã‚‚ã®ã§ã™ã€‚ RC2 㯠RSA DSI ã«ã‚ˆã‚‹ç‹¬å çš„ãªã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ã§ã™ã€‚ [AC96, ch13]
ダイジェスト関数ã®é¸æŠžã¯ãƒ¬ã‚³ãƒ¼ãƒ‰ãƒ¦ãƒ‹ãƒƒãƒˆã‹ã‚‰ã©ã®ã‚ˆã†ã«ãƒ€ã‚¤ã‚¸ã‚§ã‚¹ãƒˆãŒç”Ÿæˆã•ã‚Œã‚‹ã‹ã‚’決定ã—ã¾ã™ã€‚ SSL ã¯ä»¥ä¸‹ã‚’サãƒãƒ¼ãƒˆã—ã¾ã™:
メッセージダイジェスト㯠Message Authentication Code (MAC) ã®ç”Ÿæˆã«ä½¿ã‚ã‚Œã€ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã¨å…±ã«æš—å·åŒ–ã•ã‚Œã€ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã®ä¿¡ç”¨ã‚’ æä¾›ã—ã€ãƒªãƒ—レイ攻撃を防ãŽã¾ã™ã€‚
ãƒãƒ³ãƒ‰ã‚·ã‚§ãƒ¼ã‚¯ã‚·ãƒ¼ã‚¯ã‚¨ãƒ³ã‚¹ã¯ä¸‰ã¤ã®ãƒ—ãƒãƒˆã‚³ãƒ«ã‚’使ã„ã¾ã™:
三ã¤ã®ãƒ—ãƒãƒˆã‚³ãƒ«ã¯ã€ã‚¢ãƒ—リケーションプãƒãƒˆã‚³ãƒ«ãƒ‡ãƒ¼ã‚¿ã¨ã¨ã‚‚ã«ã€ 図2ã«ç¤ºã™ã¨ãŠã‚Š SSL レコードプãƒãƒˆã‚³ãƒ« ã§ã‚«ãƒ—セル化ã•ã‚Œã¾ã™ã€‚ カプセル化ã•ã‚ŒãŸãƒ—ãƒãƒˆã‚³ãƒ«ã¯ãƒ‡ãƒ¼ã‚¿ã‚’検査ã—ãªã„ 下層ã®ãƒ—ãƒãƒˆã‚³ãƒ«ã«ã‚ˆã£ã¦ãƒ‡ãƒ¼ã‚¿ã¨ã—ã¦ä¼é”ã•ã‚Œã¾ã™ã€‚ カプセル化ã•ã‚ŒãŸãƒ—ãƒãƒˆã‚³ãƒ«ã¯ä¸‹å±¤ã®ãƒ—ãƒãƒˆã‚³ãƒ«ã«é–¢ã—ã¦ä¸€åˆ‡é–¢çŸ¥ã—ã¾ã›ã‚“。
図2: SSL プãƒãƒˆã‚³ãƒ«ã‚¹ã‚¿ãƒƒã‚¯
レコードプãƒãƒˆã‚³ãƒ«ã«ã‚ˆã‚‹ SSL コントãƒãƒ¼ãƒ«ãƒ—ãƒãƒˆã‚³ãƒ«ã®ã‚«ãƒ—セル化ã¯ã€ アクティブãªã‚»ãƒƒã‚·ãƒ§ãƒ³ã®äºŒå›žç›®ã®é€šä¿¡ãŒã‚ã£ãŸå ´åˆã€ コントãƒãƒ¼ãƒ«ãƒ—ãƒãƒˆã‚³ãƒ«ãŒå®‰å…¨ã§ã‚ã‚‹ã“ã¨ã‚’æ„味ã—ã¾ã™ã€‚ æ—¢ã«ã‚»ãƒƒã‚·ãƒ§ãƒ³ãŒç„¡ã„å ´åˆã¯ã€Null æš—å·ã‚¹ã‚¤ãƒ¼ãƒˆãŒä½¿ã‚れ〠暗å·åŒ–ã¯è¡Œãªã‚ã‚Œãšã€ã‚»ãƒƒã‚·ãƒ§ãƒ³ãŒç¢ºç«‹ã™ã‚‹ã¾ã§ã¯ ダイジェストも無ã„状態ã¨ãªã‚Šã¾ã™ã€‚
図3ã«ç¤ºã•ã‚Œã‚‹ SSL レコードプãƒãƒˆã‚³ãƒ« ã¯ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã¨ã‚µãƒ¼ãƒé–“ã®ã‚¢ãƒ—リケーションや SSL コントãƒãƒ¼ãƒ«ãƒ‡ãƒ¼ã‚¿ã®é€šä¿¡ã«ä½¿ã‚ã‚Œã¾ã™ã€‚ ã“ã®ãƒ‡ãƒ¼ã‚¿ã¯ã‚ˆã‚Šå°ã•ã„ユニットã«åˆ†ã‘られãŸã‚Šã€ ã„ãã¤ã‹ã®é«˜ç´šãƒ—ãƒãƒˆã‚³ãƒ«ã‚’ã¾ã¨ã‚ã¦ä¸€ãƒ¦ãƒ‹ãƒƒãƒˆã¨ã—ã¦é€šä¿¡ãŒ è¡Œãªã‚れるã“ã¨ã‚‚ã‚ã‚Šã¾ã™ã€‚ データを圧縮ã—ã€ãƒ€ã‚¤ã‚¸ã‚§ã‚¹ãƒˆç½²åを添付ã—ã¦ã€ ã“れらã®ãƒ¦ãƒ‹ãƒƒãƒˆã‚’æš—å·åŒ–ã—ãŸã®ã¡ã€ãƒ™ãƒ¼ã‚¹ã¨ãªã£ã¦ã„ã‚‹ ä¿¡é ¼æ€§ã®ã‚るトランスãƒãƒ¼ãƒˆãƒ—ãƒãƒˆã‚³ãƒ«ã‚’用ã„ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。 (注æ„: ç¾åœ¨ãƒ¡ã‚¸ãƒ£ãƒ¼ãª SLL 実装ã§åœ§ç¸®ã‚’サãƒãƒ¼ãƒˆã—ã¦ã„ã‚‹ã‚‚ã®ã¯ã‚ã‚Šã¾ã›ã‚“)
図 3: SSL レコードプãƒãƒˆã‚³ãƒ«
よãã‚ã‚‹ SSL ã®ä½¿ã„æ–¹ã¯ãƒ–ラウザã¨ã‚¦ã‚§ãƒ–サーãƒé–“ã® HTTP 通信
ã®å®‰å…¨åŒ–ã§ã™ã€‚
ã“ã‚Œã¯ã€å¾“æ¥ã®å®‰å…¨ã§ã¯ãªã„ HTTP ã®ä½¿ç”¨ã‚’除外ã™ã‚‹ã‚‚ã®ã§ã¯ã‚ã‚Šã¾ã›ã‚“。
安全化ã•ã‚ŒãŸã‚‚ã®ã¯ä¸»ã« SSH 上ã®æ™®é€šã® HTTP ã§ã€HTTPS ã¨å‘¼ã°ã‚Œã¾ã™ã€‚
大ããªé•ã„ã¯ã€URL スã‚ーム㫠http
ã®ä»£ã‚ã‚Šã« https
を用ã„ã€ã‚µãƒ¼ãƒãŒåˆ¥ã®ãƒãƒ¼ãƒˆã‚’使ã†ã“ã¨ã§ã™ (デフォルトã§ã¯443)。
ã“ã‚ŒãŒä¸»ã« mod_ssl
㌠Apache ウェブサーãƒã«æä¾›ã™ã‚‹æ©Ÿèƒ½ã§ã™ã€‚
Applied Cryptography, 2nd Edition, Wiley, 1996. See http://www.counterpane.com/ for various other materials by Bruce Schneier.
Specification of Abstract Syntax Notation One (ASN.1), 1988. See for instance http://www.itu.int/rec/recommendation.asp?type=items&lang=e&parent=T-REC-X.208-198811-I.
The Directory - Authentication Framework. See for instance http://www.itu.int/rec/recommendation.asp?type=folders&lang=e&parent=T-REC-X.509.
Public Key Cryptography Standards (PKCS), RSA Laboratories Technical Notes, See http://www.rsasecurity.com/rsalabs/pkcs/.
Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies, RFC2045. See for instance http://ietf.org/rfc/rfc2045.txt.
The SSL Protocol, 1995. See http://www.netscape.com/eng/security/SSL_2.html.
The SSL Protocol Version 3.0, 1996. See http://www.netscape.com/eng/ssl3/draft302.txt.
The TLS Protocol Version 1.0, 1999. See http://ietf.org/rfc/rfc2246.txt.