セキュアプロトコルとは、通信経路上のセキュリティを確保しながら通信を行うためのプロトコル。
インターネットの通信機構はOSI 基本参照モデルに基づき構築されている。各層でそれぞれ独立したいくつかのセキュアプロトコルが規定されている。それらのセキュアプロトコルは、位置する通信層より上位層の通信内容に対して通信のセキュリティを保証する。IPsec, TLS, SSH はそうしたセキュアプロトコルのなかでも特に代表的なもので、広く普及しているものである。
【 IPSec 】
IPsec はネットワーク層において通信セキュリティを保証するプロトコルである。そのため、上位層に位置するアプリケーションの種類に依存せず、全てのアプリケーション通信は透過的に通信セキュリティを確保することができる。
IPsec は、通信送信元の認証、通信の暗号化、メッセージ認証、トンネリングによる安全な通信路の構築の機能を提供する。
IPsec では、暗号化機能とメッセージ認証機能によってIP パケット全体か、パケット中に格納されているデータ部分を保護する。
IPsec による通信には、トランスポートモード とトンネルモード がある。
【 TLS / SSL 】 (Transport Layer Security ) (Secure Socket Layer)
SSL(Secure Socket Layer) は Netscape Communications 社が提案するセキュリティプロトコルであり、暗号化、 認証、 完全性(改竄防止)を提供する。
TLSはトランスポート層での安全な通信を実現するためのセキュアプロトコルとして標準化したものである。
TLSは、トランスポート層プロトコルTCP とアプリケーション層プロトコルの間で動作するセキュアプロトコルで、HTTP, SMTP, POP3, IMAP などのTCP を利用するアプリケーションに対して安全な通信を提供する。TLS は、データ送信元の認証、データの暗号化、メッセージ認証の機能を提供することによりセキュリティを実現する。TLS を使用するには、アプリケーションのサーバプログラムとクライアントプログラムの両方がTLS に対応する必要がある。
TLS 通信を有効にするには、サーバプログラムが通常のTCP 通信とは異なるポート番号で待ち受けする方式と、サーバプログラムは通常のTCP 通信と同じポートでアプリケーションからの通信を受信して、その後、TLS を利用する通信へ遷移する方式がある。
TLS によるセッション通信は、DES,RC4,RC2,3DES などの秘密鍵暗号方式を利用する。これらの暗号で利用される秘密鍵をクライアント・サーバで共有するために、鍵交換アルゴリズム(TLSハンドシェイクプロトコル) が提案されている。また、メッセージの保護のためにMD5 やSHA-1といったハッシュ関数を使ってのメッセージダイジェストの計算も行う。鍵交換には、RSA やDiffie-Hellman などの公開鍵暗号が利用される。公開鍵や証明書の交換には、X.509 形式が利用される。
TLS は上位層と下位層の2つの通信層に分けて考えることができる。
上位層は「警告プロトコル」、「アプリケーションデータ・プロトコル」、「暗号仕様変更プロトコル」、「ハンドシェイクプロトコル」からなり、これらは総合してTLS ハンドシェイクプロトコルと呼ばれる。
下位層に位置するサブプロトコルが「レコードプロトコル」である。上位層のTLS ハンドシェイクプロトコルは通信相手の認証やセッション確立後、安全な通信を行うための暗号方式と秘密鍵の合意を行い、下位層はTLS ハンドシェイクプロトコルによって確立された暗号方式と秘密鍵を用いてセッション通信における通信内容の秘匿と認証を行う
【 SSH 】
SSH (Secure SHell) は、TCP のポート22 番を利用するセキュアプロトコルで、クライアント-サーバ間における通信の安全性を確保するために利用されている。ユーザから見れば、OSI 参照モデルのアプリケーション層に位置する。
SSH では、ユーザ認証や安全な通信、安全なクライアント-サーバ間通信路の確立、これらのために公開鍵暗号を始め種々の暗号技術を利用する。SSH を利用することで通信内容の秘匿、通信元・通信先の認証、通信内容の保証を行うことができる。
SSHは、ポートフォワーディングと呼ばれる、他のアプリケーションに対して暗号通信路を提供する機能を持ち、他のアプリケーションはその通信路を利用することで安全に通信を行うことができる。
SSH プロトコルはSSH トランスポート層プロトコル、SSH ユーザー認証プロトコル、SSH コネクションプロトコルの3層のサブプロトコルから構成される。
SSH では以下の要領で通信を行います。
www.it-shikaku.jp