ネットワークセキュリティ-クイックガイド
この現代では、組織は効率的かつ生産的な方法で組織全体で情報を共有するためにコンピュータネットワークに大きく依存しています。組織のコンピュータネットワークは現在、大規模でユビキタスになっています。各スタッフが専用のワークステーションを持っていると仮定すると、大規模な企業では、ネットワーク上に数千台のワークステーションと多くのサーバーがあります。
これらのワークステーションは一元管理されていない可能性があり、境界保護もありません。さまざまなオペレーティングシステム、ハードウェア、ソフトウェア、およびプロトコルがあり、ユーザー間でサイバー認識のレベルが異なります。ここで、会社のネットワーク上のこれらの数千のワークステーションがインターネットに直接接続されていると想像してみてください。この種の安全でないネットワークは、貴重な情報を保持し、脆弱性を表示する攻撃の標的になります。
この章では、ネットワークの主な脆弱性とネットワークセキュリティの重要性について説明します。以降の章では、同じことを実現する方法について説明します。
物理ネットワーク
ネットワークは、リソースを効率的に共有するために相互に接続された2つ以上のコンピューティングデバイスとして定義されます。さらに、2つ以上のネットワークを一緒に接続することはとして知られていますinternetworking。したがって、インターネットは単なるインターネットワークであり、相互接続されたネットワークの集まりです。
内部ネットワークを設定するために、組織にはさまざまなオプションがあります。有線ネットワークまたは無線ネットワークを使用して、すべてのワークステーションを接続できます。今日、組織は主に有線ネットワークと無線ネットワークの両方を組み合わせて使用しています。
有線および無線ネットワーク
有線ネットワークでは、デバイスはケーブルを使用して相互に接続されます。通常、有線ネットワークはイーサネットプロトコルに基づいており、デバイスはシールドなしツイストペア(UTP)ケーブルを使用してさまざまなスイッチに接続されます。これらのスイッチは、インターネットにアクセスするためにネットワークルーターにさらに接続されています。
ワイヤレスネットワークでは、デバイスは無線送信を介してアクセスポイントに接続されます。アクセスポイントはさらに、ケーブルを介して外部ネットワークアクセス用のスイッチ/ルーターに接続されます。
ワイヤレスネットワークは、それらが提供するモビリティのために人気を博しています。モバイルデバイスはケーブルに接続する必要がなく、ワイヤレスネットワークの範囲内で自由にローミングできます。これにより、効率的な情報共有が保証され、生産性が向上します。
脆弱性と攻撃
有線ネットワークと無線ネットワークの両方に存在する一般的な脆弱性は、ネットワークへの「不正アクセス」です。攻撃者は、安全でないハブ/スイッチポートを介してデバイスをネットワークに接続できます。この点で、ワイヤレスネットワークは物理的な接続なしで簡単にアクセスできるため、ワイヤレスネットワークは有線ネットワークよりも安全性が低いと見なされます。
アクセス後、攻撃者はこの脆弱性を悪用して、次のような攻撃を仕掛けることができます。
パケットデータを盗聴して貴重な情報を盗みます。
ネットワークメディアを偽のパケットで溢れさせることによる、ネットワーク上の正当なユーザーへのサービス拒否。
正当なホストの物理的ID(MAC)をスプーフィングしてから、データを盗むか、さらに「man-in-the-middle」攻撃を開始します。
ネットワークプロトコル
ネットワークプロトコルは、ネットワークに接続されたデバイス間の通信を管理する一連のルールです。これらには、接続を確立するためのメカニズム、および送受信されるメッセージのデータパッケージ化のフォーマットルールが含まれます。
それぞれが特定の目的のために設計されたいくつかのコンピュータネットワークプロトコルが開発されました。一般的で広く使用されているプロトコルは、TCP / IPと、それに関連する高レベルおよび低レベルのプロトコルです。
TCP / IPプロトコル
Transmission Control Protocol (TCP)および Internet Protocol(IP)は、主に一緒に使用される2つの異なるコンピュータネットワークプロトコルです。それらの人気と幅広い採用により、ネットワークデバイスのすべてのオペレーティングシステムに組み込まれています。
OSIでは、IPはネットワーク層(レイヤー3)に対応し、TCPはトランスポート層(レイヤー4)に対応します。TCP / IPは、TCPトランスポートを使用してIPネットワークを介してデータを配信するネットワーク通信に適用されます。
TCP / IPプロトコルは、HTTP、FTP、アプリケーション層のSSH、データリンク/物理層のイーサネットなどの他のプロトコルで一般的に使用されます。
TCP / IPプロトコルスイートは、セキュリティの側面をほとんど気にせずにインターネットワーキングソリューションとして1980年に作成されました。
限られた信頼できるネットワークでの通信用に開発されました。ただし、一定期間にわたって、このプロトコルはセキュリティで保護されていないインターネット通信の事実上の標準になりました。
TCP / IPプロトコルスーツの一般的なセキュリティの脆弱性のいくつかは次のとおりです。
HTTPは、WebサーバーからのWebページを構成するファイルの転送に使用されるTCP / IPスイートのアプリケーション層プロトコルです。これらの転送はプレーンテキストで行われ、侵入者はサーバーとクライアントの間で交換されたデータパケットを簡単に読み取ることができます。
もう1つのHTTPの脆弱性は、セッションの初期化中のクライアントとWebサーバー間の弱い認証です。この脆弱性は、攻撃者が正当なユーザーのHTTPセッションを盗むセッションハイジャック攻撃につながる可能性があります。
TCPプロトコルの脆弱性は、接続確立のための3方向ハンドシェイクです。攻撃者は、サービス拒否攻撃「SYNフラッディング」を開始して、この脆弱性を悪用する可能性があります。彼は握手を完了しないことによって多くの半分開かれたセッションを確立します。これにより、サーバーが過負荷になり、最終的にはクラッシュします。
IP層は多くの脆弱性の影響を受けやすくなっています。攻撃者は、IPプロトコルヘッダーを変更することで、IPスプーフィング攻撃を仕掛けることができます。
上記とは別に、TCP / IPプロトコルファミリには、設計および実装において、他の多くのセキュリティの脆弱性が存在します。
ちなみに、TCP / IPベースのネットワーク通信では、1つの層がハッキングされた場合、他の層はハッキングに気付かず、通信全体が危険にさらされます。したがって、確実なセキュリティを確保するために、各レイヤーでセキュリティ制御を採用する必要があります。
DNSプロトコル
Domain Name System(DNS)は、ホストドメイン名をIPアドレスに解決するために使用されます。ネットワークユーザーは、主にWebブラウザにURLを入力してインターネットを閲覧しているときに、DNS機能に依存しています。
DNSへの攻撃では、攻撃者の目的は、正当なDNSレコードを変更して、誤ったIPアドレスに解決されるようにすることです。そのIPのすべてのトラフィックを間違ったコンピューターに転送する可能性があります。攻撃者は、DNSプロトコルの脆弱性を悪用するか、DNSサーバーを侵害して攻撃を実行する可能性があります。
DNS cache poisoningDNSプロトコルに見られる脆弱性を悪用する攻撃です。攻撃者は、リゾルバーから権限のあるサーバーに送信された再帰DNSクエリへの応答を偽造することにより、キャッシュを汚染する可能性があります。DNSリゾルバーのキャッシュが汚染されると、ホストは悪意のあるWebサイトに誘導され、このサイトへの通信によって資格情報を危険にさらす可能性があります。
ICMPプロトコル
Internet Control Management Protocol(ICMP)は、TCP / IPネットワークの基本的なネットワーク管理プロトコルです。これは、ネットワークデバイスのステータスに関するエラーおよび制御メッセージを送信するために使用されます。
ICMPはIPネットワーク実装の不可欠な部分であるため、非常にネットワーク設定に存在します。ICMPには独自の脆弱性があり、悪用されてネットワークへの攻撃を開始する可能性があります。
ICMPの脆弱性が原因でネットワーク上で発生する可能性のある一般的な攻撃は次のとおりです。
ICMPを使用すると、攻撃者はネットワーク偵察を実行して、ネットワークトポロジとネットワークへのパスを特定できます。ICMPスイープには、ターゲットのネットワーク全体で有効なすべてのホストIPアドレスの検出が含まれます。
トレースルートは、クライアントからリモートホストへのパスをリアルタイムで記述することにより、ターゲットネットワークをマッピングするために使用される一般的なICMPユーティリティです。
攻撃者は、ICMPの脆弱性を使用してサービス拒否攻撃を開始できます。この攻撃には、65,535バイトを超えるIPMPpingパケットをターゲットデバイスに送信することが含まれます。ターゲットコンピュータはこのパケットを適切に処理できず、オペレーティングシステムがクラッシュする可能性があります。
ARP、DHCP、SMTPなどの他のプロトコルにも脆弱性があり、攻撃者がネットワークセキュリティを危険にさらす可能性があります。これらの脆弱性のいくつかについては、後の章で説明します。
プロトコルの設計および実装中のセキュリティ面への懸念が最も少ないことが、ネットワークセキュリティに対する脅威の主な原因になっています。
ネットワークセキュリティの目標
前のセクションで説明したように、ネットワークには多数の脆弱性が存在します。したがって、送信中、データは攻撃に対して非常に脆弱です。攻撃者は、通信チャネルを標的にしてデータを取得し、同じものを読み取るか、誤ったメッセージを再挿入して、不正な目的を達成する可能性があります。
ネットワークセキュリティは、通信チェーンの両端にあるコンピュータのセキュリティだけに関係しているわけではありません。ただし、ネットワーク全体のセキュリティを確保することを目的としています。
ネットワークセキュリティには、ネットワークとデータの使いやすさ、信頼性、整合性、および安全性の保護が伴います。効果的なネットワークセキュリティは、ネットワークへの侵入またはネットワークへの拡散によるさまざまな脅威を打ち負かします。
ネットワークセキュリティの主な目標は、機密性、整合性、および可用性です。ネットワークセキュリティのこれらの3つの柱は、多くの場合、次のように表されます。CIA triangle。
Confidentiality−機密保持の機能は、貴重なビジネスデータを許可されていない人物から保護することです。ネットワークセキュリティの機密性の部分は、データが意図された許可された人だけが利用できるようにします。
Integrity−この目標は、データの正確性と一貫性を維持および保証することを意味します。整合性の機能は、データの信頼性を確保し、権限のない人によって変更されないようにすることです。
Availability −ネットワークセキュリティの可用性の機能は、データ、ネットワークリソース/サービスが、正当なユーザーが必要なときにいつでも継続的に利用できるようにすることです。
ネットワークセキュリティの実現
ネットワークセキュリティの確保は非常に簡単に見えるかもしれません。達成すべき目標は簡単なようです。しかし実際には、これらの目標を達成するために使用されるメカニズムは非常に複雑であり、それらを理解するには適切な推論が必要です。
International Telecommunication Union(ITU)は、セキュリティアーキテクチャX.800に関する推奨事項で、ネットワークセキュリティを実現する方法を標準化するための特定のメカニズムを定義しています。これらのメカニズムのいくつかは次のとおりです。
En-cipherment−このメカニズムは、許可されていない人がデータを読み取れない形式に変換することにより、データの機密性サービスを提供します。このメカニズムは、秘密鍵を使用した暗号化/復号化アルゴリズムを使用します。
Digital signatures−このメカニズムは、電子データの通常の署名と電子的に同等です。データの信頼性を提供します。
Access control−このメカニズムは、アクセス制御サービスを提供するために使用されます。これらのメカニズムは、エンティティの識別と認証を使用して、エンティティのアクセス権を決定および実施する場合があります。
ネットワークセキュリティを実現するためのさまざまなセキュリティメカニズムを開発および特定した後、それらをどこに適用するかを決定することが不可欠です。物理的(どの場所)と論理的(TCP / IPなどのアーキテクチャのどの層)の両方。
ネットワーク層のセキュリティメカニズム
OSIネットワーク層モデルの特定の層で開発できるように、いくつかのセキュリティメカニズムが開発されています。
Security at Application Layer−このレイヤーで使用されるセキュリティ対策は、アプリケーション固有です。アプリケーションの種類が異なれば、個別のセキュリティ対策が必要になります。アプリケーション層のセキュリティを確保するには、アプリケーションを変更する必要があります。
暗号的に健全なアプリケーションプロトコルを設計することは非常に困難であり、それを適切に実装することはさらに困難であると考えられています。したがって、ネットワーク通信を保護するためのアプリケーション層のセキュリティメカニズムは、しばらくの間使用されてきた標準ベースのソリューションのみであることが望ましいです。
アプリケーション層のセキュリティプロトコルの例は、電子メールメッセージの暗号化に一般的に使用されるSecure Multipurpose Internet Mail Extensions(S / MIME)です。DNSSECは、DNSクエリメッセージの安全な交換に使用されるこの層の別のプロトコルです。
Security at Transport Layer−この層のセキュリティ対策を使用して、2つのホスト間の単一の通信セッションでデータを保護できます。トランスポート層セキュリティプロトコルの最も一般的な用途は、HTTPおよびFTPセッショントラフィックの保護です。トランスポート層セキュリティ(TLS)とセキュアソケット層(SSL)は、この目的で使用される最も一般的なプロトコルです。
Network Layer−この層のセキュリティ対策は、すべてのアプリケーションに適用できます。したがって、これらはアプリケーション固有ではありません。2つのホストまたはネットワーク間のすべてのネットワーク通信は、アプリケーションを変更することなく、このレイヤーで保護できます。一部の環境では、インターネットプロトコルセキュリティ(IPsec)などのネットワーク層セキュリティプロトコルは、個々のアプリケーションに制御を追加することが難しいため、トランスポートまたはアプリケーション層の制御よりもはるかに優れたソリューションを提供します。ただし、この層のセキュリティプロトコルでは、一部のアプリケーションで必要となる可能性のある通信の柔軟性が低くなります。
ちなみに、上位層で動作するように設計されたセキュリティメカニズムは、下位層が上位層が認識していない機能を実行するため、下位層のデータを保護することはできません。したがって、ネットワークセキュリティを強化するために複数のセキュリティメカニズムを展開する必要がある場合があります。
チュートリアルの次の章では、ネットワークセキュリティを実現するためにOSIネットワークアーキテクチャのさまざまな層で採用されているセキュリティメカニズムについて説明します。
現在、さまざまなビジネスサービスが、クライアントサーバーアプリケーションを介してオンラインで提供されています。最も人気のあるフォームは、Webアプリケーションと電子メールです。どちらのアプリケーションでも、クライアントは指定されたサーバーと通信し、サービスを取得します。
クライアントとサーバーは、任意のサーバーアプリケーションのサービスを使用しているときに、基盤となるイントラネットまたはインターネット上で多くの情報を交換します。これらの情報取引は、さまざまな攻撃に対して脆弱であることを認識しています。
ネットワークセキュリティでは、データがネットワーク上で転送されている間、攻撃からデータを保護する必要があります。この目標を達成するために、多くのリアルタイムセキュリティプロトコルが設計されています。このようなプロトコルは、少なくとも次の主要な目的を提供する必要があります-
- 当事者は、相互に認証するために対話的にネゴシエートできます。
- ネットワーク上で情報を交換する前に、秘密のセッションキーを確立します。
- 暗号化された形式で情報を交換します。
興味深いことに、これらのプロトコルはネットワークモデルのさまざまな層で機能します。たとえば、S / MIMEプロトコルはアプリケーション層で機能し、SSLプロトコルはトランスポート層で機能するように開発され、IPsecプロトコルはネットワーク層で機能します。
この章では、電子メール通信のセキュリティと関連するセキュリティプロトコルを実現するためのさまざまなプロセスについて説明します。DNSを保護する方法については、後で説明します。後の章では、Webセキュリティを実現するためのプロトコルについて説明します。
電子メールのセキュリティ
今日、電子メールは非常に広く使用されているネットワークアプリケーションになっています。電子メールのセキュリティプロトコルについて理解する前に、電子メールのインフラストラクチャについて簡単に説明しましょう。
電子メールインフラストラクチャ
電子メールを送信する最も簡単な方法は、送信者のマシンから受信者のマシンに直接メッセージを送信することです。この場合、両方のマシンがネットワーク上で同時に実行されていることが不可欠です。ただし、ユーザーが自分のマシンをネットワークに接続することがあるため、この設定は実用的ではありません。
そのため、電子メールサーバーをセットアップするという概念が生まれました。この設定では、メールはネットワーク上で永続的に利用可能なメールサーバーに送信されます。受信者のマシンがネットワークに接続すると、メールサーバーからメールを読み取ります。
一般に、電子メールインフラストラクチャは、メールサーバーのメッシュで構成されます。 Message Transfer Agents (MTA)およびユーザーエージェント(UA)とローカルMTAで構成される電子メールプログラムを実行するクライアントマシン。
通常、電子メールメッセージはUAから転送され、MTAのメッシュを通過して、最終的に受信者のマシンのUAに到達します。
電子メールに使用されるプロトコルは次のとおりです-
電子メールメッセージの転送に使用されるSMTP(Simple Mail Transfer Protocol)。
ポストオフィスプロトコル(POP)およびインターネットメッセージアクセスプロトコル(IMAP)は、受信者がサーバーからメッセージを取得するために使用されます。
MIME
基本的なインターネット電子メール標準は1982年に作成され、インターネット上で交換される電子メールメッセージの形式を記述しています。主に基本的なローマ字のテキストとして書かれた電子メールメッセージをサポートします。
1992年までに、同じものを改善する必要性が感じられました。したがって、追加の標準多目的インターネットメール拡張機能(MIME)が定義されました。これは、基本的なインターネット電子メール標準の拡張機能のセットです。MIMEは、キリル文字(ロシア語で使用)、ギリシャ文字、さらには中国語のイデオグラフィック文字など、基本的なローマ字以外の文字を使用して電子メールを送信する機能を提供します。
MIMEが満たすもう1つのニーズは、画像やビデオクリップなどの非テキストコンテンツを送信することです。この機能により、MIME標準は電子メール通信用のSMTPで広く採用されるようになりました。
電子メールセキュリティサービス
重要かつ重要なトランザクションでの電子メール通信の使用の増加には、次のような特定の基本的なセキュリティサービスの提供が必要です。
Confidentiality −電子メールメッセージは、意図された受信者以外の誰にも読まれるべきではありません。
Authentication −電子メールの受信者は、送信者の身元を確認できます。
Integrity −電子メールメッセージが送信者によって送信されてから変更されていないことを受信者に保証します。
Non-repudiation −電子メールの受信者は、送信者が実際にメッセージを送信したことを第三者に証明できます。
Proof of submission −電子メールの送信者は、メッセージがメール配信システムに渡されたことの確認を受け取ります。
Proof of delivery −送信者は、受信者がメッセージを受信したという確認を受け取ります。
プライバシー、認証、メッセージの整合性、否認防止などのセキュリティサービスは、通常、公開鍵暗号を使用して提供されます。
通常、電子メール通信には3つの異なるシナリオがあります。これらのシナリオで上記のセキュリティサービスを実現する方法について説明します。
1対1の電子メール
このシナリオでは、送信者は1人の受信者にのみ電子メールメッセージを送信します。通常、通信には2つ以下のMTAが関与します。
送信者が受信者に機密の電子メールを送信したいとします。この場合のプライバシーの提供は次のように達成されます-
送信者と受信者は、それぞれ(S PVT、S PUB)と(R PVT、R PUB)の秘密公開鍵を持っています。
送信者は、秘密対称鍵、K生成Sを暗号化するために。送信者は暗号化にRPUBを使用できたかもしれませんが、対称鍵を使用して暗号化と復号化を高速化します。
送信者が暗号化キーKとのメッセージSともはK暗号化Sを、受信者、R用の公開鍵でPUB。
送信者は、暗号化されたメッセージと暗号化されたK送信Sを受取人に。
受信者は最初にKを取得SをエンコードされたK解読することによってSを自分の秘密鍵、R使用PVTを。
受信者は、次に、対称鍵、K使用してメッセージを復号化するSを。
このシナリオでメッセージの整合性、認証、および否認防止サービスも必要な場合は、上記のプロセスに次の手順が追加されます。
送信者はメッセージのハッシュを生成し、このハッシュに自分の秘密鍵SPVTを使用してデジタル署名します。
送信者は、この署名されたハッシュを他のコンポーネントとともに受信者に送信します。
受信者は公開鍵SPUBを使用し、送信者の署名の下で受信したハッシュを抽出します。
次に、受信者は復号化されたメッセージをハッシュし、2つのハッシュ値を比較します。それらが一致する場合、メッセージの整合性が達成されたと見なされます。
また、受信者は、メッセージが送信者によって送信されたことを確認します(認証)。そして最後に、送信者はメッセージを送信しなかったことを否定できません(否認防止)。
1対複数の受信者の電子メール
このシナリオでは、送信者は2人以上の受信者に電子メールメッセージを送信します。このリストは、送信者の電子メールプログラム(UA +ローカルMTA)によって管理されます。すべての受信者は同じメッセージを受け取ります。
送信者が多くの受信者(R1、R2、R3など)に機密の電子メールを送信したいとします。この場合のプライバシーの提供は次のように達成されます-
送信者とすべての受信者は、独自の秘密公開鍵のペアを持っています。
送信者は、秘密対称鍵、K生成秒と、このキーでメッセージを暗号化します。
次に、送信者はR1、R2、およびR3の公開鍵を使用してK Sを複数回暗号化し、R1 PUB(K S)、R2 PUB(K S)、およびR3 PUB(K S)を取得します。
送信者はメッセージを暗号化し送信し、K暗号化され、対応するSを受取人に。たとえば、受信者1(R1)は暗号化されたメッセージとR1 PUB(K S)を受信します。
Kキー各受信者最初の抽出物Sの符号化さK解読することにより、Sを自分の秘密鍵を使用して。
各受信者は、次に、対称鍵、K使用してメッセージを復号化するSを。
メッセージの整合性、認証、および否認防止を提供するために実行する手順は、1対1の電子メールシナリオで前述した手順と同様です。
1対1の配布リストの電子メール
このシナリオでは、送信者は2人以上の受信者に電子メールメッセージを送信しますが、受信者のリストは送信者によってローカルで管理されていません。通常、電子メールサーバー(MTA)はメーリングリストを管理します。
送信者はメーリングリストを管理するMTAにメールを送信し、MTAによってリスト内のすべての受信者にメールが展開されます。
この場合、送信者がメーリングリストの受信者(R1、R2、R3など)に機密の電子メールを送信したい場合。プライバシーは次のように保証されます-
送信者とすべての受信者は、独自の秘密公開鍵のペアを持っています。Exploder Serverには、それによって維持される各メーリングリスト(List PUB、List PVT)の秘密公開鍵のペアがあります。
送信者は、秘密対称鍵Kを生成秒をしてから、このキーでメッセージを暗号化します。
次に、送信者はリストに関連付けられた公開鍵を使用してK Sを暗号化し、リストPUB(K S)を取得します。
送信者は暗号化されたメッセージとリストPUB(K S)を送信します。発破MTAリストの復号PUB(K Sリストを使用して)PVTのとK取得Sを。
エクスプローダはK暗号化Sを、リスト内のメンバーがあるとして多くの公開鍵などで。
発破は、受信した暗号化されたメッセージを転送し、K暗号化された対応するSをリスト内のすべての受信者に。たとえば、Exploderは暗号化されたメッセージとR1 PUB(K S)を受信者1に転送します。
メッセージの整合性、認証、および否認防止を提供するために従うべき手順は、1対1の電子メールシナリオの場合と同様です。
興味深いことに、電子メールを保護するために上記のセキュリティ方法を採用している電子メールプログラムは、上記で説明したすべての可能なシナリオで機能することが期待されています。上記の電子メールのセキュリティメカニズムのほとんどは、Pretty Good Privacy(PGP)とS / MIMEの2つの一般的なスキームによって提供されます。次のセクションでは、両方について説明します。
PGP
Pretty Good Privacy(PGP)は、電子メールの暗号化スキームです。これは、電子メール通信のセキュリティサービスを提供するための事実上の標準になっています。
上で説明したように、公開鍵暗号、対称鍵暗号、ハッシュ関数、およびデジタル署名を使用します。それは提供します-
- Privacy
- 送信者認証
- メッセージの整合性
- Non-repudiation
これらのセキュリティサービスに加えて、データ圧縮とキー管理のサポートも提供します。PGPは、新しい暗号化アルゴリズムを発明するのではなく、RSA、IDEA、MD5などの既存の暗号化アルゴリズムを使用します。
PGPの動作
メッセージのハッシュが計算されます。(MD5アルゴリズム)
結果の128ビットハッシュは、送信者の秘密鍵を使用して署名されます(RSAアルゴリズム)。
デジタル署名はメッセージに連結され、結果は圧縮されます。
128ビットの対称鍵KSが生成され、IDEAで圧縮メッセージを暗号化するために使用されます。
K Sは、RSAアルゴリズムを使用して受信者の公開鍵を使用して暗号化され、結果が暗号化されたメッセージに追加されます。
PGPメッセージの形式を次の図に示します。IDは、KSの暗号化に使用されるキーと、ハッシュの署名を検証するために使用されるキーを示します。
PGPスキームでは、メッセージは署名および暗号化され、次にMIMEが送信前にエンコードされます。
PGP証明書
PGP鍵証明書は通常、信頼の連鎖を通じて確立されます。たとえば、Aの公開鍵はBが彼の公開鍵を使用して署名し、Bの公開鍵はCが彼の公開鍵を使用して署名します。このプロセスが進むにつれて、それは信頼の網を確立します。
PGP環境では、すべてのユーザーが認証局として機能できます。すべてのPGPユーザーは、別のPGPユーザーの公開鍵を認証できます。ただし、このような証明書は、ユーザーが認証者を信頼できる紹介者として認識している場合にのみ、別のユーザーに有効です。
このような認証方法にはいくつかの問題があります。既知の信頼できる公開鍵から目的の鍵につながるチェーンを見つけるのは難しい場合があります。また、複数のチェーンが存在する可能性があり、目的のユーザーに対して異なるキーにつながる可能性があります。
PGPは、認証局を備えたPKIインフラストラクチャを使用することもでき、公開鍵はCAによって認証されます(X.509証明書)。
S / MIME
S / MIMEは、Secure Multipurpose Internet MailExtensionの略です。S / MIMEは安全な電子メール標準です。これは、MIMEと呼ばれる以前の安全でない電子メール標準に基づいています。
S / MIMEの動作
S / MIMEアプローチはPGPに似ています。また、公開鍵暗号化、対称鍵暗号化、ハッシュ関数、およびデジタル署名も使用します。電子メール通信用のPGPと同様のセキュリティサービスを提供します。
S / MIMEで使用される最も一般的な対称暗号は、RC2とTripleDESです。通常の公開鍵方式はRSAであり、ハッシュアルゴリズムはSHA-1またはMD5です。
S / MIMEは、暗号化後のデータエンベロープ用に、「application / pkcs7-mime」などの追加のMIMEタイプを指定します。MIMEエンティティ全体が暗号化され、オブジェクトにパックされます。S / MIMEには、暗号化メッセージ形式が標準化されています(PGPとは異なります)。実際、MIMEは、メッセージ内の暗号化された部分や署名された部分を識別するために、いくつかのキーワードで拡張されています。
S / MIMEは、公開鍵の配布をX.509証明書に依存しています。認定サポートには、トップダウンの階層型PKIが必要です。
S / MIMEのエンプロイアビリティ
実装には認証局からの証明書が必要なため、公開鍵と秘密鍵のペアを使用してメッセージを暗号化する場合があるため、すべてのユーザーがS / MIMEを利用できるわけではありません。たとえば、証明書の関与や管理オーバーヘッドはありません。
実際には、ほとんどの電子メールアプリケーションはS / MIMEを実装していますが、証明書の登録プロセスは複雑です。代わりに、PGPサポートは通常、プラグインを追加する必要があり、そのプラグインにはキーの管理に必要なすべてのものが付属しています。Web ofTrustは実際には使用されていません。人々は別の媒体を介して公開鍵を交換します。取得すると、通常は電子メールを交換する相手の公開鍵のコピーを保持します。
次の図に、PGPおよびS / MIMEスキームのネットワークアーキテクチャの実装レイヤーを示します。これらのスキームは両方とも、電子メール通信用のアプリケーションレベルのセキュリティを提供します。
環境に応じて、PGPまたはS / MIMEのいずれかのスキームが使用されます。キャプティブネットワークでの安全な電子メール通信は、PGPに適応することで提供できます。メールが新しい未知のユーザーと頻繁に交換されるインターネットを介した電子メールのセキュリティでは、S / MIMEが適切なオプションと見なされます。
DNSセキュリティ
最初の章では、攻撃者がDNSキャッシュポイズニングを使用してターゲットユーザーを攻撃できることを説明しました。 Domain Name System Security Extensions (DNSSEC)は、このような攻撃を阻止できるインターネット標準です。
標準DNSの脆弱性
標準のDNSスキームでは、ユーザーが任意のドメイン名に接続する場合は常に、コンピューターがDNSサーバーに接続し、そのドメイン名に関連付けられたIPアドレスを検索します。IPアドレスが取得されると、コンピューターはそのIPアドレスに接続します。
このスキームでは、検証プロセスはまったく含まれていません。コンピューターはDNSサーバーにWebサイトに関連付けられたアドレスを要求し、DNSサーバーはIPアドレスで応答します。コンピューターは間違いなくそれを正当な応答として受け入れ、そのWebサイトに接続します。
DNSルックアップは、実際にはいくつかの段階で発生します。たとえば、コンピュータが「www.tutorialspoint.com」を要求すると、DNSルックアップはいくつかの段階で実行されます。
コンピューターは最初にローカルDNSサーバー(ISP提供)に問い合わせます。ISPのキャッシュにこの名前がある場合、ISPは応答します。それ以外の場合は、クエリを「ルートゾーンディレクトリ」に転送し、そこで「.com」を見つけます。およびルートゾーンの応答。
次に、応答に基づいて、コンピュータは「tutorialspoint.com」を見つけることができる「.com」ディレクトリに問い合わせます。
受け取った情報に基づいて、コンピューターは「tutorialspoint.com」にwwwを見つけることができる場所を問い合わせます。tutorialspoint.com。
DNSSEC定義
DNSルックアップは、DNSSECを使用して実行される場合、応答エンティティによる応答の署名を伴います。DNSSECは、公開鍵暗号に基づいています。
DNSSEC標準では、すべてのDNSゾーンに公開鍵と秘密鍵のペアがあります。DNSサーバーによって送信されるすべての情報は、信頼性を確保するために発信元ゾーンの秘密鍵で署名されています。DNSクライアントは、署名を確認するためにゾーンの公開鍵を知っている必要があります。クライアントは、すべてのトップレベルドメインの公開鍵またはルートDNSで事前構成されている場合があります。
DNSSECを使用すると、ルックアッププロセスは次のようになります-
コンピュータが.comを見つけることができるルートゾーンに尋ねると、応答はルートゾーンサーバーによって署名されます。
コンピュータはルートゾーンの署名キーをチェックし、それが真の情報を持つ正当なルートゾーンであることを確認します。
返信では、ルートゾーンが.comゾーンサーバーの署名キーとその場所に関する情報を提供し、コンピューターが.comディレクトリに接続できるようにして、それが正当であることを確認します。
次に、.comディレクトリはtutorialspoint.comの署名キーと情報を提供し、その上のゾーンで確認されているように、google.comに接続して、実際のtutorialspoint.comに接続していることを確認できるようにします。
送信される情報は、リソースレコードセット(RRSet)の形式です。次の表に、最上位の「.com」サーバーのドメイン「tutorialspoint.com」のRRSetの例を示します。
ドメイン名 | 有効期間 | タイプ | 値 |
---|---|---|---|
tutorialspoint.com | 86400 | NS | dns.tutorialspoint.com |
dns.tutorialspoint.com | 86400 | A | 36..1.2.3 |
tutorialspoint.com | 86400 | キー | 3682793A7B73F731029CE2737D .. .. |
tutorialspoint.com | 86400 | SIG | 86947503A8B848F5272E53930C .. |
KEYレコードは、「tutorialspoint.com」の公開鍵です。
SIGレコードは、フィールドNS、A、およびKEYレコードの最上位の.comサーバーの署名付きハッシュであり、それらの信頼性を検証します。その値はKCOMあるPVT(H(NS、A、KEY))。
したがって、DNSSECが完全に展開されると、ユーザーのコンピューターはDNS応答が正当で真実であることを確認し、DNSキャッシュポイズニングによって開始されるDNS攻撃を回避できると見なされます。
概要
電子メールを保護するプロセスは、通信のエンドツーエンドのセキュリティを保証します。機密性、送信者認証、メッセージの整合性、および否認防止のセキュリティサービスを提供します。
電子メールのセキュリティのために、PGPとS / MIMEの2つのスキームが開発されました。これらのスキームは両方とも、秘密鍵と公開鍵の暗号化を使用します。
標準のDNSルックアップは、DNSスプーフィング/キャッシュポイズニングなどの攻撃に対して脆弱です。DNSルックアップの保護は、公開鍵暗号を採用するDNSSECを使用することで実現可能です。
この章では、エンドツーエンド通信にネットワークセキュリティを提供するためにアプリケーション層で使用されるメカニズムについて説明しました。
ネットワークセキュリティでは、データがネットワーク上で転送されている間、攻撃からデータを保護する必要があります。この目標を達成するために、多くのリアルタイムセキュリティプロトコルが設計されています。S / MIME、SSL / TLS、SSH、IPsecなどのリアルタイムネットワークセキュリティプロトコルには一般的な標準があります。前述のように、これらのプロトコルはネットワークモデルのさまざまな層で機能します。
前の章では、アプリケーション層のセキュリティを提供するように設計されたいくつかの一般的なプロトコルについて説明しました。この章では、トランスポート層でネットワークセキュリティを実現するプロセスと関連するセキュリティプロトコルについて説明します。
TCP / IPプロトコルベースのネットワークの場合、物理層とデータリンク層は通常、ユーザー端末とネットワークカードのハードウェアに実装されます。TCP層とIP層は、オペレーティングシステムに実装されています。TCP / IPを超えるものはすべて、ユーザープロセスとして実装されます。
トランスポート層セキュリティの必要性
典型的なインターネットベースのビジネストランザクションについて説明しましょう。
ボブは商品を販売するためにアリスのウェブサイトにアクセスします。ボブはウェブサイトのフォームに、希望する商品の種類と数量、住所、支払いカードの詳細を入力します。ボブは[送信]をクリックし、アカウントから金額が引き落とされた商品の配達を待ちます。これはすべて良さそうに聞こえますが、ネットワークセキュリティがない場合、ボブはいくつかの驚きに直面する可能性があります。
トランザクションが機密性(暗号化)を使用しなかった場合、攻撃者は自分の支払いカード情報を入手する可能性があります。その後、攻撃者はボブの費用で購入することができます。
データ整合性測定が使用されていない場合、攻撃者は商品の種類または数量に関してボブの注文を変更する可能性があります。
最後に、サーバー認証が使用されていない場合、サーバーはアリスの有名なロゴを表示できますが、サイトはアリスになりすました攻撃者によって維持されている悪意のあるサイトである可能性があります。ボブの命令を受けた後、彼はボブのお金を受け取って逃げることができました。または、ボブの名前とクレジットカードの詳細を収集して、個人情報の盗難を実行することもできます。
トランスポート層セキュリティスキームは、機密性、データ整合性、サーバー認証、およびクライアント認証を使用してTCP / IPベースのネットワーク通信を強化することにより、これらの問題に対処できます。
この層のセキュリティは、主にネットワーク上のHTTPベースのWebトランザクションを保護するために使用されます。ただし、TCP上で実行されているすべてのアプリケーションで使用できます。
TLS設計の哲学
トランスポート層セキュリティ(TLS)プロトコルは、TCP層の上で動作します。これらのプロトコルの設計では、TCP層とのインターフェイスに「ソケット」と呼ばれるTCPへの一般的なアプリケーションプログラムインターフェイス(API)を使用します。
アプリケーションは、TCPではなくTransport SecurityLayerに直接インターフェースされるようになりました。Transport Security Layerは、TCPのAPIに類似した、ソケットを備えた単純なAPIを提供します。
上の図では、TLSは技術的にはアプリケーション層とトランスポート層の間に存在しますが、一般的な観点からは、セキュリティサービスで強化されたTCP層として機能するトランスポートプロトコルです。
TLSは、信頼性の高いレイヤー4プロトコル(UDPプロトコルではない)であるTCPを介して動作するように設計されており、「タイムアウト」や「失われたデータの再送信」について心配する必要がないため、TLSの設計がはるかに簡単になります。TCP層は、TLSのニーズに対応するために、通常どおりこれを実行し続けます。
なぜTLSが人気なのですか?
トランスポート層でセキュリティを使用することが人気の理由は、単純さです。この層でのセキュリティの設計と展開では、オペレーティングシステムに実装されているTCP / IPプロトコルを変更する必要はありません。ユーザープロセスとアプリケーションのみを設計/変更する必要があり、それほど複雑ではありません。
Secure Socket Layer(SSL)
このセクションでは、TLS用に設計されたプロトコルファミリについて説明します。このファミリには、SSLバージョン2および3とTLSプロトコルが含まれています。SSLv2はSSLv3に置き換えられたため、SSLv3とTLSに焦点を当てます。
SSLの簡単な歴史
1995年、NetscapeはSSLv2を開発し、Netscape Navigator1.1で使用しました。SSLバージョン1は公開され、使用されたことはありません。その後、MicrosoftはSSLv2を改良し、Private Communications Technology(PCT)という名前の別の同様のプロトコルを導入しました。
Netscapeは、さまざまなセキュリティ問題でSSLv2を大幅に改善し、1999年にSSLv3を展開しました。その後、インターネット技術特別調査委員会(IETF)は、オープンスタンダードとして同様のTLS(トランスポート層セキュリティ)プロトコルを導入しました。TLSプロトコルはSSLv3と相互運用できません。
TLSは、キーの拡張と認証のために暗号化アルゴリズムを変更しました。また、TLSは、SSLで使用される特許取得済みのRSA暗号の代わりに、オープン暗号のDiffie-Hellman(DH)とデジタル署名標準(DSS)の使用を提案しました。しかし、2000年にRSA特許が失効したため、ユーザーが広く展開されているSSLv3からTLSに移行する強い理由はありませんでした。
SSLの顕著な特徴
SSLプロトコルの主な特徴は次のとおりです。
SSLは、次の方法でネットワーク接続のセキュリティを提供します。
Confidentiality −情報は暗号化された形式で交換されます。
Authentication−通信エンティティは、デジタル証明書を使用して相互に識別します。Webサーバー認証は必須ですが、クライアント認証はオプションのままです。
Reliability −メッセージの整合性チェックを維持します。
SSLはすべてのTCPアプリケーションで使用できます。
ほぼすべてのWebブラウザでサポートされています。
新しいオンラインエンティティとのビジネスを容易にします。
主にWebeコマース用に開発されました。
SSLのアーキテクチャ
SSLはTCPに固有であり、UDPでは機能しません。SSLは、アプリケーションにアプリケーションプログラミングインターフェイス(API)を提供します。CおよびJavaSSLライブラリ/クラスはすぐに利用できます。
SSLプロトコルは、次の画像に示すように、アプリケーションとトランスポート層の間で相互作用するように設計されています。
画像に示されているように、SSL自体は単層プロトコルではありません。実際、2つのサブレイヤーで構成されています。
下位サブレイヤーは、SSLレコードプロトコルと呼ばれるSSLプロトコルの1つのコンポーネントで構成されます。このコンポーネントは、整合性と機密性のサービスを提供します。
上位サブレイヤーは、3つのSSL関連プロトコルコンポーネントとアプリケーションプロトコルで構成されます。アプリケーションコンポーネントは、クライアント/サーバーの相互作用間の情報転送サービスを提供します。技術的には、SSLレイヤーの上でも動作できます。3つのSSL関連プロトコルコンポーネントは次のとおりです。
- SSLハンドシェイクプロトコル
- 暗号仕様プロトコルの変更
- アラートプロトコル。
これらの3つのプロトコルは、すべてのSSLメッセージ交換を管理し、このセクションの後半で説明します。
SSLプロトコルコンポーネントの機能
SSLプロトコルの4つのサブコンポーネントは、クライアントマシンとサーバー間の安全な通信のためのさまざまなタスクを処理します。
記録プロトコル
レコード層は、上位層のプロトコルメッセージをフォーマットします。
データを管理可能なブロック(最大長16 KB)にフラグメント化します。オプションでデータを圧縮します。
データを暗号化します。
各メッセージのヘッダーと最後にハッシュ(メッセージ認証コード(MAC))を提供します。
フォーマットされたブロックをTCPレイヤーに渡して送信します。
SSLハンドシェイクプロトコル
これはSSLの最も複雑な部分です。これは、アプリケーションデータが送信される前に呼び出されます。クライアントとサーバーの間にSSLセッションを作成します。
セッションの確立には、サーバー認証、キーとアルゴリズムのネゴシエーション、キーの確立、およびクライアント認証(オプション)が含まれます。
セッションは、暗号化セキュリティパラメータの一意のセットによって識別されます。
クライアントとサーバー間の複数の安全なTCP接続は、同じセッションを共有できます。
4つのフェーズを介したハンドシェイクプロトコルアクション。これらについては、次のセクションで説明します。
ChangeCipherSpecプロトコル
SSLプロトコルの最も単純な部分。これは、クライアントとサーバーの2つの通信エンティティ間で交換される単一のメッセージで構成されます。
各エンティティがChangeCipherSpecメッセージを送信すると、合意されたとおり、接続のその側が安全な状態に変更されます。
暗号パラメータの保留状態が現在の状態にコピーされます。
このメッセージの交換は、今後のすべてのデータ交換が暗号化され、整合性が保護されていることを示します。
SSLアラートプロトコル
このプロトコルは、予期しないメッセージ、不正なレコードMAC、セキュリティパラメータのネゴシエーションの失敗などのエラーを報告するために使用されます。
また、TCP接続の閉鎖の通知、不良または不明な証明書の受信の通知など、他の目的にも使用されます。
SSLセッションの確立
上で説明したように、SSLセッションの確立には4つのフェーズがあります。これらは主にSSLハンドシェイクプロトコルによって処理されます。
Phase 1 −セキュリティ機能の確立。
このフェーズは、Client_helloとServer_helloの2つのメッセージの交換で構成されます。
Client_helloには、クライアントがサポートする暗号化アルゴリズムのリストが優先度の高い順に含まれています。
Server_helloには、選択した暗号仕様(CipherSpec)と新しいsession_idが含まれています。
CipherSpecには、次のようなフィールドが含まれています。
暗号化アルゴリズム(DES、3DES、RC2、およびRC4)
MACアルゴリズム(MD5、SHA-1に基づく)
公開鍵アルゴリズム(RSA)
どちらのメッセージにも、リプレイ攻撃を防ぐための「nonce」があります。
Phase 2 −サーバー認証と鍵交換。
サーバーは証明書を送信します。クライアントソフトウェアには、証明書を確認するためのさまざまな「信頼できる」組織(CA)の公開鍵が構成されています。
サーバーは選択された暗号スイートを送信します。
サーバーはクライアント証明書を要求する場合があります。通常は行われません。
サーバーはServer_helloの終了を示します。
Phase 3 −クライアント認証と鍵交換。
クライアントは、サーバーから要求された場合にのみ、証明書を送信します。
また、サーバーの公開鍵で暗号化されたプリマスターシークレット(PMS)を送信します。
クライアントは、この証明書に関連付けられた秘密鍵を持っていることを証明するために証明書が送信された場合にも、Certificate_verifyメッセージを送信します。基本的に、クライアントは前のメッセージのハッシュに署名します。
Phase 4 −終了。
クライアントとサーバーは、Change_cipher_specメッセージを相互に送信して、保留中の暗号状態を現在の状態にコピーします。
今後、すべてのデータは暗号化され、整合性が保護されます。
両端からのメッセージ「Finished」は、鍵交換および認証プロセスが成功したことを確認します。
上記の4つのフェーズはすべて、TCPセッションの確立内で発生します。SSLセッションの確立は、TCP SYN / SYNACKの後に開始され、TCPFinの前に終了します。
切断されたセッションの再開
クライアントが暗号化されたsession_id情報を使用してhello_requestをサーバーに送信した場合、切断されたセッションを(アラートメッセージを介して)再開することができます。
次に、サーバーはsession_idが有効かどうかを判断します。検証されると、ChangeCipherSpecと終了したメッセージをクライアントと交換し、安全な通信を再開します。
これにより、セッション暗号パラメータの再計算が回避され、サーバー側とクライアント側での計算が節約されます。
SSLセッションキー
SSLセッション確立のフェーズ3中に、プリマスターシークレットがクライアントからサーバーの公開鍵を使用して暗号化されたサーバーに送信されることを確認しました。マスターシークレットとさまざまなセッションキーは次のように生成されます-
マスターシークレットは、-を使用して(疑似乱数ジェネレーターを介して)生成されます。
プレマスターの秘密。
client_helloメッセージとserver_helloメッセージで交換される2つのナンス(RAとRB)。
次に、このマスターシークレットから6つのシークレット値が次のように導出されます。
MACで使用される秘密鍵(サーバーから送信されるデータ用)
MACで使用される秘密鍵(クライアントから送信されるデータ用)
暗号化に使用される秘密鍵とIV(サーバーによる)
暗号化に使用される秘密鍵とIV(クライアントによる)
TLSプロトコル
SSLのオープンインターネット標準を提供するために、IETFは1999年1月にトランスポート層セキュリティ(TLS)プロトコルをリリースしました。TLSはRFC5246で提案されたインターネット標準として定義されています。
顕著な特徴
TLSプロトコルにはSSLと同じ目的があります。
これにより、クライアント/サーバーアプリケーションは、認証を行い、盗聴を防ぎ、メッセージの変更に抵抗することで、安全な方法で通信できるようになります。
TLSプロトコルは、ネットワーク層スタックの信頼性の高いコネクション型トランスポートTCP層の上にあります。
TLSプロトコルのアーキテクチャは、SSLv3プロトコルに似ています。これには、TLSレコードプロトコルとTLSハンドシェイクプロトコルの2つのサブプロトコルがあります。
SSLv3プロトコルとTLSプロトコルのアーキテクチャは似ていますが、特にハンドシェイクプロトコルのアーキテクチャと機能にいくつかの変更が加えられました。
TLSプロトコルとSSLプロトコルの比較
TLSプロトコルとSSLv3プロトコルには主に8つの違いがあります。これらは次のとおりです-
Protocol Version − TLSプロトコルセグメントのヘッダーにはバージョン番号3.1が付けられており、SSLプロトコルセグメントヘッダーに付けられている番号3を区別しています。
Message Authentication− TLSは、キー付きハッシュメッセージ認証コード(H-MAC)を採用しています。利点は、SSLプロトコルで明示的に示されているように、H-MACがMD5やSHAだけでなく、任意のハッシュ関数で動作することです。
Session Key Generation −キーマテリアルの生成に関して、TLSプロトコルとSSLプロトコルには2つの違いがあります。
プレマスターとマスターシークレットを計算する方法は似ています。ただし、TLSプロトコルでは、マスターシークレットの計算では、アドホックMACの代わりにHMAC標準および疑似ランダム関数(PRF)出力が使用されます。
セッションキーと開始値(IV)を計算するためのアルゴリズムは、TLSではSSLプロトコルとは異なります。
アラートプロトコルメッセージ-
TLSプロトコルは、SSLのアラートプロトコルで使用されるすべてのメッセージをサポートします。ただし、証明書アラートメッセージは冗長化されません。クライアント認証が必要ない場合、クライアントは空の証明書を送信します。
record_overflow、decode_errorなどの他のエラー状態のTLSプロトコルには、多くの追加のアラートメッセージが含まれています。
Supported Cipher Suites− SSLは、RSA、Diffie-Hellman、およびFortezza暗号スイートをサポートします。TLSプロトコルは、Fortezzaを除くすべてのスーツをサポートします。
Client Certificate Types− TLSは、certificate_requestメッセージで要求される証明書タイプを定義します。SSLv3はこれらすべてをサポートします。さらに、SSLは、Fortezzaなどの他の特定の種類の証明書をサポートします。
CertificateVerifyと終了したメッセージ-
SSLでは、certificate_verifyメッセージに複雑なメッセージプロシージャが使用されます。TLSを使用すると、検証された情報がハンドシェイクメッセージ自体に含まれるため、この複雑な手順を回避できます。
終了したメッセージは、TLSとSSLv3でさまざまな方法で計算されます。
Padding of Data− SSLプロトコルでは、暗号化の前にユーザーデータに追加されるパディングは、合計データサイズを暗号のブロック長の倍数に等しくするために必要な最小量です。TLSでは、パディングは、最大255バイトまでの暗号のブロック長の倍数であるデータサイズになる任意の量にすることができます。
TLSプロトコルとSSLv3プロトコルの上記の違いは、次の表にまとめられています。
セキュアブラウジング-HTTPS
このセクションでは、安全なWebブラウジングを実行するためのSSL / TLSプロトコルの使用について説明します。
HTTPS定義
ハイパーテキスト転送プロトコル(HTTP)プロトコルは、Webブラウジングに使用されます。HTTPSの機能はHTTPに似ています。唯一の違いは、HTTPSが「安全な」Webブラウジングを提供することです。HTTPSはHTTPoverSSLの略です。このプロトコルは、クライアントWebブラウザとWebサイトサーバー間の暗号化および認証された接続を提供するために使用されます。
HTTPSを介した安全なブラウジングにより、次のコンテンツが確実に暗号化されます-
- 要求されたWebページのURL。
- サーバーからユーザークライアントに提供されるWebページのコンテンツ。
- ユーザーが記入したフォームの内容。
- 両方向に確立されたCookie。
HTTPSの動作
HTTPSアプリケーションプロトコルは通常、SSLまたはTLSの2つの一般的なトランスポート層セキュリティプロトコルのいずれかを使用します。安全なブラウジングのプロセスは、次の点で説明されています。
ブラウザのアドレスバーにhttps://の後にURLを入力して、WebページへのHTTPS接続を要求します。
WebブラウザがWebサーバーへの接続を開始します。httpsを使用すると、SSLプロトコルの使用が呼び出されます。
アプリケーション(この場合はブラウザ)は、ポート80(httpの場合に使用)の代わりにシステムポート443を使用します。
SSLプロトコルは、前のセクションで説明したように、安全なセッションを確立するためにハンドシェイクプロトコルを通過します。
Webサイトは、最初にSSLデジタル証明書をブラウザに送信します。証明書の検証時に、SSLハンドシェイクが進行し、セッションの共有シークレットが交換されます。
サーバーが信頼できるSSLデジタル証明書を使用すると、ユーザーはブラウザーのアドレスバーに南京錠のアイコンが表示されます。Extended Validation CertificateがWebサイトにインストールされると、アドレスバーが緑色に変わります。
一度確立されると、このセッションはWebサーバーとブラウザー間の多くの安全な接続で構成されます。
HTTPSの使用
HTTPSを使用すると、機密性、サーバー認証、およびメッセージの整合性がユーザーに提供されます。これにより、インターネット上での電子商取引の安全な実施が可能になります。
データの盗聴を防ぎ、HTTPに対する一般的な攻撃である個人情報の盗難を拒否します。
現在のWebブラウザとWebサーバーにはHTTPSサポートが装備されています。ただし、HTTPS over HTTPを使用すると、暗号化とSSLハンドシェイクを実行するために、クライアントとサーバー側でより多くの計算能力が必要になります。
セキュアシェルプロトコル(SSH)
SSHの主な機能は次のとおりです-
SSHは、TCP / IP層の上で実行されるネットワークプロトコルです。これは、リモートログオン機能の安全でない手段を提供していたTELNETを置き換えるように設計されています。
SSHは、安全なクライアント/サーバー通信を提供し、ファイル転送や電子メールなどのタスクに使用できます。
SSH2は、以前のバージョンのSSH1よりも改善されたネットワーク通信セキュリティを提供する一般的なプロトコルです。
SSH定義
SSHは、3つのサブプロトコルとして構成されています。
Transport Layer Protocol− SSHプロトコルのこの部分は、データの機密性、サーバー(ホスト)認証、およびデータの整合性を提供します。オプションで、データ圧縮も提供できます。
Server Authentication−ホストキーは公開キー/秘密キーのように非対称です。サーバーは公開鍵を使用して、クライアントにそのIDを証明します。クライアントは、接続されたサーバーが、維持しているデータベースの「既知の」ホストであることを確認します。サーバーが認証されると、セッションキーが生成されます。
Session Key Establishment−認証後、サーバーとクライアントは使用する暗号について合意します。セッションキーは、クライアントとサーバーの両方によって生成されます。セッションキーはユーザー認証の前に生成されるため、ユーザー名とパスワードを暗号化して送信できます。これらのキーは通常、セッション中に定期的に(たとえば、1時間ごとに)交換され、使用後すぐに破棄されます。
Data Integrity− SSHは、メッセージ認証コード(MAC)アルゴリズムを使用してデータの整合性をチェックします。これは、SSH1で使用される32ビットCRCを改善したものです。
User Authentication Protocol− SSHのこの部分は、サーバーに対してユーザーを認証します。サーバーは、アクセスが意図されたユーザーにのみ与えられていることを確認します。現在、入力されたパスワード、Kerberos、公開鍵認証など、多くの認証方法が使用されています。
Connection Protocol −これにより、単一の基盤となるSSH接続を介して複数の論理チャネルが提供されます。
SSHサービス
SSHは、多くの安全なソリューションの提供を可能にする3つの主要なサービスを提供します。これらのサービスについて簡単に説明します-
Secure Command-Shell (Remote Logon)−ユーザーは、ファイルの編集、ディレクトリの内容の表示、および接続されたデバイス上のアプリケーションへのアクセスを行うことができます。システム管理者は、サービスとプロセスをリモートで開始/表示/停止したり、ユーザーアカウントを作成したり、ファイル/ディレクトリのアクセス許可を変更したりできます。マシンのコマンドプロンプトで実行可能なすべてのタスクは、安全なリモートログオンを使用してリモートマシンから安全に実行できるようになりました。
Secure File Transfer− SSHファイル転送プロトコル(SFTP)は、安全なファイル転送のためのSSH-2の拡張機能として設計されています。本質的に、これはファイル転送を処理するためにSecureShellプロトコルの上に階層化された別個のプロトコルです。SFTPは、ユーザー名/パスワードと転送されるファイルデータの両方を暗号化します。Secure Shellサーバーと同じポート、つまりシステムポート番号22を使用します。
Port Forwarding (Tunneling)−保護されていないTCP / IPベースのアプリケーションからのデータを保護できます。ポートフォワーディングが設定された後、Secure Shellはトラフィックをプログラム(通常はクライアント)から再ルーティングし、暗号化されたトンネルを介して反対側のプログラム(通常はサーバー)に送信します。複数のアプリケーションが単一の多重化された安全なチャネルを介してデータを送信できるため、ファイアウォールやルーターで多くのポートを開く必要がありません。
利点と制限
トランスポート層で通信セキュリティを採用するメリットと制限は次のとおりです。
利点
トランスポート層セキュリティは、アプリケーションに対して透過的です。
サーバーが認証されます。
アプリケーション層のヘッダーは非表示になっています。
トランスポート接続レベルで機能するため、レイヤ3(IPsec)のセキュリティメカニズムよりもきめ細かいです。
制限事項
TCPベースのアプリケーションにのみ適用されます(UDPは適用されません)。
TCP / IPヘッダーは明確です。
クライアントとサーバー間の直接通信に適しています。サーバーのチェーン(電子メールなど)を使用する安全なアプリケーションには対応していません
クライアント認証はオプションであるため、SSLは否認防止を提供しません。
必要に応じて、クライアント認証をSSLより上に実装する必要があります。
概要
過去10年間で、インターネット上に多数のWebアプリケーションが登場しました。多くのe-Governanceおよびe-Commerceポータルがオンラインになりました。これらのアプリケーションでは、サーバーとクライアント間のセッションが安全であり、セッションの機密性、認証、および整合性を提供する必要があります。
ユーザーのセッション中に発生する可能性のある攻撃を軽減する1つの方法は、安全な通信プロトコルを使用することです。この章では、このような通信プロトコルの2つであるSecure Sockets Layer(SSL)とTransport Layer Security(TLS)について説明します。これらのプロトコルは両方ともトランスポート層で機能します。
TELNETを置き換えるように設計された別のトランスポート層プロトコルであるSecureShell(SSH)は、リモートログオン機能の安全な手段を提供します。Secure CommandShellやSFTPなどのさまざまなサービスを提供できます。
トランスポート層セキュリティの採用には多くの利点があります。ただし、これらの層で設計されたセキュリティプロトコルは、TCPでのみ使用できます。これらは、UDPを使用して実装された通信のセキュリティを提供しません。
ネットワーク層のセキュリティ制御は、特にインターネットなどの共有ネットワーク上で通信を保護するために頻繁に使用されています。これは、多くのアプリケーションを変更せずに一度に保護できるためです。
前の章では、プライバシー、発信元認証、メッセージの整合性、否認防止などのセキュリティの基本原則を保証するネットワークセキュリティのために多くのリアルタイムセキュリティプロトコルが進化したことを説明しました。
これらのプロトコルのほとんどは、標準のインターネットプロトコルに固有のセキュリティの欠如を補うために、OSIプロトコルスタックの上位層に焦点を合わせたままでした。これらの方法は価値がありますが、どのアプリケーションでも簡単に一般化することはできません。たとえば、SSLは、HTTPやFTPなどのアプリケーションを保護するために特別に開発されました。ただし、安全な通信を必要とするアプリケーションは他にもいくつかあります。
この必要性から、IP層でセキュリティソリューションを開発し、すべての上位層プロトコルがそれを利用できるようにしました。1992年、インターネット技術特別調査委員会(IETF)は、標準の「IPsec」の定義を開始しました。
この章では、この非常に人気のあるプロトコルIPsecのセットを使用してネットワーク層でセキュリティを実現する方法について説明します。
ネットワーク層のセキュリティ
ネットワークセキュリティを提供するために開発されたスキームは、次の図に示すように、プロトコルスタックのあるレイヤーに実装する必要があります。
層 | 通信プロトコル | セキュリティプロトコル |
---|---|---|
アプリケーション層 | HTTP FTP SMTP | PGP。S / MIME、HTTPS |
トランスポート層 | TCP / UDP | SSL、TLS、SSH |
ネットワーク層 | IP | IPsec |
ネットワーク層でセキュリティを確保するために開発された一般的なフレームワークは、インターネットプロトコルセキュリティ(IPsec)です。
IPsecの機能
IPsecは、トランスポートプロトコルとしてTCPでのみ機能するようには設計されていません。これは、UDPだけでなく、ICMP、OSPFなどのIPを超える他のプロトコルでも機能します。
IPsecは、上位層のヘッダーを含む、IP層に提示されるパケット全体を保護します。
ポート番号を運ぶ上位層のヘッダーが非表示になっているため、トラフィック分析はより困難です。
IPsecは、アプリケーションプロセスからアプリケーションプロセスへではなく、あるネットワークエンティティから別のネットワークエンティティへと機能します。したがって、個々のユーザーのコンピューター/アプリケーションを変更することなく、セキュリティを採用できます。
ネットワークエンティティ間の安全な通信を提供するために広く使用されているIPsecは、ホスト間のセキュリティも提供できます。
IPsecの最も一般的な使用法は、2つの場所(ゲートウェイからゲートウェイ)間、またはリモートユーザーとエンタープライズネットワーク(ホストからゲートウェイ)のいずれかに仮想プライベートネットワーク(VPN)を提供することです。
セキュリティ機能
IPsecが提供する重要なセキュリティ機能は次のとおりです。
守秘義務
通信ノードがメッセージを暗号化できるようにします。
第三者による盗聴を防ぎます。
オリジン認証とデータ整合性。
受信したパケットが、パケットヘッダーで送信元として識別されたパーティによって実際に送信されたことを保証します。
パケットが変更されていないことを確認します。
キー管理。
キーの安全な交換を可能にします。
リプレイ攻撃など、特定の種類のセキュリティ攻撃に対する保護。
仮想プライベートネットワーク
理想的には、どの機関もセキュリティを確保するために通信用の独自のプライベートネットワークを必要とします。ただし、地理的に分散したエリアにこのようなプライベートネットワークを確立して維持するには、非常にコストがかかる場合があります。通信リンク、ルーター、DNSなどの複雑なインフラストラクチャを管理する必要があります。
IPsecは、そのような機関に仮想プライベートネットワーク(VPN)を実装するための簡単なメカニズムを提供します。VPNテクノロジーを使用すると、公共のインターネットに入る前にトラフィックを暗号化し、他のトラフィックから論理的に分離することで、機関のオフィス間トラフィックを公共のインターネット経由で送信できます。VPNの簡略化された動作を次の図に示します-
IPsecの概要
IPsecは、IP層でセキュリティを提供するためのフレームワーク/プロトコルスイートです。
原点
1990年代初頭、インターネットは、主に学術目的で、いくつかの機関で使用されていました。しかし、その後の数十年で、ネットワークの拡大と通信やその他の目的でインターネットを使用するいくつかの組織により、インターネットの成長は指数関数的になりました。
インターネットの大規模な成長と、TCP / IPプロトコルに固有のセキュリティの弱点が相まって、インターネット上でネットワークセキュリティを提供できるテクノロジの必要性が感じられました。「インターネットアーキテクチャのセキュリティ」というタイトルのレポートは、1994年にインターネットアーキテクチャ委員会(IAB)によって発行されました。これは、セキュリティメカニズムの主要な領域を特定しました。
IABには、次世代IPであるIPv6の重要なセキュリティ機能として認証と暗号化が含まれていました。幸い、これらのセキュリティ機能は、現在のIPv4と将来のIPv6の両方で実装できるように定義されています。
セキュリティフレームワークであるIPsecは、いくつかの「Requests forcomments」(RFC)で定義されています。一部のRFCはプロトコルの一部を指定しますが、他のRFCはソリューション全体を扱います。
IPsec内の操作
IPsecスイートは、同時に実行すると2つの別個の操作を持ち、セキュリティサービスの完全なセットを提供すると見なすことができます。これらの2つの操作は、IPsec通信とインターネットキー交換です。
IPsec通信
通常、標準のIPsec機能に関連付けられています。これには、IPデータグラムのカプセル化、暗号化、ハッシュ化、およびすべてのパケットプロセスの処理が含まれます。
通信当事者間で確立された利用可能なセキュリティアソシエーション(SA)に従って通信を管理する責任があります。
認証ヘッダー(AH)やカプセル化SP(ESP)などのセキュリティプロトコルを使用します。
IPsec通信は、キーの作成やその管理には関与しません。
IPsec通信操作自体は、一般にIPsecと呼ばれます。
インターネットキーエクスチェンジ(IKE)
IKEは、IPsecに使用される自動キー管理プロトコルです。
技術的には、キー管理はIPsec通信に必須ではなく、キーは手動で管理できます。ただし、手動のキー管理は大規模なネットワークには望ましくありません。
IKEは、IPsecのキーの作成と、キー確立プロセス中の認証の提供を担当します。IPsecは他のキー管理プロトコルに使用できますが、デフォルトではIKEが使用されます。
IKEは、すでに定義されているキー管理フレームワークであるインターネットセキュリティアソシエーションキー管理プロトコル(ISAKMP)で使用される2つのプロトコル(OakleyとSKEME)を定義しています。
ISAKMPはIPsec固有ではありませんが、任意のプロトコルのSAを作成するためのフレームワークを提供します。
この章では、主に、セキュリティを実現するために採用されているIPsec通信と関連プロトコルについて説明します。
IPsec通信モード
IPsec通信には、2つの機能モードがあります。トランスポートモードとトンネルモード。これらのモードは、必要な通信のタイプに応じて、組み合わせて使用することも、個別に使用することもできます。
輸送モード
IPsecは、上位層から受信したパケットをカプセル化しません。
元のIPヘッダーは維持され、データは上位層プロトコルによって設定された元の属性に基づいて転送されます。
次の図は、プロトコルスタックのデータフローを示しています。
トランスポートモードの制限は、ゲートウェイサービスを提供できないことです。次の図に示すように、ポイントツーポイント通信用に予約されています。
トンネルモード
このモードのIPsecは、他のセキュリティサービスとともにカプセル化サービスを提供します。
トンネルモードの操作では、セキュリティプロトコルを適用する前に、上位層からのパケット全体がカプセル化されます。新しいIPヘッダーが追加されました。
次の図は、プロトコルスタックのデータフローを示しています。
トンネルモードは通常、ゲートウェイアクティビティに関連付けられています。カプセル化は、単一のゲートウェイを介して複数のセッションを送信する機能を提供します。
一般的なトンネルモード通信は、次の図に示すとおりです。
エンドポイントに関する限り、それらは直接トランスポート層接続を持っています。ゲートウェイに転送された1つのシステムからのデータグラムはカプセル化されてから、リモートゲートウェイに転送されます。リモートに関連付けられたゲートウェイは、データのカプセル化を解除し、内部ネットワーク上の宛先エンドポイントに転送します。
IPsecを使用すると、ゲートウェイと個々のエンドシステムの間でもトンネリングモードを確立できます。
IPsecプロトコル
IPsecは、セキュリティプロトコルを使用して、必要なセキュリティサービスを提供します。これらのプロトコルはIPsec操作の中心であり、他のすべてはIPsecでこれらのプロトコルをサポートするように設計されています。
通信エンティティ間のセキュリティアソシエーションは、使用されるセキュリティプロトコルによって確立および維持されます。
IPsecで定義されているセキュリティプロトコルには、認証ヘッダー(AH)とカプセル化セキュリティペイロード(ESP)の2つがあります。
認証ヘッダー
AHプロトコルは、データの整合性と発信元認証のサービスを提供します。オプションで、メッセージの再生抵抗に対応します。ただし、いかなる形式の機密性も提供しません。
AHは、ヘッダーを追加することにより、データグラムの内容の全部または一部の認証を提供するプロトコルです。ヘッダーは、データグラムの値に基づいて計算されます。データグラムのどの部分が計算に使用され、ヘッダーをどこに配置するかは、モードの連携(トンネルまたはトランスポート)によって異なります。
AHプロトコルの操作は驚くほど簡単です。これは、チェックサムの計算やエラー検出のためのCRCチェックの実行に使用されるアルゴリズムと同様と見なすことができます。
AHの背後にある概念は同じですが、AHは単純なアルゴリズムを使用する代わりに、特別なハッシュアルゴリズムと通信側だけが知っている秘密鍵を使用する点が異なります。これらの詳細を指定する2つのデバイス間のセキュリティアソシエーションが設定されます。
AHのプロセスは、次のフェーズを経ます。
IPパケットが上位プロトコルスタックから受信されると、IPsecは、パケット内の利用可能な情報から関連するセキュリティアソシエーション(SA)を決定します。たとえば、IPアドレス(送信元と宛先)。
SAから、セキュリティプロトコルがAHであることが識別されると、AHヘッダーのパラメータが計算されます。AHヘッダーは、次のパラメーターで構成されます-
ヘッダーフィールドは、AHヘッダーに続くパケットのプロトコルを指定します。シーケンスパラメータインデックス(SPI)は、通信当事者間に存在するSAから取得されます。
シーケンス番号が計算され、挿入されます。これらの番号は、リプレイ攻撃に抵抗するためのオプション機能をAHに提供します。
認証データの計算方法は、通信モードによって異なります。
トランスポートモードでの認証データの計算と送信用の最終IPパケットの組み立てを次の図に示します。元のIPヘッダーでは、AHの指定されたアプリケーションに対して、プロトコル番号51のみが変更されています。
トンネルモードでは、次の図に示すように、上記のプロセスが実行されます。
カプセル化セキュリティプロトコル(ESP)
ESPは、機密性、整合性、発信元認証、オプションの再生抵抗などのセキュリティサービスを提供します。提供されるサービスのセットは、セキュリティアソシエーション(SA)の設立時に選択されたオプションによって異なります。
ESPでは、暗号化とオーセンティケーターの生成に使用されるアルゴリズムは、SAの作成に使用される属性によって決定されます。
ESPのプロセスは次のとおりです。最初の2つのステップは、上記のAHのプロセスと同様です。
ESPが関与していると判断されると、ESPパケットのフィールドが計算されます。ESPフィールドの配置を次の図に示します。
トランスポートモードでの暗号化と認証のプロセスを次の図に示します。
トンネルモードの場合、暗号化と認証のプロセスは次の図のようになります。
認証と機密性はESPが提供する主要なサービスですが、どちらもオプションです。技術的には、認証なしでNULL暗号化を使用できます。ただし、実際には、ESPを効果的に使用するには、2つのうちの1つを実装する必要があります。
基本的な概念は、認証と暗号化が必要な場合はESPを使用し、暗号化なしの拡張認証が必要な場合はAHを使用することです。
IPsecのセキュリティアソシエーション
セキュリティアソシエーション(SA)は、IPsec通信の基盤です。SAの特徴は次のとおりです。
データを送信する前に、送信エンティティと受信エンティティの間に「セキュリティアソシエーション(SA)」と呼ばれる仮想接続が確立されます。
IPsecは、ネットワークの暗号化と認証を実行するための多くのオプションを提供します。各IPsec接続は、暗号化、整合性、信頼性、または3つすべてのサービスを提供できます。セキュリティサービスが決定されると、2つのIPsecピアエンティティは、使用するアルゴリズムを正確に決定する必要があります(たとえば、暗号化の場合はDESまたは3DES、整合性の場合はMD5またはSHA-1)。アルゴリズムを決定した後、2つのデバイスはセッションキーを共有する必要があります。
SAは、IPsecセッションを構築するための2つ以上のシステム間の関係を提供する上記の通信パラメーターのセットです。
SAは本質的に単純であるため、双方向通信には2つのSAが必要です。
SAは、セキュリティプロトコルヘッダーに存在するセキュリティパラメータインデックス(SPI)番号によって識別されます。
送信エンティティと受信エンティティの両方が、SAに関する状態情報を維持します。これは、状態情報も保持するTCPエンドポイントに似ています。IPsecは、TCPのようにコネクション型です。
SAのパラメータ
SAは、次の3つのパラメータによって一意に識別されます-
セキュリティパラメータインデックス(SPI)。
SAに割り当てられた32ビット値です。これは、同じ宛先で終了し、同じIPsecプロトコルを使用する異なるSAを区別するために使用されます。
IPsecのすべてのパケットは、SPIフィールドを含むヘッダーを伝送します。SPIは、着信パケットをSAにマッピングするために提供されています。
SPIは、受信者に対してSAを識別するために送信者によって生成される乱数です。
Destination IP Address −エンドルーターのIPアドレスにすることができます。
Security Protocol Identifier −関連付けがAHであるかESPSAであるかを示します。
次の図に、IPsec通信に関与する2つのルーター間のSAの例を示します。
セキュリティ管理データベース
IPsecには、IPsecデータグラムの処理を制御する2つのデータベースがあります。1つはセキュリティアソシエーションデータベース(SAD)で、もう1つはセキュリティポリシーデータベース(SPD)です。IPsecを使用する各通信エンドポイントには、論理的に分離されたSADとSPDが必要です。
セキュリティアソシエーションデータベース
IPsec通信では、エンドポイントはセキュリティアソシエーションデータベース(SAD)でSA状態を保持します。SADデータベースの各SAエントリには、次の表に示すように9つのパラメータが含まれています。
シニア番号 | パラメータと説明 |
---|---|
1 | Sequence Number Counter アウトバウンド通信用。これは、AHまたはESPヘッダーで提供される32ビットのシーケンス番号です。 |
2 | Sequence Number Overflow Counter オプションフラグを設定して、特定のSAを利用したそれ以上の通信を防止します |
3 | 32-bit anti-replay window インバウンドAHまたはESPパケットがリプレイであるかどうかを判別するために使用されます |
4 | Lifetime of the SA SAがアクティブのままになるまでの時間 |
5 | Algorithm - AH AHおよび関連するキーで使用されます |
6 | Algorithm - ESP Auth ESPヘッダーの認証部分で使用されます |
7 | Algorithm - ESP Encryption ESPとそれに関連するキー情報の暗号化に使用されます |
8 | IPsec mode of operation トランスポートまたはトンネルモード |
9 | Path MTU(PMTU) 観測されたパスの最大伝送ユニット(断片化を回避するため) |
SAD内のすべてのSAエントリは、宛先IPアドレス、セキュリティプロトコル識別子、およびSPIの3つのSAパラメータによってインデックスが付けられます。
セキュリティポリシーデータベース
SPDは、発信パケットの処理に使用されます。どのSADエントリを使用するかを決定するのに役立ちます。SADエントリが存在しない場合は、SPDを使用して新しいエントリを作成します。
すべてのSPDエントリには-が含まれます
SADで開催されたアクティブSAへのポインタ。
セレクタフィールド–IPsecの適用を決定するために使用される上位層からの着信パケットのフィールド。セレクターには、送信元アドレスと宛先アドレス、関連する場合はポート番号、アプリケーションID、プロトコルなどを含めることができます。
送信IPデータグラムは、SPDエントリから特定のSAに移動して、エンコーディングパラメータを取得します。着信IPsecデータグラムは、SPI / DEST IP /プロトコルトリプルを使用して直接正しいSAに到達し、そこから関連するSADエントリを抽出します。
SPDは、IPsecをバイパスする必要があるトラフィックを指定することもできます。SPDは、決定されたアクションがSAプロセスのアクティブ化であるパケットフィルターと見なすことができます。
概要
IPsecは、ネットワーク接続を保護するための一連のプロトコルです。これはかなり複雑なメカニズムです。特定の暗号化アルゴリズムと認証機能を簡単に定義するのではなく、通信側の両方が合意したものを実装できるフレームワークを提供するからです。
認証ヘッダー(AH)とカプセル化セキュリティペイロード(ESP)は、IPsecで使用される2つの主要な通信プロトコルです。AHは認証のみを行いますが、ESPは接続を介して送信されるデータを暗号化および認証できます。
トランスポートモードは、IPヘッダーを変更せずに、2つのエンドポイント間の安全な接続を提供します。トンネルモードは、ペイロードIPパケット全体をカプセル化します。新しいIPヘッダーを追加します。後者は、信頼できないインターネットを介して仮想の安全なトンネルを提供するため、従来のVPNを形成するために使用されます。
IPsec接続の設定には、あらゆる種類の暗号の選択が含まれます。認証は通常、MD5やSHA-1などの暗号化ハッシュの上に構築されます。暗号化アルゴリズムは、DES、3DES、Blowfish、およびAESが一般的です。他のアルゴリズムも可能です。
通信する両方のエンドポイントは、ハッシュまたは暗号化で使用される秘密の値を知っている必要があります。手動キーでは、両端に秘密値を手動で入力する必要があります。これは、おそらく何らかの帯域外メカニズムによって伝達されます。IKE(Internet Key Exchange)は、これをオンラインで行うための高度なメカニズムです。
インターネットの急速な成長により、ネットワークセキュリティに対する大きな懸念が生じていることがわかりました。ネットワークのアプリケーション、トランスポート、またはネットワーク層にセキュリティを提供するために、いくつかの方法が開発されています。
多くの組織は、アプリケーション層からIP層に至るまで、上位のOSI層にセキュリティ対策を組み込んでいます。ただし、一般的に放置されている領域の1つは、データリンク層の強化です。これにより、ネットワークがさまざまな攻撃や侵害にさらされる可能性があります。
この章では、データリンク層のセキュリティ問題とそれに対処する方法について説明します。私たちの議論はイーサネットネットワークに焦点を合わせます。
データリンク層のセキュリティ上の懸念
イーサネットネットワークのデータリンク層は、いくつかの攻撃を受けやすい傾向があります。最も一般的な攻撃は次のとおりです。
ARPスプーフィング
アドレス解決プロトコル(ARP)は、IPアドレスをローカルイーサネットで認識可能な物理マシンアドレスにマップするために使用されるプロトコルです。ホストマシンがIPアドレスの物理メディアアクセス制御(MAC)アドレスを見つける必要がある場合、ホストマシンはARP要求をブロードキャストします。IPアドレスを所有する他のホストは、その物理アドレスを含むARP応答メッセージを送信します。
ネットワーク上の各ホストマシンは、「ARPキャッシュ」と呼ばれるテーブルを維持します。このテーブルには、ネットワーク上の他のホストのIPアドレスと関連するMACアドレスが保持されます。
ARPはステートレスプロトコルであるため、ホストが別のホストからARP応答を受信するたびに、ARP要求を送信していなくても、そのARPエントリを受け入れ、ARPキャッシュを更新します。ARPポイズニングまたはARPスプーフィングと呼ばれる偽造されたエントリを使用してターゲットホストのARPキャッシュを変更するプロセス。
ARPスプーフィングにより、攻撃者は正当なホストになりすまして、ネットワーク上のデータフレームを傍受し、変更または停止する可能性があります。多くの場合、この攻撃は、man-in-the-middle、セッションハイジャック、サービス拒否などの他の攻撃を開始するために使用されます。
MACフラッディング
イーサネット内のすべてのスイッチには、MACアドレス、スイッチポート番号、およびその他の情報を格納する連想メモリ(CAM)テーブルがあります。テーブルのサイズは固定されています。MACフラッディング攻撃では、攻撃者はCAMテーブルがいっぱいになるまで、偽造されたARPパケットを使用してスイッチにMACアドレスをフラッディングします。
CAMがフラッディングされると、スイッチはハブのようなモードになり、CAMエントリのないトラフィックのブロードキャストを開始します。同じネットワーク上にいる攻撃者は、特定のホストのみを対象としたすべてのフレームを受信するようになりました。
ポートスティーリング
イーサネットスイッチには、MACアドレスを学習してポートにバインドする機能があります。スイッチは、MAC送信元アドレスを持つポートからトラフィックを受信すると、ポート番号とそのMACアドレスをバインドします。
ポートスティーリング攻撃は、スイッチのこの機能を悪用します。攻撃者は、ターゲットホストのMACアドレスを送信元アドレスとして使用して、偽造されたARPフレームでスイッチをフラッディングします。スイッチは、ターゲットホストが実際に攻撃者が接続されているポート上にあると信じて騙されます。
これで、ターゲットホスト向けのすべてのデータフレームが、ターゲットホストではなく、攻撃者のスイッチポートに送信されます。したがって、攻撃者は、実際にはターゲットホストのみを対象としたすべてのフレームを受信するようになりました。
DHCP攻撃
動的ホスト構成プロトコル(DHCP)はデータリンクプロトコルではありませんが、DHCP攻撃のソリューションは、レイヤー2攻撃を阻止するのにも役立ちます。
DHCPは、特定の期間、コンピューターにIPアドレスを動的に割り当てるために使用されます。ネットワークでサービス拒否を引き起こすか、DHCPサーバーになりすますことにより、DHCPサーバーを攻撃する可能性があります。DHCP飢餓攻撃では、攻撃者は利用可能なすべてのDHCPアドレスを要求します。これにより、ネットワーク上の正当なホストへのサービス拒否が発生します。
DHCPスプーフィング攻撃では、攻撃者は不正なDHCPサーバーを展開して、クライアントにアドレスを提供する可能性があります。ここで、攻撃者はホストマシンにDHCP応答を備えたルージュなデフォルトゲートウェイを提供できます。ホストからのデータフレームは、攻撃者がすべてのパッケージを傍受して実際のゲートウェイに応答したり、ドロップしたりできるルージュゲートウェイに誘導されるようになりました。
その他の攻撃
上記の一般的な攻撃に加えて、レイヤー2ベースのブロードキャスト、サービス拒否(DoS)、MACクローン作成などの他の攻撃があります。
ブロードキャスト攻撃では、攻撃者はスプーフィングされたARP応答をネットワーク上のホストに送信します。これらのARP応答は、デフォルトゲートウェイのMACアドレスをブロードキャストアドレスに設定します。これにより、すべてのアウトバウンドトラフィックがブロードキャストされ、同じイーサネット上にいる攻撃者によるスニッフィングが可能になります。このタイプの攻撃は、ネットワーク容量にも影響します。
レイヤー2ベースのDoS攻撃では、攻撃者はネットワーク内のホストのARPキャッシュを存在しないMACアドレスで更新します。ネットワーク内の各ネットワークインターフェイスカードのMACアドレスは、グローバルに一意であると想定されています。ただし、MACクローンを有効にすることで簡単に変更できます。攻撃者は、DoS攻撃によってターゲットホストを無効にし、ターゲットホストのIPアドレスとMACアドレスを使用します。
攻撃者は、ネットワーク上を移動する情報のセキュリティを危険にさらすために、攻撃を実行してより高いレベルの攻撃を開始します。彼はすべてのフレームを傍受でき、フレームデータを読み取ることができます。攻撃者は中間者として行動し、データを変更したり、単にDoSにつながるフレームをドロップしたりする可能性があります。彼は、ターゲットホストと他のマシンの間で進行中のセッションを乗っ取って、間違った情報を完全に伝達する可能性があります。
イーサネットLANの保護
前のセクションで、データリンク層で広く知られている攻撃について説明しました。これらのタイプの攻撃を軽減するために、いくつかの方法が開発されています。重要な方法のいくつかは次のとおりです。
ポートセキュリティ
これは、インテリジェントイーサネットスイッチで利用可能なレイヤー2セキュリティ機能です。これには、スイッチの物理ポートを特定のMACアドレスに接続することが含まれます。ホストを使用可能なスイッチポートの1つに接続するだけで、誰でも安全でないネットワークにアクセスできます。ただし、ポートセキュリティはレイヤ2アクセスを保護できます。
デフォルトでは、ポートセキュリティは入力MACアドレス数を1に制限します。ただし、設定を通じて、複数の許可されたホストがそのポートから接続できるようにすることができます。インターフェイスごとに許可されるMACアドレスは静的に設定できます。便利な代替手段は、「スティッキー」MACアドレス学習を有効にすることです。この場合、MACアドレスは、ポートの最大制限に達するまでスイッチポートによって動的に学習されます。
セキュリティを確保するために、ポート上の指定されたMACアドレスまたはポート上の過剰なアドレスの変更に対する反応をさまざまな方法で制御できます。ポートは、指定された制限を超えるMACアドレスをシャットダウンまたはブロックするように構成できます。推奨されるベストプラクティスは、ポートをシャットダウンすることです。ポートセキュリティは、MACフラッディングとクローン攻撃を防ぎます。
DHCPスヌーピング
DHCPスプーフィングは、攻撃者がネットワーク上のホストからのDHCP要求をリッスンし、許可されたDHCP応答がホストに到達する前に偽のDHCP応答で応答する攻撃であることがわかりました。
DHCPスヌーピングは、このような攻撃を防ぐことができます。DHCPスヌーピングはスイッチ機能です。スイッチは、DHCP要求に応答できるスイッチポートを決定するように構成できます。スイッチポートは、信頼できるポートまたは信頼できないポートとして識別されます。
承認されたDHCPサーバーに接続するポートのみが「信頼済み」として構成され、すべてのタイプのDHCPメッセージの送信が許可されます。スイッチ上の他のすべてのポートは信頼されておらず、DHCP要求のみを送信できます。信頼できないポートでDHCP応答が見られる場合、ポートはシャットダウンされます。
ARPスプーフィングの防止
ポートセキュリティの方法は、MACフラッディングとクローン攻撃を防ぐことができます。ただし、ARPスプーフィングを防ぐことはできません。ポートセキュリティはフレームヘッダーのMAC送信元アドレスを検証しますが、ARPフレームにはデータペイロードに追加のMAC送信元フィールドが含まれ、ホストはこのフィールドを使用してARPキャッシュにデータを入力します。ARPスプーフィングを防止するためのいくつかの方法を以下に示します。
Static ARP−推奨されるアクションの1つは、ホストARPテーブルで静的ARPエントリを使用することです。静的ARPエントリは、ARPキャッシュ内の永続的なエントリです。ただし、この方法は実用的ではありません。また、レイヤー2ネットワーク内のすべてのホストに静的IPを使用する必要があるため、一部の動的ホスト構成プロトコル(DHCP)の使用は許可されていません。
Intrusion Detection System−防御の方法は、大量のARPトラフィックを検出するように構成された侵入検知システム(IDS)を利用することです。ただし、IDSは誤検知を報告する傾向があります。
Dynamic ARP Inspection− ARPスプーフィングを防止するこの方法は、DHCPスヌーピングに似ています。信頼できるポートと信頼できないポートを使用します。ARP応答は、信頼できるポートでのみスイッチインターフェイスに許可されます。ARP応答が信頼できないポートのスイッチに到着した場合、ARP応答パケットの内容がDHCPバインディングテーブルと比較され、その正確性が検証されます。ARP応答が無効な場合、ARP応答はドロップされ、ポートは無効になります。
スパニングツリープロトコルの保護
スパニングツリープロトコル(STP)は、レイヤー2リンク管理プロトコルです。STPの主な目的は、ネットワークに冗長パスがある場合にデータフローループが発生しないようにすることです。一般に、冗長パスはネットワークに信頼性を提供するために構築されます。ただし、致命的なループを形成し、ネットワークでDoS攻撃を引き起こす可能性があります。
スパニングツリープロトコル
必要なパスの冗長性を提供し、ループ状態を回避するために、STPはネットワーク内のすべてのスイッチにまたがるツリーを定義します。STPは、特定の冗長データリンクを強制的にブロック状態にし、他のリンクを転送状態に保ちます。
転送状態のリンクが故障した場合、STPはネットワークを再構成し、適切なスタンバイパスをアクティブ化してデータパスを再定義します。STPは、ネットワークに展開されたブリッジとスイッチで実行されます。すべてのスイッチは、ルートスイッチの選択とその後のネットワーク構成のために情報を交換します。Bridge Protocol Data Unit(BPDU)は、この情報を伝送します。BPDUの交換を通じて、ネットワーク内のすべてのスイッチは、ネットワーク内のフォーカルポイントになり、ブロックされ転送されたリンクを制御するルートブリッジ/スイッチを選択します。
STPへの攻撃
ルートブリッジを引き継ぐ。これは、レイヤー2で最も破壊的なタイプの攻撃の1つです。デフォルトでは、LANスイッチは隣接するスイッチから送信されたBPDUを額面どおりに受け取ります。ちなみに、STPは信頼性が高く、ステートレスであり、適切な認証メカニズムを提供していません。
ルートアタックモードになると、攻撃スイッチは2秒ごとにBPDUを送信します。優先度は現在のルートブリッジと同じですが、MACアドレスがわずかに小さいため、ルートブリッジの選出プロセスで確実に勝利します。攻撃者のスイッチは、BPDUフラッディングを引き起こしている他のスイッチを適切に認識しないか、一度にルートであると主張してすばやく連続してリトラクトすることにより、スイッチにBPDUを過剰に処理させることにより、DoS攻撃を開始できます。
Flood of ConfigurationBPDUを使用するDoS。攻撃側のスイッチは、rootとして引き継ぐことを試みません。代わりに、1秒あたり多数のBPDUを生成し、スイッチのCPU使用率を非常に高くします。
STPへの攻撃の防止
幸いなことに、ルート乗っ取り攻撃への対策は単純で簡単です。2つの機能は、ルート乗っ取り攻撃を打ち負かすのに役立ちます。
Root Guard−ルートガードは、ルートブリッジがネゴシエートされる可能性のあるスイッチポートを制限します。'root-guard-enabled'ポートが現在のルートブリッジが送信しているものよりも優れたBPDUを受信した場合、そのポートはルート不整合状態に移行し、データトラフィックはそのポートを介して転送されません。ルートガードは、ルートブリッジとして引き継ぐことが期待されていないスイッチに接続するポートに最適に展開されます。
BPDU-Guard− BPDUガードは、アクセスポートでのBPDUの受信によって引き起こされる可能性のある問題からネットワークを保護するために使用されます。これらは、それらを受信してはならないポートです。BPDUガードは、攻撃者による不正なスイッチの挿入を防ぐために、ユーザー向けのポートに最適に展開されます。
仮想LANの保護
ローカルネットワークでは、仮想ローカルエリアネットワーク(VLAN)が、レイヤー2攻撃の影響を受けやすいホストの数を制限するためのセキュリティ対策として構成されている場合があります。VLANは、ブロードキャスト(ARP、DHCP)トラフィックが通過できないネットワーク境界を作成します。
仮想ローカルエリアネットワーク
VLAN機能をサポートするスイッチを使用するネットワークは、単一の物理LANインフラストラクチャ上で複数のVLANを定義するように構成できます。
VLANの一般的な形式は、ポートベースのVLANです。このVLAN構造では、スイッチポートはスイッチ管理ソフトウェアを使用してVLANにグループ化されます。したがって、単一の物理スイッチが複数の仮想スイッチとして機能できます。
VLANを採用すると、トラフィックが分離されます。大規模なブロードキャストレイヤー2ネットワークを小規模な論理レイヤー2ネットワークに分割し、ARP / DHCPスプーフィングなどの攻撃の範囲を縮小します。1つのVLANのデータフレームは、同じVLANに属するポート間でのみ移動できます。2つのVLAN間でのフレーム転送は、ルーティングを介して行われます。
上の図に示すように、VLANは通常複数のスイッチにまたがっています。トランクポート間のリンクは、複数の物理スイッチで定義されたすべてのVLANのフレームを伝送します。したがって、スイッチ間で転送されるVLANフレームは、単純なIEEE802.1イーサネット形式のフレームにすることはできません。これらのフレームは同じ物理リンク上を移動するため、VLANID情報を伝送する必要があります。IEEE 802.1Qプロトコルは、トランクポート間で転送されるプレーンイーサネットフレームに追加のヘッダーフィールドを追加/削除します。
2つのIPアドレスフィールドに続くフィールドが0x8100(> 1500)の場合、フレームは802.1Qフレームとして識別されます。2バイトのタグプロトコル識別子(TPI)の値は81-00です。TCIフィールドは、3ビットの優先度情報、1ビットのドロップ適格インジケータ(DEI)、および12ビットのVLANIDで構成されます。この3ビットの優先度フィールドとDEIフィールドはVLANには関係ありません。優先ビットは、サービス品質の提供に使用されます。
フレームがどのVLANにも属していない場合、フレームが関連付けられていると見なされるデフォルトのVLANIDがあります。
VLANへの攻撃と防止策
VLANホッピング攻撃では、あるVLANの攻撃者が、通常はアクセスできない他のVLANのトラフィックにアクセスする可能性があります。あるVLANから別のVLANに通信するときに、レイヤー3デバイス(ルーター)をバイパスするため、VLAN作成の目的が損なわれます。
VLANホッピングは、2つの方法で実行できます。なりすましと二重タグ付けを切り替えます。
なりすましの切り替え
これは、攻撃者が接続しているスイッチポートが「トランキング」モードまたは「自動ネゴシエーション」モードのいずれかである場合に発生する可能性があります。攻撃者はスイッチとして機能し、ターゲットリモートVLANのVLANタグを含む802.1Qカプセル化ヘッダーを発信フレームに追加します。受信スイッチは、これらのフレームを別の802.1Qスイッチから送信されたものとして解釈し、フレームをターゲットVLANに転送します。
スイッチスプーフィング攻撃に対する2つの予防策は、エッジポートを静的アクセスモードに設定することと、すべてのポートで自動ネゴシエーションを無効にすることです。
二重タグ付け
この攻撃では、スイッチのネイティブVLANポートに接続している攻撃者が、フレームヘッダーに2つのVLANタグを付加します。最初のタグはネイティブVLANのもので、2番目のタグはターゲットVLAN用です。最初のスイッチが攻撃者のフレームを受信すると、ネイティブVLANのフレームがトランクポートにタグなしで転送されるため、最初のタグが削除されます。
2番目のタグが最初のスイッチによって削除されることはなかったため、受信スイッチは残りのタグをVLAN宛先として識別し、そのVLAN内のターゲットホストにフレームを転送します。ダブルタギング攻撃は、ネイティブVLANの概念を悪用します。VLAN 1はアクセスポートのデフォルトVLANであり、トランクのデフォルトネイティブVLANであるため、簡単にターゲットにできます。
最初の防止策は、攻撃者のポートがスイッチのネイティブVLANのポートと一致する必要があるため、デフォルトのVLAN1からすべてのアクセスポートを削除することです。2番目の防止策は、すべてのスイッチトランクのネイティブVLANを未使用のVLAN(VLAN ID 999など)に割り当てることです。最後に、すべてのスイッチは、トランクポートのネイティブVLANフレームの明示的なタグ付けを実行するように構成されます。
無線LANの保護
ワイヤレスローカルエリアネットワークは、オフィスビルや学校のキャンパスなど、限られた地理的エリア内のワイヤレスノードのネットワークです。ノードは無線通信が可能です。
無線LAN
無線LANは通常、既存の有線LANの拡張として実装され、デバイスモビリティを備えたネットワークアクセスを提供します。最も広く実装されている無線LANテクノロジーは、IEEE802.11標準とその修正に基づいています。
無線LANの2つの主要なコンポーネントは次のとおりです。
Access Points (APs)−これらは無線ネットワークの基地局です。それらは無線クライアントと通信するために無線周波数を送受信します。
Wireless Clients−これらは、ワイヤレスネットワークインターフェイスカード(WNIC)を備えたコンピューティングデバイスです。ラップトップ、IP電話、PDAは、ワイヤレスクライアントの典型的な例です。
多くの組織が無線LANを実装しています。これらのネットワークは驚異的に成長しています。したがって、無線LANの脅威を理解し、ネットワークセキュリティを確保するための一般的な予防策を学ぶことが重要です。
無線LANでの攻撃
無線LANで実行される典型的な攻撃は次のとおりです。
Eavesdropping −攻撃者は、認証資格情報を含むデータについてワイヤレスネットワークを受動的に監視します。
Masquerading −攻撃者は、許可されたユーザーになりすまして、ワイヤレスネットワークへのアクセスと特権を取得します。
Traffic Analysis −攻撃者は、ワイヤレスネットワークを介した送信を監視して、通信パターンと参加者を特定します。
Denial of Service −攻撃者は、無線LANまたはネットワークデバイスの通常の使用または管理を防止または制限します。
Message Modification/Replay −攻撃者は、ワイヤレスネットワークを介して送信された正当なメッセージを削除、追加、変更、または並べ替えることにより、メッセージを変更または返信します。
無線LANのセキュリティ対策
セキュリティ対策は、攻撃を打ち負かし、ネットワークへのリスクを管理する手段を提供します。これらは、ネットワーク管理、運用、および技術的対策です。以下に、無線LANを介して送信されるデータの機密性、可用性、および整合性を確保するために採用された技術的対策について説明します。
無線LANでは、すべてのAPは、暗号化とクライアント認証を通じてセキュリティを提供するように構成する必要があります。セキュリティを提供するために無線LANで使用されるスキームのタイプは次のとおりです。
Wired Equivalent Privacy(WEP)
これは、ワイヤレスネットワークを保護するために802.11標準に組み込まれている暗号化アルゴリズムです。WEP暗号化は、40ビット/ 104ビットキーと24ビット初期化ベクトルを備えたRC4(Rivest Cipher 4)ストリーム暗号を使用します。また、エンドポイント認証を提供することもできます。
ただし、WEP暗号化には多くの欠陥が発見されているため、これは最も弱い暗号化セキュリティメカニズムです。WEPにも認証プロトコルがありません。したがって、WEPの使用は強くお勧めしません。
802.11iプロトコル
このプロトコルでは、多数のより強力な形式の暗号化が可能です。弱いWEPスキームを置き換えるために開発されました。キー配布メカニズムを提供します。ステーションごとに1つのキーをサポートし、すべてに同じキーを使用するわけではありません。アクセスポイントとは別の認証サーバーを使用します。
IEEE802.11iは、CBC-MACプロトコル(CCMP)でのカウンターモードという名前のプロトコルの使用を義務付けています。CCMPは、転送されるデータの機密性と整合性、および送信者の信頼性を提供します。これは、Advanced Encryption Standard(AES)ブロック暗号に基づいています。
IEEE802.11iプロトコルには、4つの動作フェーズがあります。
STAとAPは通信し、サポートされているアルゴリズムなどの相互セキュリティ機能を検出します。
STAとASは相互に認証し、一緒にマスターキー(MK)を生成します。APは「パススルー」として機能します。
STAはペアワイズマスターキー(PMK)を取得します。ASは同じPMKを導出し、APに送信します。
STA、APは、PMKを使用して、メッセージの暗号化とデータの整合性に使用される一時キー(TK)を導出します。
その他の基準
Wi-Fi Protected Access(WPA)-このプロトコルは、IEEE802.11i規格の大部分を実装しています。IEEE 802.11iより前に存在し、暗号化にRC4アルゴリズムを使用します。2つの動作モードがあります。「エンタープライズ」モードでは、WPAは認証プロトコル802.1xを使用して認証サーバーと通信するため、プリマスターキー(PMK)はクライアントステーションに固有です。「パーソナル」モードでは、802.1xを使用せず、PMKは、スモールオフィスホームオフィス(SOHO)ワイヤレスLAN環境で使用される事前共有キーに置き換えられます。
WPAには、WEP標準で使用されていた巡回冗長検査(CRC)に代わるサウンドメッセージの整合性チェックも含まれています。
WPA2−WPA2がWPAに取って代わりました。WPA2は、IEEE802.11iスキームのすべての必須要素を実装します。特に、強力なセキュリティを備えたAESベースの暗号化モードであるCCMPの必須サポートが含まれています。したがって、攻撃に関する限り、WPA2 / IEEE802.11iは、WEPの弱点、man-in-the-middle攻撃、偽造パケット偽造、およびリプレイ攻撃から防御するための適切なソリューションを提供します。ただし、DoS攻撃は適切に対処されておらず、基本的にこのような攻撃は周波数帯域への干渉などの物理層を標的としているため、このような攻撃を阻止するための確実なプロトコルはありません。
概要
この章では、IPを実行するスイッチドイーサネットネットワークを想定した攻撃と軽減の手法について検討しました。ネットワークがイーサネットをレイヤー2プロトコルとして使用していない場合、これらの攻撃の一部は適用できない可能性がありますが、そのようなネットワークはさまざまなタイプの攻撃に対して脆弱である可能性があります。
セキュリティは、最も弱いリンクと同じくらい強力です。ネットワーキングに関しては、レイヤー2は非常に弱いリンクになる可能性があります。この章で説明するレイヤー2のセキュリティ対策は、さまざまな種類の攻撃からネットワークを保護するのに大いに役立ちます。
ネットワークアクセス制御は、組織のセキュリティポリシーに準拠するエンドポイントデバイスへのネットワークリソースの可用性を制限することにより、プライベート組織ネットワークのセキュリティを強化する方法です。一般的なネットワークアクセス制御スキームは、制限付きアクセスやネットワーク境界保護などの2つの主要なコンポーネントで構成されています。
ネットワークデバイスへの制限付きアクセスは、ネットワークシステムに対するさまざまなユーザーの識別と認証を担当するユーザー認証と承認制御によって実現されます。承認は、保護されたリソースへの特定のアクセス許可を付与または拒否するプロセスです。
Network Boundary Protectionネットワークに出入りする論理接続を制御します。たとえば、ネットワークシステムへの不正アクセスを防ぐために、複数のファイアウォールを展開できます。また、侵入検知および防止テクノロジーを導入して、インターネットからの攻撃を防ぐことができます。
この章では、ネットワークアクセスのユーザー識別と認証の方法に続いて、さまざまなタイプのファイアウォールと侵入検知システムについて説明します。
ネットワークデバイスへのアクセスの保護
ネットワーク上のデバイスへのアクセスを制限することは、ネットワークを保護するための非常に重要なステップです。ネットワークデバイスは通信とコンピューティング機器で構成されているため、これらを危険にさらすと、ネットワーク全体とそのリソースがダウンする可能性があります。
逆説的ですが、多くの組織はサーバーとアプリケーションに優れたセキュリティを確保していますが、通信ネットワークデバイスには基本的なセキュリティを残しています。
ネットワークデバイスのセキュリティの重要な側面は、アクセス制御と承認です。これら2つの要件に対応し、ネットワークセキュリティをより高いレベルに強化するために、多くのプロトコルが開発されています。
ユーザー認証と承認
ネットワークシステム、特にネットワークインフラストラクチャデバイスへのアクセスを制御するには、ユーザー認証が必要です。認証には、一般的なアクセス認証と機能認証の2つの側面があります。
一般アクセス認証は、特定のユーザーが接続しようとしているシステムへの「任意の」タイプのアクセス権を持っているかどうかを制御する方法です。通常、この種のアクセスは、そのシステムの「アカウント」を持つユーザーに関連付けられています。承認は、個々のユーザーの「権利」を扱います。たとえば、認証後にユーザーが何ができるかを決定します。ユーザーは、デバイスを構成するか、データのみを表示することを許可されている場合があります。
ユーザー認証は、彼が知っていること(パスワード)、持っていること(暗号トークン)、または彼が知っていること(生体認証)などの要因によって異なります。識別と認証に複数の要素を使用することで、多要素認証の基礎が提供されます。
パスワードベースの認証
少なくとも、すべてのネットワークデバイスはユーザー名とパスワードの認証を持っている必要があります。パスワードは重要です(少なくとも10文字、アルファベット、数字、記号が混在しています)。
ユーザーによるリモートアクセスの場合は、ユーザー名とパスワードがネットワークを介して平文で渡されないようにする方法を使用する必要があります。また、パスワードもある程度の頻度で変更する必要があります。
一元化された認証方法
個々のデバイスベースの認証システムは、基本的なアクセス制御手段を提供します。ただし、ネットワークに多数のデバイスがあり、多数のユーザーがこれらのデバイスにアクセスしている場合、集中認証方式の方が効果的かつ効率的であると見なされます。
従来、リモートネットワークアクセスで直面する問題を解決するために集中認証が使用されていました。リモートアクセスシステム(RAS)では、ネットワークデバイス上のユーザーの管理は実用的ではありません。すべてのユーザー情報をすべてのデバイスに配置し、その情報を最新の状態に保つことは、管理上の悪夢です。
RADIUSやKerberosなどの一元化された認証システムがこの問題を解決します。これらの一元化された方法により、ユーザー情報を1か所に保存および管理できます。これらのシステムは通常、MicrosoftのActiveDirectoryやLDAPディレクトリなどの他のユーザーアカウント管理スキームとシームレスに統合できます。ほとんどのRADIUSサーバーは、通常のRADIUSプロトコルで他のネットワークデバイスと通信し、ディレクトリに保存されているアカウント情報に安全にアクセスできます。
たとえば、Microsoftのインターネット認証サーバー(IAS)は、RADIUSとActive Directoryをブリッジして、デバイスのユーザーに一元化された認証を提供します。また、ユーザーアカウント情報がMicrosoftドメインアカウントと統合されていることを確認します。上の図は、ネットワーク要素がActiveDirectoryドメインに対して認証するためにActiveDirectoryサーバーとRADIUSサーバーの両方として動作するWindowsドメインコントローラーを示しています。
アクセス制御リスト
多くのネットワークデバイスは、アクセスリストを使用して構成できます。これらのリストは、デバイスへのアクセスが許可されているホスト名またはIPアドレスを定義します。たとえば、ネットワーク管理者を除いて、IPからネットワーク機器へのアクセスを制限するのが一般的です。
これにより、許可されていない可能性のあるあらゆるタイプのアクセスから保護されます。これらのタイプのアクセスリストは重要な最後の防御として機能し、さまざまなアクセスプロトコルに対してさまざまなルールを持つ一部のデバイスで非常に強力になる可能性があります。
ほぼすべての中規模および大規模の組織がインターネット上に存在し、それに接続された組織ネットワークを持っています。ネットワークセキュリティには、外部インターネットと内部ネットワークの境界でのネットワーク分割が不可欠です。内部ネットワーク(イントラネット)は「信頼できる」側と呼ばれ、外部インターネットは「信頼できない」側と呼ばれることがあります。
ファイアウォールの種類
ファイアウォールは、組織の内部ネットワークをより大きな外部ネットワーク/インターネットから分離するネットワークデバイスです。これは、内部ネットワークへの不正アクセスまたは内部ネットワークからの不正アクセスを防止するハードウェア、ソフトウェア、または複合システムの場合があります。
内部ネットワークに出入りするすべてのデータパケットはファイアウォールを通過します。ファイアウォールは各パケットを調べて、指定されたセキュリティ基準を満たさないパケットをブロックします。
ネットワーク境界にファイアウォールを展開することは、セキュリティを一点に集約するようなものです。これは、必ずしも各ドアではなく、入り口でアパートをロックすることに似ています。
ファイアウォールは、次の理由から、ネットワークセキュリティを実現するために不可欠な要素と見なされています。
内部ネットワークとホストが適切に保護されていない可能性があります。
インターネットは、犯罪者、競合企業のユーザー、不満を抱いた元従業員、友好的でない国のスパイ、破壊者などにとって危険な場所です。
攻撃者がネットワークリソースに対してサービス拒否攻撃を仕掛けるのを防ぐため。
部外者の攻撃者による内部データへの違法な変更/アクセスを防ぐため。
ファイアウォールは3つの基本的なタイプに分類されます-
- パケットフィルター(ステートレスおよびステートフル)
- アプリケーションレベルゲートウェイ
- サーキットレベルゲートウェイ
ただし、これら3つのカテゴリは相互に排他的ではありません。最新のファイアウォールには、3つのカテゴリの1つ以上に分類される可能性のある機能が混在しています。
ステートレスおよびステートフルパケットフィルタリングファイアウォール
このタイプのファイアウォール展開では、内部ネットワークはルーターファイアウォールを介して外部ネットワーク/インターネットに接続されます。ファイアウォールは、データをパケットごとに検査およびフィルタリングします。
Packet-filtering firewalls 主に送信元および/または宛先IPアドレス、プロトコル、送信元および/または宛先ポート番号、およびIPヘッダー内の他のさまざまなパラメーターなどの基準に基づいてパケットを許可またはブロックします。
決定は、ICMPメッセージタイプ、TCP SYN、ACKビットなどのIPヘッダーフィールド以外の要因に基づいて行うことができます。
パケットフィルタルールには2つの部分があります-
Selection criteria −意思決定のための条件およびパターンマッチングとして使用されます。
Action field−この部分は、IPパケットが選択基準を満たしている場合に実行するアクションを指定します。アクションは、ファイアウォールを通過するパケットをブロック(拒否)または許可(許可)することができます。
パケットフィルタリングは通常、ルーターまたはスイッチでアクセス制御リスト(ACL)を構成することによって実現されます。ACLは、パケットフィルタルールの表です。
トラフィックがインターフェイスに出入りするとき、ファイアウォールはACLを上から下に各着信パケットに適用し、一致する基準を見つけて、個々のパケットを許可または拒否します。
Stateless firewall一種の堅い道具です。パケットを調べて、確立された進行中の通信の一部でなくても、基準を満たしている場合はパケットを許可します。
したがって、そのようなファイアウォールはに置き換えられます stateful firewalls現代のネットワークでは。このタイプのファイアウォールは、ステートレスファイアウォールの唯一のACLベースのパケット検査方法よりも詳細な検査方法を提供します。
ステートフルファイアウォールは、接続のセットアップとティアダウンプロセスを監視して、TCP / IPレベルで接続をチェックし続けます。これにより、接続状態を追跡し、任意の時点で開いている許可された接続があるホストを判別できます。
これらは、新しい接続が要求された場合にのみルールベースを参照します。既存の接続に属するパケットは、ファイアウォールの開いている接続の状態テーブルと比較され、許可するかブロックするかが決定されます。このプロセスは時間を節約し、セキュリティも強化します。すでに確立された接続に属していない限り、パケットがファイアウォールを通過することは許可されていません。ファイアウォールで非アクティブな接続をタイムアウトでき、その後、その接続のパケットを許可しなくなります。
アプリケーションゲートウェイ
アプリケーションレベルゲートウェイは、アプリケーションレベルトラフィックのリレーノードとして機能します。着信パケットと発信パケットを傍受し、ゲートウェイを介して情報をコピーおよび転送するプロキシを実行し、proxy server、信頼できるサーバーまたはクライアントと信頼できないホスト間の直接接続を防止します。
プロキシはアプリケーション固有です。OSIモデルのアプリケーション層でパケットをフィルタリングできます。
アプリケーション固有のプロキシ
アプリケーション固有のプロキシは、コピー、転送、およびフィルタリングするように設計されている特定のアプリケーションによってのみ生成されたパケットを受け入れます。たとえば、Telnetプロキシのみが、Telnetトラフィックをコピー、転送、およびフィルタリングできます。
ネットワークがアプリケーションレベルゲートウェイのみに依存している場合、着信パケットと発信パケットは、プロキシが構成されていないサービスにアクセスできません。たとえば、ゲートウェイがFTPプロキシとTelnetプロキシを実行している場合、これらのサービスによって生成されたパケットのみがファイアウォールを通過できます。他のすべてのサービスはブロックされます。
アプリケーションレベルのフィルタリング
アプリケーションレベルのプロキシゲートウェイは、単にパケットをコピーしてゲートウェイを介して盲目的に転送するのではなく、個々のパケットを調べてフィルタリングします。アプリケーション固有のプロキシは、ゲートウェイを通過する各パケットをチェックし、アプリケーション層を通過するパケットの内容を確認します。これらのプロキシは、アプリケーションプロトコル内の特定の種類のコマンドまたは情報をフィルタリングできます。
アプリケーションゲートウェイは、特定のアクションの実行を制限できます。たとえば、ゲートウェイは、ユーザーが「FTPput」コマンドを実行できないように構成できます。これにより、攻撃者によるサーバーに保存されている情報の変更を防ぐことができます。
トランスペアレント
アプリケーションレベルゲートウェイは透過的である可能性がありますが、多くの実装では、ユーザーが信頼できないネットワークにアクセスする前にユーザー認証が必要です。これは、真の透過性を低下させるプロセスです。ユーザーが内部ネットワークまたはインターネットからの場合、認証は異なる場合があります。内部ネットワークの場合、IPアドレスの単純なリストで外部アプリケーションに接続できます。ただし、インターネット側からは、強力な認証を実装する必要があります。
アプリケーションゲートウェイは、実際には2つのTCP接続間で2つの方向のTCPセグメントを中継します(クライアント↔プロキシ↔サーバー)。
アウトバウンドパケットの場合、ゲートウェイは送信元IPアドレスを独自のIPアドレスに置き換える場合があります。このプロセスは、ネットワークアドレス変換(NAT)と呼ばれます。これにより、内部IPアドレスがインターネットに公開されないようになります。
サーキットレベルゲートウェイ
サーキットレベルゲートウェイは、パケットフィルタとアプリケーションゲートウェイの間の中間ソリューションです。トランスポート層で実行されるため、任意のアプリケーションのプロキシとして機能できます。
アプリケーションゲートウェイと同様に、サーキットレベルゲートウェイもゲートウェイを介したエンドツーエンドのTCP接続を許可しません。2つのTCP接続を設定し、TCPセグメントを一方のネットワークからもう一方のネットワークに中継します。ただし、アプリケーションゲートウェイのようなアプリケーションデータは調べません。したがって、「パイププロキシ」と呼ばれることもあります。
靴下
SOCKS(RFC 1928)は、サーキットレベルゲートウェイを指します。これは、SOCKSサーバーの一方のホストが、直接IPに到達可能でなくても、もう一方のホストにフルアクセスできるようにするネットワークプロキシメカニズムです。クライアントはファイアウォールでSOCKSサーバーに接続します。次に、クライアントは使用する認証方法のネゴシエーションに入り、選択した方法で認証します。
クライアントは、目的の宛先IPアドレスとトランスポートポートを含む接続リレー要求をSOCKSサーバーに送信します。サーバーは、クライアントが基本的なフィルタリング基準を満たしていることを確認した後、要求を受け入れます。次に、クライアントに代わって、ゲートウェイは要求された信頼できないホストへの接続を開き、その後のTCPハンドシェイクを綿密に監視します。
SOCKSサーバーはクライアントに通知し、成功した場合は2つの接続間でデータの中継を開始します。サーキットレベルゲートウェイは、組織が内部ユーザーを信頼し、インターネットで送信されたコンテンツやアプリケーションデータを検査したくない場合に使用されます。
DMZを使用したファイアウォールの展開
ファイアウォールは、組織の内部ネットワークに「出入り」するネットワークトラフィックを制御するために使用されるメカニズムです。ほとんどの場合、これらのシステムには2つのネットワークインターフェイスがあります。1つはインターネットなどの外部ネットワーク用で、もう1つは内部側用です。
ファイアウォールプロセスは、一方の側からもう一方の側に通過できるものを厳密に制御できます。Webサーバーへの外部アクセスを提供したい組織は、ファイアウォールに到着するすべてのトラフィックを制限して、ポート80(標準のhttpポート)を期待できます。メールトラフィック、FTP、SNMPなどの他のすべてのトラフィックは、ファイアウォールを越えて内部ネットワークに入ることが許可されていません。単純なファイアウォールの例を次の図に示します。
上記の単純な展開では、外部からの他のすべてのアクセスがブロックされますが、攻撃者はWebサーバーだけでなく、誤ってポート80を開いたままにしていた内部ネットワーク上の他のホストに接続する可能性があります。
したがって、ほとんどの組織が直面する問題は、内部ネットワークの厳格なセキュリティを維持しながら、Web、FTP、電子メールなどの公共サービスへの正当なアクセスを可能にする方法です。典型的なアプローチは、ファイアウォールを展開してネットワークに非武装地帯(DMZ)を提供することです。
このセットアップ(次の図に示されている)では、2つのファイアウォールが展開されています。1つは外部ネットワークとDMZの間、もう1つはDMZと内部ネットワークの間です。すべてのパブリックサーバーはDMZに配置されます。
この設定では、パブリックサーバーへのパブリックアクセスを許可するファイアウォールルールを設定できますが、内部ファイアウォールはすべての着信接続を制限できます。DMZを使用することにより、パブリックサーバーは、外部ネットワークに直接配置するのではなく、適切な保護が提供されます。
侵入検知/防止システム
パケットフィルタリングファイアウォールは、TCP / UDP / IPヘッダーのみを含むルールに基づいて動作します。異なるセッション間で相関チェックを確立しようとはしません。
侵入検知/防止システム(IDS / IPS)は、パケットの内容を調べてディープパケットインスペクション(DPI)を実行します。たとえば、パケット内の文字列を既知のウイルスのデータベース、攻撃文字列と照合します。
アプリケーションゲートウェイはパケットの内容を確認しますが、特定のアプリケーションのみを確認します。パケット内の疑わしいデータを検索しません。IDS / IPSは、パケットに含まれる疑わしいデータを探し、複数のパケット間の相関関係を調べて、ポートスキャン、ネットワークマッピング、サービス拒否などの攻撃を特定しようとします。
IDSとIPSの違い
IDSとIPSは、ネットワーク内の異常の検出において類似しています。IDSは「可視性」ツールですが、IPSは「制御」ツールと見なされます。
侵入検知システムはネットワークの側面に位置し、さまざまなポイントでトラフィックを監視し、ネットワークのセキュリティ状態を可視化します。IDSによる異常の報告の場合、修正措置はネットワーク管理者またはネットワーク上の他のデバイスによって開始されます。
侵入防止システムはファイアウォールのようなもので、2つのネットワークの間にインラインで配置され、それらを通過するトラフィックを制御します。ネットワークトラフィックの異常の検出に指定されたポリシーを適用します。通常、管理者が異常に対処するまで、異常に気付いたときにすべてのパケットをドロップし、ネットワークトラフィック全体をブロックします。
IDSの種類
IDSには2つの基本的なタイプがあります。
Signature-based IDS
既知の攻撃とそのシグネチャのデータベースが必要です。
シグニチャは、特定の攻撃を特徴付けるパケットのタイプと順序によって定義されます。
このタイプのIDSの制限は、既知の攻撃のみを検出できることです。このIDSは、誤警報を発することもあります。通常のパケットストリームが攻撃のシグネチャと一致すると、誤警報が発生する可能性があります。
よく知られている公開オープンソースIDSの例は、「Snort」IDSです。
Anomaly-based IDS
このタイプのIDSは、通常のネットワーク操作のトラフィックパターンを作成します。
IDSモードでは、統計的に異常なトラフィックパターンを調べます。たとえば、ICMPの異常な負荷、ポートスキャンの指数関数的増加などです。
異常なトラフィックパターンを検出すると、アラームが生成されます。
このタイプのIDS展開で直面する主な課題は、通常のトラフィックと異常なトラフィックを区別するのが難しいことです。
概要
この章では、ネットワークアクセス制御に使用されるさまざまなメカニズムについて説明しました。アクセス制御によるネットワークセキュリティへのアプローチは、このチュートリアルの前の章で説明したさまざまなネットワーク層でセキュリティ制御を実装することとは技術的に異なります。ただし、実装のアプローチは異なりますが、それらは互いに補完的です。
ネットワークアクセス制御は、ユーザー認証とネットワーク境界保護の2つの主要コンポーネントで構成されています。RADIUSは、ネットワークで中央認証を提供するための一般的なメカニズムです。
ファイアウォールは、内部ネットワークをパブリックインターネットから分離することにより、ネットワーク境界保護を提供します。ファイアウォールは、ネットワークプロトコルのさまざまな層で機能できます。IDS / IPSを使用すると、ネットワークトラフィックの異常を監視して攻撃を検出し、攻撃に対する予防措置を講じることができます。
情報と効率的なコミュニケーションは、すべてのビジネスの成功にとって最も重要な戦略的問題の2つです。通信とストレージの電子的手段の出現により、ますます多くの企業がデータネットワークを使用して通信し、情報を保存し、リソースを取得するようになりました。ビジネスの運営に使用されるネットワークインフラストラクチャには、さまざまな種類とレベルがあります。
現代の世界では、ネットワーク化されたコンピューターほどビジネスに大きな影響を与えたものはないと言えます。しかし、ネットワーキングにはセキュリティの脅威が伴い、軽減されれば、ネットワーキングのメリットがリスクを上回ります。
ビジネスにおけるネットワークの役割
今日、コンピュータネットワークはほとんどすべての企業からリソースと見なされています。このリソースを使用すると、収益性に不可欠な情報を収集、分析、整理、および配布できます。ほとんどの企業は、競争力を維持するためにネットワークをインストールしています。
コンピュータネットワークの最も明白な役割は、組織が事実上あらゆる種類の情報を中央の場所に保存し、ネットワークを介して目的の場所でそれを取得できることです。
ネットワークの利点
コンピュータネットワークにより、人々は情報やアイデアを簡単に共有できるため、より効率的かつ生産的に作業できます。ネットワークは、購入、販売、顧客サービスなどの活動を改善します。ネットワーキングにより、従来のビジネスプロセスがより効率的で、管理しやすく、安価になります。
企業がコンピュータネットワークから引き出す主な利点は次のとおりです。
Resource sharing −企業は、ネットワークに接続されたコンポーネントと周辺機器を共有することにより、ハードウェアに費やされる金額を削減できます。
Streamlined business processes −コンピュータネットワークにより、企業は社内のビジネスプロセスを合理化できます。
Collaboration among departments − 2つ以上の事業部門がネットワークの選択された部分を接続すると、通常は膨大な時間と労力を要し、生産性の向上に困難をもたらすことが多いビジネスプロセスを合理化できます。
Improved Customer Relations −ネットワークは、ビジネスの利便性、迅速なサービス対応など、多くのメリットをお客様に提供します。
ネットワーキングから生じる他の多くのビジネス固有の利点があります。このような利点により、あらゆるタイプの企業がコンピュータネットワークを採用することが不可欠になっています。
ネットワークセキュリティの必要性
コンピュータネットワークの容量の増加に伴う最新技術の進歩により、有線または無線ネットワークの脅威は大幅に増加しています。今日の世界でさまざまなビジネストランザクションにインターネットが圧倒的に使用されていることから、情報の盗難やその他のビジネス知的資産への攻撃という課題が生じています。
現在、ほとんどの事業はネットワークアプリケーションを介して行われているため、すべてのネットワークが攻撃されるリスクがあります。ビジネスネットワークに対する最も一般的なセキュリティの脅威は、データの傍受と盗難、および個人情報の盗難です。
ネットワークセキュリティは、このような脅威を阻止し、ビジネスのコンピュータネットワークインフラストラクチャの使いやすさ、信頼性、整合性、および安全性の保護を提供する専門分野です。
ビジネスにおけるネットワークセキュリティの重要性
Protecting Business Assets−これはネットワークセキュリティの主な目標です。資産とは、コンピュータネットワークに保存されている情報を意味します。情報は、会社の他の有形資産と同じくらい重要で価値があります。ネットワークセキュリティは、機密情報の整合性、保護、および安全なアクセスに関係しています。
Compliance with Regulatory Requirements −ネットワークセキュリティ対策は、企業が情報セキュリティに関する政府および業界固有の規制に準拠するのに役立ちます。
Secure Collaborative Working−ネットワークセキュリティは、同僚のコラボレーションを促進し、安全なネットワークアクセスを提供することにより、クライアントやサプライヤとのコミュニケーションを促進します。これにより、機密情報が保護されているというクライアントと消費者の信頼が高まります。
Reduced Risk −ネットワークセキュリティの採用により、中小企業を破産させる可能性のある法的措置など、セキュリティ違反の影響が軽減されます。
Gaining Competitive Advantage−ネットワーク用の効果的なセキュリティシステムを開発することは、組織に競争力を与えます。インターネット金融サービスや電子商取引の分野では、ネットワークセキュリティが最も重要です。