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 を使用するためのレジストリ設定が必要であることが分かったため、その記述を削除しました。

広告

Outlook.com の文字化け解消方法

コメントにて以下のご質問をいただきました。


はじめまして。困っていますので、助けて下さい。
outlook2013で、outlook.comのアカウントを使用しています。
数日前に送信できなくなったため、いろいろ試行錯誤した挙句、outlook2013で改めてアカウントを設定したところ、無事に送信できるようになりました。
恐らく、それからのことだと思いますが、
受信したメールにフラグを設定すると、そのメールだけ、差出人、受信者、件名、添付ファイル名のいずれか、もしくはすべてで文字化けします。
本文は正常のままです。
フラグを設定したメールの全てではありませんが、文字化けしないものは少数です。
何か対策はないものでしょうか?

申し訳ありません。書き忘れたことがありました。
outlook.comのアカウントなので、Exchange Active Syncによる接続です。
また、outlook.comですので、webでの操作が可能ですが、
webでは文字化けしておりません。
また、iphoneのメールアプリも利用していますが、
こちらでも文字化けしていません。
どうか、宜しくお願いします。


Exchange Active Sync は、本来 Exchange サーバーとモバイル製品のメールや予定の同期のために開発されたプロトコルであり、Outlook で Exchange Active Sync を使うといろいろ問題が起こるようです。
そのため、Outlook.com は現在 Office 365 のプラットフォームへの移行作業が進められており、Office 365 へ移行後はサーバーとの接続が Exchange Active Sync ではなく MAPI/HTTP に変わります。
MAPI/HTTP は以前から Exchange と Outlook の通信に使用されていた MAPI を HTTP ベースに実装したプロトコルであり、おそらく MAPI/HTTP に切り替わればこのような文字化けは発生しなくなると思います。
もし、Web 版の Outlook.com に接続して、左上のバナーに「Outlook メール」と表示されているのであれば移行済みですが、「Outlook.com」となっている場合は古いサーバーに接続されている状態です。
来年の半ばには全体が移行するようですが、以下の URL を表示すると明示的に移行が行われるようです。

http://mail.live.com/default.aspx?owaoptin=1

上記の URL を表示し、バナーで移行が完了したのを確認してから Outlook.com のアカウントを再作成し、MAPI/HTTP で接続して現象が回避できるか確認してみてください。