Office 365 で TLS 1.0/1.1 が廃止された際に Outlook で必要な設定と TLS 1.2 が使用されているかを確認する方法



来年の 3 月 1 日から、Office 365 で TLS 1.2 未満のサポートが廃止されることが MC126199 として発表されました。

廃止されるまでに準備が必要というようなことも併せて発表されているのですが、具体的に何が必要なのかというのがちょっとわかりづらい内容となっています。

そこで、TLS 1.2 未満が廃止された後、Outlook で Office 365 に接続するために必要な手順をクライアント OS ごとにまとめてみました。

Windows 10 および Windows 8.1

Windows 10 と Windows 8.1 についてですが、この場合は何もする必要がありません。
これらの OS は既定で TLS 1.2 が有効化されており、サーバーが TLS 1.2 に対応していない場合に TLS 1.1 や TLS 1.0 を使用するというような動作になっています。

Windows 7

Windows 7 の既定では TLS 1.0 のみが有効化されている状態であり、Office のバージョンによってはレジストリ設定が必要となる場合があります。
また、修正プログラムの適用が必要となります。

Windows 7 の修正プログラム KB3140245

この修正プログラムは、WinHTTP というコンポーネントを使用するアプリケーションで TLS 1.1 や TLS 1.2 を使用できるようにするためのものです。
Outlook は Office 365 への接続で WinHTTP を使用しているので、この修正プログラムの適用が必要となります。
修正プログラムの提供方法などについては以下のマイクロソフト技術情報を参考にしてください。

WinHTTP が Windows での既定のセキュリティで保護されたプロトコルとして TLS 1.1 および TLS 1.2 を有効にする更新プログラム

なお、Windows Update で最新の状態にしておけば、この修正プログラムを個別に適用する必要はありません。

WinHTTP で TLS 1.1/1.2 を使用するレジストリ設定

修正の適用とは別に、TLS 1.1 と TLS 1.2 を有効にするためのレジストリ設定が必要となります。
具体的には以下のいずれかのキーに DefaultSecureProtocols という名前で REG_DWORD の 0xA80 という 16 進数を追加します。

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp

なお、上記の技術情報の中の「簡単な解決策」にある [Download] ボタンをクリックし、簡易修正ツールを実行することで、レジストリ設定が行われます。

Schannel のレジストリ設定

環境によっては、以下のキーのそれぞれに DisalbedByDefault という名前で REG_DWORD の 0 という値を追加する必要があるようです。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client

Windows 8

Windows 8 も TLS 1.1/1.2 を使用可能とするには修正プログラムの適用が必要となりますが、Windows 8 はサポートが終了しているため、修正プログラムの入手ができません。
そのため、Windows 8.1 へのアップグレードが必要となります。

TLS 1.2 が使用されているかを確認する方法

Windows 10 などでは設定が不要といっても、実際に使用されているのかが不安、という方もいるかもしれません。
残念ながら Outlook の UI などでは使用されている暗号化アルゴリズムなどはわからないため、確認するためにはパケットを採取して調査する必要があります。

以下は、マイクロソフトから無償で提供されている Microsoft Message Analyzer を使って確認する手順です。

  1. Microsoft Message Analyzer をインストールする
    インストール手順は、以下の URL を参照してください。
    https://social.technet.microsoft.com/wiki/contents/articles/26806.microsoft-message-analyzer-ja-jp.aspx
  2. Microsoft Message Analyzer を管理者権限で起動する
    パケット キャプチャを行うには管理者権限が必要なため、Message Analyzer のアイコンを右クリックして [管理者として実行] により起動します。
  3. パケット キャプチャを開始する
    パケット キャプチャを開始するには、[Start Page] にある [Start Local Trace] をクリックします。
    image
  4. Outlook を起動し、Exchange Online に接続する
  5. 接続を確認したら、パケット キャプチャを停止する
    パケット キャプチャを停止するには、ツールバーの停止ボタンをクリックします。
    image
  6. Outlook のパケットを絞り込むため、プロセス単位の表示にする
    [Layout] の [Network] にある [Process Name and Conversations] を選択すると、パケットがプロセス単位にグループ化されます。
  7. Outlook の HTTPS 接続のパケットを探す
    パケットの一覧の [ProcessName] の横に “OUTLOOK” と表示されているグループを展開し、さらに Network を展開し、Transport の右に “TCP: xxxxx – HTTPS)443)”  と表示されているグループを展開します。
  8. TLS Handshake の Client Hello を探す
    展開したパケットの [Summary] が “Records: [Handshake: [Client Hello]]” となっているパケットを探します。
    もし、7. で展開したパケットに Client Hello がなかった場合は、別の Network のグループを展開して探します。
  9. Client Hello の Details から TLS のバージョンを確認する
    Client Hello のパケットを選択したら、ウィンドウ下部の [Message Stack 1] で [TLS] を選択し、その右の [Details 1] の  “records” を展開します。
    以下のように version で TLS 1.2 と表示されれば、TLS 1.2 で通信されているということが確認できます。
    image

補足:

この記事の公開当初、Windows 8 については修正プログラムの適用が不要と記載していましたが、正しくは修正プログラムの適用が必要であるが、入手はできないということが判明しため、Windows 8.1 にアップグレードするという記載に変更しました。
また、一部の Office のバージョンではレジストリ設定が不要と記載していましたが、OAB をダウンロードする BITS で TLS 1.2 を使用するためのレジストリ設定が必要であることが分かったため、その記述を削除しました。

コメントを残す