‰PNG  IHDRÛ€;œˆ®IDATxÚíÜ»n€0€áŒÿK¡• Š)(ŠpAá‚Â… –±Ç7†LeG{ý§ Â§ã»¢|¬ïذaÆ 6lذaÆ 6lذaÆ 6lomûó$^þy¿úÝØ°ag“5bÆ 6lذaÆ 6lذa{‘팁 6lذaÆ ›`›µçãŽ}HÏFkm,›m¶Ðû¬ÓªñÑêÃŽÒÃŽ!Ý ‹xÛ|'ܢ˟;·E:—Ôõ9­&ᶒ¶}®{žv]™n&Ñ6ç íhíÕ_õ÷tšÚ Íµ-Ò«¯šºZ;úŽZ$Û.žPÔÄøkíÅŸ)º!§o¡¡ˆ>}l³eQfJÕT±—u іµò•›åچª×\âÝX=8ÝîRن4`VwòlŸ>ëÃ×ún•Gþ^›ìiŸs©Ì"msÙ$×uñÝi»ˆ?w¡bs[m©6³K4áãçO†‰¹.£4›Þ%ºÐ×/õÀßÏbëC%Šçt û‰MŸ×–– ú-lîG6±mrz2–ô¶s%»9À•s@˜¹ì-âk»9 =ìæî)ÎÝõÌåâk»B5ÕËÂ×\Ãñš+͂çZsÙ² åµòRnÚÂ~G§…ÉRН•CŸŠíšÉ ›wIcIïén7jJ°åèhۛNCS|ìâÓj0æªò8yœiHKֶۛÐkòɈ+;Sz°¶úšáL/µ­FÐ*\çÆÔ”Ë#"5¯Âmë2Üï[SÅ­«»Íú‹£=©g¯În‹aóP…eÚғûLÛÿ lذaÆ 6lØ^kãï̱aÆ 6lذaÆ 6lذa;ÿŠ ¶_ÚÎذaÆ 6lذaÆ 6lذaÆ ¶ášëœR¢ÇÆIEND®B` SSL/TLS 暗号化: はじめに - Apache HTTP サヌバ バヌゞョン 2.4
<-
Apache > HTTP サヌバ > ドキュメンテヌション > バヌゞョン 2.4 > SSL/TLS

SSL/TLS 暗号化: はじめに

翻蚳枈み蚀語:  en  |  fr  |  ja 

この日本語蚳はすでに叀くなっおいる 可胜性がありたす。 最近曎新された内容を芋るには英語版をご芧䞋さい。

暙準芏栌の良い所は、たくさんの芏栌から遞べるずいうこずだ。 そしお、もし本圓にどの芏栌も気に入らなければ、 䞀幎埅぀だけで探しおいた芏栌が珟れる。

-- 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 ドキュメント翻蚳プロゞェクト ぞお願いしたす。)

Support Apache!

参照

top

暗号化技術

SSL を理解するには、暗号アルゎリズム、 メッセヌゞダむゞェスト関数(別名: 䞀方向関数、ハッシュ関数)、 電子眲名などぞの理解が必芁です。 これらの技術は本が䞞ごず必芁な題目で (䟋えば [AC96] を参照)、 プラむバシヌ、信甚、認蚌などの技術の基瀎ずなっおいたす。

暗号アルゎリズム

䟋えば、アリスが送金のために銀行にメッセヌゞを送りたいずしたす。 口座番号や送金の金額が含たれるため、 アリスはそのメッセヌゞを秘密にしたいず思いたす。 解決方法の䞀぀は暗号アルゎリズムを䜿っお、メッセヌゞを 埩号されるたで読むこずができない暗号化された 圢態に倉えおしたうこずです。 その圢態になるず、 メッセヌゞは秘密の鍵によっおのみ埩号化するこずができたす。 鍵なしでは、メッセヌゞは圹に立ちたせん。 良い暗号アルゎリズムは、䟵入者が元のテキストを解読するこずを 非垞に難しくするため、努力が割に合わなくさせたす。

暗号アルゎリズムには 埓来型ず公開鍵の二぀の皮類がありたす。

埓来型暗号
察称暗号ずしおも知られ、 送信者ず受信者が鍵を共有するこずが必芁です。 鍵ずは、メッセヌゞを暗号化したり埩号するのに䜿われる秘密 の情報のこずです。 この鍵が秘密になっおいる限り、送信者ず受信者以倖は誰もメッセヌゞを読 むこずができたせん。 もしも、アリスず銀行が秘密の鍵を知っおいるなら、 圌らはお互いに秘密のメッセヌゞを送るこずができるでしょう。 ただし亀信の前に、事前に内密に鍵を共有するずいう䜜業自䜓は難題かもしれたせん。
公開鍵暗号
非察称暗号ずしおも知られ、 メッセヌゞを暗号化するこずのできる二぀の鍵 を䜿甚するアルゎリズムを定矩するこずで鍵のやり取りの問題を解決 したす。 もし、ある鍵が暗号化に䜿われたなら、 もう片方の鍵で埩号しなければいけたせん。 この方匏によっお、䞀぀の鍵を公衚しお(公開鍵)、 もう片方を秘密にしおおく(秘密鍵)だけで、 安党なメッセヌゞを受け取るこずができたす。

公開鍵を䜿っお誰もがメッセヌゞを暗号化できたすが、秘 密鍵の持ち䞻だけがそれを読むこずができたす。 この方法で、銀行の公開鍵を䜿っお暗号化するこずで、 アリスは秘密のメッセヌゞを送るこずができたす。 銀行のみが送られたメッセヌゞを埩号するこずができたす。

メッセヌゞダむゞェスト

アリスはメッセヌゞを秘密にするこずができたすが、 誰かが䟋えば自分に送金するようにメッセヌゞを倉曎したり、 別のものに眮き換えおしたうかもしれないずいう問題がありたす。 アリスのメッセヌゞだずいう信憑性を保蚌する方法の䞀぀は、 メッセヌゞの簡朔なダむゞェストを䜜っお、それも銀行に送るずいうものです。 メッセヌゞを受け取るず銀行偎でもダむゞェストを䜜成し、 アリスが送ったダむゞェストず比べたす。もし䞀臎したなら、 受け取ったメッセヌゞは無傷だずいうこずになりたす。

このような芁玄はメッセヌゞダむゞェスト、 䞀方行関数、たたはハッシュ関数ず呌ばれたす。 メッセヌゞダむゞェストは長い可倉長のメッセヌゞから 短い固定長の衚珟を䜜るのに䜿われたす。 ダむゞェストアルゎリズムはメッセヌゞから 䞀意なダむゞェストを生成するように䜜られおいたす。 メッセヌゞダむゞェストはダむゞェストから元のメッセヌゞを 刀定するのがずおも難しいようにできおいお、 同じ芁玄を䜜成する二぀のメッセヌゞを探すのは(理論䞊)䞍可胜です。 これによっお、芁玄を倉曎するこずなくメッセヌゞを眮き換えられる 可胜性を排陀しおいたす。

アリスぞのもう䞀぀の問題は、このダむゞェストを安党に送る方法を探すこずです。 ダむゞェストが安党に送られればダむゞェストの信憑性が保障されお、 ダむゞェストの信憑性をもっおオリゞナルメッセヌゞの信憑性を埗るこずができたす。 ダむゞェストを安党に送った堎合にのみ、そのメッセヌゞの 信憑性が埗られたす。

ダむゞェスト安党に送る方法の䞀぀は、電子眲名に含める方法です。

電子眲名

アリスが銀行にメッセヌゞを送ったずき、 䟵入者が圌女になりすたしお圌女の口座ぞの取匕を申請できないように、 銀行偎ではメッセヌゞが本圓に圌女からのものか確実に分かるようにしなければなりたせん。 アリスによっお䜜成されお、メッセヌゞに含たれた 電子眲名がここで圹に立ちたす。

電子眲名はメッセヌゞのダむゞェストやその他の情報(凊理番号など)を 送信者の秘密鍵で暗号化するこずで䜜られたす。 誰もが公開鍵を䜿っお眲名を埩号するこずができたすが、 送信者のみが秘密鍵を知っおいたす。 これは送信者のみが眲名しえたこずを意味したす。 ダむゞェストを電子眲名に含むこずは、 その眲名がそのメッセヌゞのみに有効であるこずを意味したす。 これは、誰もダむゞェストを倉えお眲名をするこずができないため、 メッセヌゞの信甚も保蚌したす。

䟵入者が眲名を傍受しお埌日に再利甚するのを防ぐため 電子眲名には䞀意な凊理番号が含たれたす。 これは、アリスがそんなメッセヌゞは送っおいないず蚀う詐欺 から銀行を守りたす。 圌女だけが眲名しえたからです。(吊認防止)

top

蚌明曞

アリスは秘密のメッセヌゞを銀行に送り、 眲名をしお、メッセヌゞの信甚を保蚌するこずができるおうになりたしたが、 通信しおいる盞手が本圓に銀行なのか確かめなくおはいけたせん。 ぀たり圌女が䜿おうずしおいる公開鍵が、銀行の秘密鍵ず察になっおいお、 䟵入者の秘密鍵ず察になっおいるわけではないこずを 確かめなくおはいけないこずを意味しおいたす。 同様に銀行は、メッセヌゞの眲名が本圓にアリスの持っおいる 秘密鍵で眲名された眲名かを確認する必芁がありたす。

もし䞡者に身元を蚌明し、公開鍵を確認し、たた信頌された機関が眲名 した蚌明曞があれば、䞡者ずも通信盞手に぀いお正しい盞手だず 確信するこずができたす。 そのような信頌された機関は認蚌局 (Certificate Authority たたは CA) ず呌ばれ、 蚌明曞 (certificate) が認蚌 (authentication) に䜿われたす。

蚌明曞の内容

蚌明曞は公開鍵ず個人、サヌバ、その他の䞻䜓の実圚の身元を 関連付けたす。 衚1に瀺されるように蚌明察象の情報は 身元蚌明の情報(識別名)ず公開鍵が含たれたす。 蚌明曞はたた、認蚌局の身元蚌明ず眲名、そしお蚌明曞の有効期間を 含みたす。 シリアルナンバヌなどの認蚌局の管理䞊の情報や その他の远加の情報が含たれおいるかもしれたせん。

衚1: 蚌明曞情報

蚌明察象 識別名、公開鍵
発行者 識別名、公開鍵
有効期間 開始日、倱効日
管理情報 バヌゞョン、シリアルナンバヌ
拡匵情報 基本的な制玄、ネットスケヌプフラッグ、その他

識別名(ディスティングむッシュ・ネヌム)は特定の状況における 身分蚌明を提䟛するのに䜿われおいたす。䟋えば、ある人は 私甚ず䌚瀟ずで別々の身分蚌明を持぀かもしれたせん。 識別名は X.509 暙準芏栌 [X509] で定矩されおいたす。 X.509 暙準芏栌は、項目、項目名、そしお項目の略称を定矩しおいたす。(衚 2 参照)

衚 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 (コモンネヌム)がサヌバのドメむン名の *.snakeoil.com ずいうようなワむルドカヌドのパタヌンにマッチするこず を芁求したす。

バむナリ圢匏の蚌明曞は ASN.1 衚蚘法 [X208] [PKCS] で 定矩されおいたす。 この衚蚘法は内容をどのように蚘述するかを定矩し、 笊号化の芏定がこの情報がどのようにバむナリ圢匏に倉換されるかを 定矩したす。 蚌明曞のバむナリ笊号化は Distinguished Encoding Rules (DER) で定矩され、それはより䞀般的な Basic Encoding Rules (BER) に基づいおいたす。 バむナリ圢匏を扱うこずのできない送信では、 バむナリ圢匏は Base64 笊号化 [MIME] で ASCII 圢匏に倉換されるこずがありたす。 開始デリミタ行ず終了デリミタ行で囲たれた、この圢匏のこずを PEM ("Privacy Enhanced Mail") 笊号化された蚌明曞ず蚀いたす。

PEM 笊号化された蚌明曞の䟋 (example.crt)

-----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 を照合する必芁がありたす。 普通この過皋は自動化されおいるものではありたせん。

泚意

ブラりザに信甚できる認蚌局ずしおデフォルトで登録されおいない 認蚌局を䜿おうずした堎合、 認蚌局の蚌明曞をブラりザに読み蟌んで、 ブラりザがその認蚌局によっお眲名されたサヌバの蚌明曞を 有効にする必芁がありたす。 䞀床読み蟌たれるず、その認蚌局によっお眲名された党おの 蚌明曞を受け入れるため、危険を䌎いたす。

top

Secure Sockets Layer (SSL)

Secure Sockets Layer プロトコルは信頌性のあるコネクション型の ネットワヌク局のプロトコル(䟋えば、TCP/IP)ず アプリケヌション局のプロトコル(䟋えば、HTTP) の間に眮くこずができたす。 SSL は、盞互認蚌によっおサヌバずクラむアント間の安党な通信を、 電子眲名によっおデヌタの完党性を、 そしお暗号化によっおプラむバシを提䟛したす。

SSL プロトコルは暗号化、ダむゞェスト、電子眲名に぀いお、 様々なアルゎリズムをサポヌトするようにできおいたす。 こうするこずで、法や茞出の芏制を考慮に入れお、サヌバに合わせた アルゎリズムを遞ぶこずができ、たた、新しいアルゎリズムを 利甚しおいくこずも可胜にしおいたす。 アルゎリズムの遞択はプロトコルセッション開始時に サヌバずクラむアント間で取り決められたす。

衚4: 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 ハンドシェヌクシヌク゚ンス抂略

サヌバずクラむアントで䜿われる ハンドシェヌクシヌク゚ンスの芁玠を以䞋に瀺したす:

  1. デヌタ通信に䜿われる暗号スむヌトの取り決め
  2. クラむアントずサヌバ間でのセッション鍵の確立ず共有
  3. オプションずしお、クラむアントに察するサヌバの認蚌
  4. オプションずしお、サヌバに察するクラむアントの認蚌

第䞀ステップの暗号スむヌト取り決めによっお、 サヌバずクラむアントはそれぞれにあった 暗号スむヌトを遞ぶこずができたす。 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 レコヌドプロトコル

HTTP 通信の安党化

よくある SSL の䜿い方はブラりザずりェブサヌバ間の HTTP 通信 の安党化です。 これは、埓来の安党ではない HTTP の䜿甚を陀倖するものではありたせん。 安党化されたもの (HTTPS ず呌ばれたす) は、SSL 䞊での普通の HTTP で、 URL スキヌムに http の代わりに https を甚い、サヌバで別のポヌトを䜿うこずです (デフォルトでは443)。 これが䞻に mod_ssl が Apache りェブサヌバに提䟛する機胜です。

top

参考文献

[AC96]
Bruce Schneier, Applied Cryptography, 2nd Edition, Wiley, 1996. See http://www.counterpane.com/ for various other materials by Bruce Schneier.
[X208]
ITU-T Recommendation X.208, 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.
[X509]
ITU-T Recommendation X.509, The Directory - Authentication Framework. See for instance http://www.itu.int/rec/recommendation.asp?type=folders&lang=e&parent=T-REC-X.509.
[PKCS]
Public Key Cryptography Standards (PKCS), RSA Laboratories Technical Notes, See http://www.rsasecurity.com/rsalabs/pkcs/.
[MIME]
N. Freed, N. Borenstein, Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies, RFC2045. See for instance http://ietf.org/rfc/rfc2045.txt.
[SSL2]
Kipp E.B. Hickman, The SSL Protocol, 1995. See http://www.netscape.com/eng/security/SSL_2.html.
[SSL3]
Alan O. Freier, Philip Karlton, Paul C. Kocher, The SSL Protocol Version 3.0, 1996. See http://www.netscape.com/eng/ssl3/draft302.txt.
[TLS1]
Tim Dierks, Christopher Allen, The TLS Protocol Version 1.0, 1999. See http://ietf.org/rfc/rfc2246.txt.

翻蚳枈み蚀語:  en  |  fr  |  ja 

top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.