SonicOS 7 ネットワーク ファイアウォール
SSL 制御の重要な概念
SSL 制御について理解するための重要な概念には、次のものがあります。
-
SSL - セキュア ソケット レイヤ (SSL) は、Netscape が 1995 年に導入したネットワーク セキュリティ メカニズムです。SSL は、2 つの通信アプリケーション (クライアントおよびサーバ) 間でのプライバシーの確保と、サーバ (および必要に応じてクライアント) の認証を目的としていました。SSL の最も有名なアプリケーションは HTTPS です。http:// の代わりに https:// で始まる URL によって指定される HTTPS は、インターネット上のウェブ トラフィックを暗号化する標準的な方式として認知されています。SSL HTTP 転送では一般的に TCP ポート 443 が使用されますが、通常の HTTP 転送では TCP ポート 80 が使用されます。SSL は HTTPS で最もよく知られていますが、SSL の使用用途は HTTP のセキュリティ保護に限られたものではありません。SSL は、SMTP、POP3、IMAP、および LDAP などのその他の TCP プロトコルのセキュリティ保護にも使用することができます。SSL セッションの確立は、以下に示すように行われます。
-
SSLv2 - SSL の初期バージョンですが、現在も一般的に使用されています。SSLv2 では、いくつかの脆弱性、制限、および理論上の欠陥 (SSLv3 についての説明で比較します) が指摘されていて、セキュリティに厳格な人々の冷笑、軽蔑の対象であり、軽視されるのが当然とみなされています。
-
SSLv3 - SSLv3 は SSLv2 との下位互換性を保ちつつ、以下の点を改善する目的で作成されました。
-
Diffie-Helman を含む、代替鍵交換方式。
-
鍵交換および一括暗号化の両方でのハードウェア トークンのサポート。
-
SHA、DSS、および Fortezza のサポート。
-
バンド外データ転送。
-
TLS - Transport Layer Security (SSLv3.1 とも呼ばれます) は SSLv3 に非常に似ていますが、以下に示した点において SSLv3 が改良されています。
SSL と TLS の相違点 SSL TLS 暫定的な HMAC アルゴリズムを使用する RFC 2104 に既定された HMAC を使用する MAC をバージョン情報に適用しない MAC をバージョン情報に適用する パディング値を指定しない パディングを指定された値に初期化する 不十分な警告 詳細な警告メッセージ
SonicOS 7 では、TLS 1.1 と 1.2 をサポートします。
-
-
MAC - MAC (メッセージ認証コード) は、(MD5 または SHA1 のような) アルゴリズムをデータに適用して算出されます。MAC はメッセージ ダイジェストつまり一方向性ハッシュ コードであり、算出は非常に簡単ですが、実際に不可逆的なコードです。言い換えると、MAC だけを使用して、ダイジェストの元になっているメッセージを割り出すことは理論上不可能です。同様に、同一のMAC が算出される 2 つの異なるメッセージを見つけることも困難です。ある所定のデータに関して、受信側で算出された MAC が送信側で算出された MAC と一致する場合、受信側では、転送中にデータが変更されなかったとみなすことができます。
-
Client Hello - TCP セッションの確立後、クライアントからサーバに送信される最初のメッセージ。このメッセージにより SSL セッションが開始されます。 メッセージは次の要素で構成されています。
-
バージョン - クライアントが通信での使用を希望する SSL のバージョン。通常は、クライアントでサポートされている SSL の最新バージョンです。
-
乱数 - 32 ビットのタイムスタンプに 28 バイトの乱数構造を組み合わせたもの。
-
セッション ID - セッション ID データが存在しない場合は空 (基本的に新しいセッションの要求の場合) です。 あるいは、前に発行されたセッション ID を表します。
-
暗号スイート - クライアントでサポートされる暗号化アルゴリズムのリストで、優先する順番に並んでいます。
-
圧縮方式 - クライアントでサポートされる圧縮方式のリストです (通常はヌル)。
-
-
Server Hello - Client Hello に対する SSL サーバの応答。SSL 制御機能によって検査が行われるのは SSL 交換のこの部分です。Server Hello には、セッションでネゴシエートされた SSL のバージョン、暗号、セッション ID、および証明書の情報が含まれています。X.509 サーバの実際の証明書自体は、SSL 交換の別の手順で使用されますが、通常は Server Hello と同じパケットで開始されます (終了も同じ場合があります)。
-
証明書 - X.509 の証明書は、電子的なセキュリティを確保するための、不変のデジタル スタンプです。証明書には、主に 4 つの特性があります。
-
共通名または識別名 (CN または DN) によって証明書のサブジェクトが識別されます。
-
通信相手との間のメッセージを暗号化および復号化するために使用する公開鍵が含まれます。
-
証明書を発行した信頼できる組織 (認証局) のデジタル署名が含まれます。
-
証明書が有効な日付の範囲が示されます。
-
-
サブジェクト - 共通名 (CN) で識別される証明書の保証。クライアントが https://www.mysonicwall.com のような SSL サイトをブラウズした場合、サーバからサーバの証明書が送信され、クライアントで評価されます。クライアントでは、証明書の日付が有効であること、信頼できる CA によって発行された証明書であること、サブジェクトの CN が要求したホスト名に一致すること (つまり両方とも "www.mysonicwall.com" であること) が確認されます。サブジェクトのCN が一致しないとブラウザの警告が表示されますが、これは偽装行為の確かな証拠とは限りません。例えば、クライアントが https://mysonicwall.com をブラウズし、www.mysonicwall.com と同じ IP アドレスに解決された場合、サブジェクトの CN が www.mysonicwall.com と記載されている証明書がサーバから示される場合があります。この場合、接続が完全に適切であるにもかかわらず、クライアントに警告が表示されます。
-
認証局 (CA) - 認証局 (CA) は、証明書のサブジェクトの識別情報を確認することを主な目的として、証明書に署名することができる信頼できる団体です。よく知られている認証局には、VeriSign、Thawte、Equifax、Digital Signature Trust などがあります。一般的に、SSL フレームワークにおいて CA が信頼できると判断されるためには、ほとんどのウェブ ブラウザ、オペレーティング システムおよびランタイム環境で使用されているように、その証明書が信頼できるストアに格納されている必要があります。SonicOS の信頼できるストアには、「デバイス > 設定 > 証明書」ページからアクセスできます。CA モデルは信頼の積み重ねに基づいています。 つまり、クライアントは (信頼できるストアに CA の証明書があることによって) CA を信頼し、CA は (証明書ごとにサブジェクトを発行することによって) サブジェクトを信頼するため、クライアントがサブジェクトを信頼する、ということになります。
-
信頼できない CA - 信頼できない CA とは、クライアントの信頼できるストアに含まれていない CA のことです。SSL 制御機能における信頼できない CA とは、証明書が「デバイス > 設定 > 証明書」にない CA のことです。
-
自己署名証明書 - 発行者の共通名とサブジェクトのコモンネームが同一の証明書で、証明書に自己署名されていることを意味します。
-
仮想ホスティング - 1 つのサーバで複数のウェブ サイトをホスティングするために、ウェブ サーバで使用されている方式。一般的な仮想ホスティング実装は名前ベース (ホスト ヘッダー) の仮想ホスティングで、1 つの IP アドレスで複数のウェブ サイトをホスティングできます。ホスト ヘッダー仮想ホスティングでは、サーバがクライアントから送信された "Host:" ヘッダーを評価して、要求されたサイトを判断します。例えば、www.website1.com と www.website2.com が両方とも 64.41.140.173 に解決されるとします。この場合に、クライアントが "GET /" とともに “Host: www.website1.com” を送信すると、サーバからそのサイトに該当するコンテンツが返されます。
一般的に、ホスト ヘッダー仮想ホスティングは HTTPS では使用されません。 これは、SSL 接続が確立されるまでホスト ヘッダーを読み取ることができない一方、サーバが証明書を送信するまでSSL 接続が確立できないからです。クライアントが要求しているサイトをサーバが判断できないため (SSL ハンドシェイクでは IP アドレスがわかるだけなので)、サーバは送信する適切な証明書を決定できません。いずれかの証明書を送信すれば SSL ハンドシェイクを開始できますが、証明書の名前 (サブジェクト) が一致しなければブラウザに警告が表示されます。
-
脆弱な暗号 - 相対的に脆弱な対称暗号。暗号が 64 ビット未満の場合、脆弱と分類されます。ほとんどの場合、エクスポート暗号は脆弱な暗号です。以下の表に、脆弱な暗号のリストを示します。
よく使われている脆弱な暗号 暗号 暗号化 プロトコル EXP1024-DHE-DSS-DES-CBC-SHA
EXP1024-DHE-CBC-SHA
DES(56)
DES(56)
SSLv3、TLS (エクスポート)
SSLv3、TLS (エクスポート)
EXP1024-RC2-CBC-MD5 RC2(56) SSLv3、TLS (エクスポート) EDH-RSA-DES-CBC-SHA DES(56) SSLv3、TLS EDH-DSS-DES-CBC-SHA DES(56) SSLv3、TLS DES-CBC-SHA DES(56) SSLv2、SSLv3、TLS EXP1024-DHE-DSS-RC4-SHA RC4(56) SSLv3、TLS (エクスポート) EXP1024-RC4-SHA RC4(56) SSLv3、TLS (エクスポート) EXP1024-RC4-MD5
EXP-EDH-RSA-DES-CBC-SHA
EXP-EDH-DSS-DES-CBC-SHA
EXP-DES-CBC-SHA
RC4(56)
DES(40)
DES(40)
DES(40)
SSLv3、TLS (エクスポート)
SSLv3、TLS (エクスポート)
SSLv3、TLS (エクスポート)
SSLv3、TLS (エクスポート)
EXP-RC2-CBC-MD5 RC2(40) SSLv2、SSLv3、TLS (エクスポート) EXP-RC4-MD5 RC4(40) SSLv2、SSLv3、TLS (エクスポート)
Was This Article Helpful?
Help us to improve our support portal