Microsoftは10月11日(米国時間)、「The evolution of Windows authentication|Windows IT Pro Blog」において、Windows11のNTLM認証プロトコルを将来的に廃止する予定と発表した。廃止時期は不明だが、NTLM認証の使用量を減らしていき、最終的には無効になるだろうとしている。

  • The evolution of Windows authentication|Windows IT Pro Blog

    The evolution of Windows authentication|Windows IT Pro Blog

NTLM(NT LAN Manager)認証はWindows環境において、パスワードを明かすことなくチャレンジとレスポンスの交換によってユーザー本人であることを証明する認証方式。MicrosoftはNTLM認証には次のような利点があり、これらにより過去に普及した歴史があるとしている。

  • ドメインコントローラへのローカルネットワーク接続が不要
  • ローカルアカウントをサポートする
  • ターゲットサーバが不明であっても機能する

これらの利点から、一部のアプリケーションやサービスでは、ほかの新しい認証プロトコルを使用せず、NTLM認証をハードコーディングするものがあるという。しかしながら、Microsoftはより優れたセキュリティと拡張性を提供するKerberos認証を2000年からデフォルトの認証プロトコルとしており、NTLM認証の使用を推奨していない(参考:「[MS-NLMP]: Security Considerations for Implementers | Microsoft Learn」)。

Kerberos認証はドメインコントローラへのアクセスとターゲットサーバの指定が必要であり、これら要件を満たさない場合や、NTLM認証をハードコーディングしているアプリケーションではKerberos認証が使用できない。MicrosoftはこのKerberos認証の制限に対処することでNTLM認証の使用を削減し、将来的に廃止したいとしている。

MicrosoftはこのKerberos認証の制限を緩和するため、Windows11のKerberos認証に次の2つの主要な機能を導入している。

  • IAKerbの使用により多様なネットワークトポロジでKerberos認証を使用できる
  • Kerberos認証用のローカルKDCによりローカルアカウントをサポートする

既存のWindowsアプリケーションやサービスにハードコーディングされたNTLM認証に関しては、Negotiateプロトコルへ移行することでNTLM認証の代わりにKerberos認証を使用できるようにするという。この対応により、これらアプリケーションではローカルアカウントとドメインアカウントの両方でIAKerbとローカルKDCを利用可能になるとしている。また、これら機能はデフォルトで有効であり、ほとんどの場合において構成は必要ないとしている。

Microsoftはこの件に関して、システム管理者および開発者に次のような対応を推奨している。

  • NTLM認証を使用している場所、およびNTLM認証の無効化を阻害する可能性のあるアプリケーションを把握しておく(参考:「NTLM Blocking and You: Application Analysis and Auditing Methodologies in Windows 7 - Microsoft Community Hub」)
  • アプリケーション開発者はNTLM認証がハードコーディングされていないかどうかを確認する。AcquireCredentialsHandle関数の呼び出しでは文字列「"ntlm"」が渡されていないか確認し、「"negotiate"」に置き換える。RpcBindingSetAuthInfo関数の呼び出しでは「RPC_C_AUTHN_DEFAULT」を「RPC_C_AUTHN_GSS_NEGOTIATE」に置き換える

Microsoftは10月24日午前8時(太平洋標準時)から、この件に関するウェビナー「The Evolution of Windows Authentication」を開催予定であり、参加登録を呼びかけている(参考:「Webinar: The Evolution of Windows Authentication」)。このウェビナーでは、WindowsにおけるNTLM認証の現状、NTLM認証の最終的な無効化と削除に向けた長期的な戦略などについて説明があるとして、システム管理者および開発者に参加を推奨している。