Next: , Previous: , Up: Top   [Contents][Index]


36 ネットワークセキュリティー

Emacsがネットワーク接続を確立するときは、常にその確立された接続をNSM(Network Security Manager)に渡します。NSMは、あなたのコントロールのもとにセットワークセキュリティーを実施する責任があります。現在のところ、これはTLS(Transport Layer Security)の機能を使用して動作します。

変数network-security-levelは、NSMが実施するセキュリティーレベルを決定します。変数の値がlowの場合、セキュリティーのチェックは行なわれません。

この変数がmedium(デフォルト)の場合、いくつかのチェックが行なわれます。チェックの結果、NSMがそのネットワーク接続を信頼できないと判断した場合は、それを知らせて、そのネットワーク接続にたいして何を行なうか尋ねます。

証明されていない接続(unverified connection)にたいして、永続的なセキュリティー例外(security exception)を登録したり、一時的な例外(temporary exception)とするか、接続を完全に拒絶することができます。

以下はmediumで行なわれるチェックのリストです。

TLS認証が検証できない(unable to verify a TLS certificate)

その接続がTLSSSLSTARTTLS接続の場合、NSMは接続しようとしているサーバーの同一性(identity)を証明するために使用される認証が、検証できるかどうかチェックします。

無効な認証が懸念される場合(Man-in-the-Middleによりネットワーク接続がハイジャックて、あなたのパスワードが盗まれるかもしれません)や、とにかく接続を行なう正当な理由があるかもしれません。たとえばサーバーが自己署名された認証(self-signed certificate)を使用していたり、認証の期限が切れている場合もあるでしょう。接続の継続を容認するかどうかの決定は、あなたに任されています。

自己署名された認証が変更されている(a self-signed certificate has changed)

以前自己署名された認証を許容したが、今回はそれが変更されていて、それはそのサーバーが単に認証を変更しただけかもしれませんが、ネットワーク接続がハイジャックされている可能性もあります。

以前は暗号化されていた接続が、暗号化されていない(previously encrypted connection now unencrypted)

接続が暗号化されていないが、以前のセッションでは暗号化されていた場合、あなたとそのサーバーの間にSTARTTLSアナウンス(STARTTLS announcements)を剥奪して、接続を非暗号化するプロキシーがあることを意味するかもしれません。これは通常とても疑わしいです。

パスワードを送信するとき暗号化されていないサービスと通信する(talking to an unencrypted service when sending a password)

IMAPPOP3のサーバーに接続するとき、ネットワーク越しにパスワードを送信するのが一般的なので、接続は通常暗号化されています。同様に、パスワードを要求するSMTPを通じてemailを送信する場合は通常、その接続が暗号化されていることを望むでしょう。その接続が暗号化されていない場合、NSMは警告します。

network-security-levelhighの場合、上記に加えて以下のチェックが行なわれます:

有効な認証がパブリックキーを変更した(a validated certificate changes the public key)

サーバーはキーを変更するときがあり、通常それは心配することはありません。しかし、サードパーティーのサービスにたいして新しい認証を発行する、偽装しやすい証明期間(pliable Certificate Authorities)へのアクセスをもつエージェントにより、ネットワーク接続がハイジャックされているか心配なときは、これらの変更を追跡したいと思うかもしれません。

Diffie-Hellmanロープライムビット(Diffie-Hellman low prime bits)

パグリックキーの交換を行なう際、そのチャンネルが第三者により盗聴できないことを確実にするために、プライムビット(prime bits)の数は高くあるべきです。この数があまりに低い(low)場合は、警告されるでしょう。

RC4ストリーム暗号(RC4 stream cipher)

RC4ストリーム暗号は低品質とされており、第三者による盗聴を許すかもしれません。

SSL1SSL2SSL3

TLS1.0より古いプロトコルは、様々な攻撃にたいして脆弱とされており、あなたが行なうことがより高いセキュリティーを要する場合は、使用を避けたいと思うかもしれません。

最後に、network-security-levelparanoidの場合は、最初にNSMが新たな認証に遭遇したときに、それが通知されます。これによりEmacsによるすべての接続のすべての認証を検証することができるでしょう。

以下の追加の変数は、NSM操作の詳細を制御するために使用できます。

nsm-settings-file

これはNSMが接続の詳細を保存するファイルです。デフォルトは~/.emacs.d/network-security.dataです。

nsm-save-host-names

デフォルトでは、非STARTTLS接続ではホスト名は保存されません。接続の識別には、かわりにホストとポートによるハッシュ値(host/port hash)が使用されます。ユーザーがどのサーバーに接続しているか確認するために、誰かが気軽に設定ファイルを読めないことを意味します。この変数がtの場合、NSMnsm-settings-fileにもホスト名を保存します。