2021年10月31日更新
Windowsリモートデスクトップ認証エラーの対処法「要求された関数はサポートされていません」
Windowsをお使いの皆さんは、Windowsリモートデスクトップ認証エラーが出てしまった時の対処法はご存知でしょうか。今回の記事では、Windowsリモートデスクトップ認証エラーの原因・対処法についてを説明していきます。
目次
- 1リモートデスクトップ認証エラーの事象の概要
- ・リモートデスクトップとは
- ・「要求された関数はサポートされていません」と表示される
- 2リモートデスクトップ認証エラーの原因
- ・原因はWindows Updateの更新プログラムの差
- ・3月更新プログラム
- ・5月更新プログラム
- 3リモートデスクトップ認証エラーが出たときの対処法
- ・Windows Updateを実施する
- ・サーバー側のWindows Updateは影響範囲が大きいことに注意する
- 4リモートデスクトップ認証エラーの一時的な回避策~クライアント側~
- ・「暗号化オラクルの修復」のポリシーを変更する
- ・レジストリを追加する
- 5リモートデスクトップ認証エラーの一時的な回避策~サーバー側~
- ・ポリシー変更でNLAの強制を解除
- ・システムのプロパティからNLAの強制を解除
- ・コレクションプロパティからNLAの強制を解除
- 6リモートデスクトップ認証エラーに関する用語解説
- ・NLA(Network Level Authentication)
- ・CredSSP(Credential Security Support Provider)
- ・暗号化Oracleの修復(Encryption Oracle Remediation)
- ・合わせて読みたい!Windowsに関する記事一覧
リモートデスクトップ認証エラーの事象の概要
Windowsの便利な機能、リモートデスクトップ。普段利用しているという方も多いでしょう。このリモートデスクトップが、2018年5月以降、Windows Update後にエラーで利用できないという方が増えています。
「要求された関数はサポートされていません」というリモートデスクトップ認証エラーのメッセージが表示されてしまい、接続できないとのことです。この記事では、リモートデスクトップ認証エラーメッセージが出てしまった時の対処法を紹介します。
「要求された関数はサポートされていません」とは、一体どういう意味なのでしょうか。原因と対処法を確認していきましょう。対処法に関する注意事項についても説明していきます。
リモートデスクトップとは
まず、認証エラーが表示される原因の前にリモートデスクトップについてを説明します。リモートデスクトップとは、Windowsで利用できる機能のこと。
ネットワークを経由することで、スマホやほかのパソコンからWindowsを遠隔操作することが可能です。この機能を利用することで、さまざまな作業をおこなうことが出来るでしょう。
仕事等で使うという方も少なくはないでしょう。この機能が、ある日のWindows Updateを境に接続できなくなってしまったという方が多いのです。
「要求された関数はサポートされていません」と表示される
2018年5月以降のWindows Update以降、リモートデスクトップに接続しようと思ったら「認証エラーが発生しました。要求された関数はサポートされていません」というメッセージが表示されるように。
原因は「暗号化オラクルの修復である可能性があります」と出ていますが、一体これはどういう意味なのでしょうか。
「要求された関数はサポートされていません」「暗号化オラクルの修復」、これらを解決するにはどのような操作をおこなえばいいのか、まずは原因を探っていきましょう。
リモートデスクトップ認証エラーの原因
「要求された関数はサポートされていません」と表示される原因が、「暗号化オラクルの修復」であると表示されますが、これが一体どういう意味なのか。認証エラーを回避するには、まず原因を確認しなければなりません。
認証エラーの原因を確認していきましょう。リモートデスクトップが接続できなくなってしまう原因は以下のとおりです。
原因はWindows Updateの更新プログラムの差
「要求された関数はサポートされていません」と表示が出る原因は、Windows Updateの更新プログラムの差にあります。リモートデスクトップそれぞれで利用できる、承認プロバイダのバージョンに差が生じてしまったのです。
接続か可能な場合、認証エラーが出てしまう場合とそれぞれパターンが存在します。まずは自分がどの状態に当てはまるかを確認しましょう。
3月更新プログラム
Windows Updateの更新は、3ヶ月更新プラグラムと、5ヶ月更新プラグラムに分かれます。まず、3ヶ月更新の方からパターンを確認していきましょう。
クライアント側が3ヶ月・サーバー側が3ヶ月。また、クライアント側が5ヶ月・サーバー側が3ヶ月と、どの状態かはそれぞれで違ってくるでしょう。
まず紹介する以下のパターンは、クライアント・サーバー側共に3ヶ月の状態の時です。
クライアントおよびサーバーの両方が未適用
クライアント側とサーバーの両方が、Windows Updateによる更新が未適用だった場合は「接続可能」です。
それぞれで更新プログラムの状態に差がないので問題はありません。問題なく使用が出来ているかと思います。
クライアント適用でサーバー未適用
クライアント側が3ヶ月の更新プログラムを適用しており、サーバー側が未適用だった場合も「接続は可能」です。
どちらも3ヶ月更新のプログラムであれば、どちらかが未適応であったとしても差に問題はありません。
クライアントおよびサーバーの両方が適用
逆に、クライアント側・サーバー側双方、更新プログラムを適用していた場合も「接続は可能」のようです。どちらも未適用の時と同じように、そもそも差が出ていないので問題はありません。
5月更新プログラム
続いては、5ヶ月の更新プログラムの可否パターンを確認していきましょう。3ヶ月の更新プログラムの内容と、5ヶ月の更新プログラムの内容には少々「差」がでてきます。
そのため、どちらかが5ヶ月更新のプログラムだった場合接続が出来なくなるケースがあるようです。
下記は、クライアント側が5ヶ月・サーバー側が3ヶ月のパターン。また、どちらも5ヶ月のパターンの場合です。リモートデスクトップが接続されない!という方は、接続不可のパターンに当てはまっている可能性ああります。確認しましょう。
クライアント適用でサーバーが3月更新プログラム未適用
クライアント側のWindows Updateが「5ヶ月更新プログラム適用」で、サーバーが「3ヶ月更新プログラム未適用」状態の場合は、「接続が不可能」です。認証エラーが表示される多くの方が、このパターンである可能性が高いです。
自分が上記のパターンに当てはまっていないかの確認をとりましょう。
クライアント適用でサーバーが3月更新プログラム適用
クライアント側が5ヶ月の更新プログラムを適用しており、サーバー側が3ヶ月更新プログラムを適用している場合は「接続が可能」です。どちらもしっかりとWindows Updateの更新プログラムを適用していれば、問題はないようです。
クライアントおよびサーバーの両方が適用
クライアント側・サーバー側双方が5ヶ月の更新プログラムを適用していた場合も、接続は可能です。プログラムの差がないので問題がありません。
詳細を詳しく説明すると、3月の更新プログラムをもとに新たに5月にリリースされた更新プログラムでセキュリティレベルが上がります。
双方のコンピューターに更新プログラムがそれぞれ適用されていれば問題はありません。
しかし、上記の接続不可能パターンのようにクライアント側とサーバー側で3ヶ月・5ヶ月更新。また、適用・未適用と状態が分かれていると、「要求された関数はサポートされていません」と表示が出てしまいます。
リモートデスクトップ認証エラーが出たときの対処法
「要求された関数はサポートされていません」という認証エラーのメッセージが表示されてしまった場合、どのような対処法をとれば良いのでしょうか。多くの方が、「暗号化オラクルの修復とは…?」と困惑することでしょう。
この項目では、「要求された関数はサポートされていません」と表示が出た時の解決策を紹介します。
根本的な問題を解決することで、リモートデスクトップの接続が可能になるでしょう。認証エラーで接続できなくなってしまった方は、確認してください。
Windows Updateを実施する
上記で紹介した、「接続不可能パターン」に当てはまるのであれば、Windows Updateを実施してください。更新プログラムを適用することで、問題が解消されるでしょう。
「どちらも更新プログラムが適用されている状態」にしてください。出来るだけ、サーバーを最新の状態にしておくといいでしょう。
サーバー側のWindows Updateは影響範囲が大きいことに注意する
サーバー側のWindows Updateは影響範囲が大きい点が注意点としてあげられます。更新することで、自分にとって何らかのデメリットとなる影響が出ないとも限りません。
また、サポート切れのOSを利用している場合、影響はないものの別の問題が生じることもあります。その点を理解した上で、Windows Updateをおこないましょう。
また、解決策としてもう一つ上げられるのは「サーバーに特定のパッチをあてる」ことです。CredSSPに修正パッチをあてることで、問題が解消されます。
自分のWindowsのバージョンなどを考え、修正パッチをサーバーにインストールするのです。検索をかければ、適用すべき修正パッチの一覧が出てきます。
再起動が必要な場合がありますが、プログラムの更新が難しい場合などは修正パッチを探してみましょう。
リモートデスクトップ認証エラーの一時的な回避策~クライアント側~
上記で紹介した「注意点」が原因で、更新プログラムの適用が出来ないという方もいらっしゃるでしょう。その方は、「一時的に」認証エラーの表示を回避することができます。
修正パッチを当てるなどの方法もありますが、再起動など必要だった場合難しい・今すぐにどうにかしたいということもあるでしょう。
この項目では、クライアント側が出来る認証エラーの回避策を紹介します。一時的とはなりますが、対処法として注意事項を含め確認していきましょう。
「暗号化オラクルの修復」のポリシーを変更する
認証エラーにも表示されていた、「暗号化オラクルの修復」のポリシーを変更することで、一時的に認証エラーを回避することができます。暗号化オラクルの修復ポリシーの変更手順は、以下のとおりです。確認しましょう。
ローカルグループポリシー エディターで設定を行う
リモートデスクトップにおける暗号化オラクルの修復は、「ローカルグループポリシーエディター」というところから設定を変更することができます。エディターを表示するのであれば、Windows内の検索が一番手っ取り早いです。
タスクバーに、画像のような検索フォームがあると思うのでそこに検索内容を入力していきます。
Windowsの検索フォームのところに、「gpedit.msc」という内容を入力します。
間違わずに入力をすれば、検索結果が表示されます。検索で出た内容をクリックで開きましょう。
エディターが表示されますが、さまざまな内容が表示されます。ここでまず、「コンピューターの構成」を選びます。
コンピューターの構成の中に、管理用テンプレートという項目があります。その中に、さらにシステムという項目がありますので、この順に開いていきましょう。
システムの中に、「資格情報の委任」というフォルダがあるはずです。それをクリックで選んでください。そこで暗号化オラクルの修正についての設定を変更できます。
資格情報の委任のところに、「暗号化オラクルの修復」という項目が表示されています。「暗号化オラクルの修復」をクリックで開きましょう。
暗号化オラクルの修復の設定変更は、この画面で可能です。まずは、暗号化オラクルの修復を「有効」にしてください。
有効に変更したあとは、下の方にある「保護レベル」を確認します。保護レベルを「脆弱」にしてください。これらの設定を変更したら、「適用」ボタンをクリックして設定の変更を適用させましょう。
レジストリを追加する
回避策として、「レジストリの追加」で一時的に認証エラーを表示させないという手段もあります。レジストリの追加には方法が2つあります。
手動追加と、コマンド追加です。それぞれ確認しましょう。
リモートデスクトップ接続元にレジストリを手動入力
リモートデスクトップの接続元に、レジストリを手動で追加します。その際の入力内容は以下の通りです、確認して追加しましょう。
【レジストリパス】HKLM\Software\Microsoft\Windows\CurrentVersion\
Policies\System\CredSSP\Parameters
【値】 AllowEncryptionOracle
【データの種類 】 DWORD
【値】 2
REG ADD コマンドで追加
コマンドで入力することで、レジストリの追加も可能です。その際のコマンドラインは以下のとおりです。確認して、レジストリの追加をおこないましょう。
REG ADD HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\
CredSSP\Parameters /v AllowEncryptionOracle /t REG_DWORD /d 2
クライアント側の設定であれば、以上の方法で一時的に認証エラーをなくし、リモートデスクトップの接続が可能になります。しかし、あくまで「一時的なもの」として覚えておきましょう。
保護レベルを「脆弱」にすることで、サーバーの脆弱性を晒したままになってしまいます。もし根本的に解決が可能であれば、すぐに保護レベルについては戻した方が良いです。
一番おすすめできない手段ではありますので、その点によく注意して設定の変更をおこなってください。
リモートデスクトップ認証エラーの一時的な回避策~サーバー側~
サーバー側で出来る、認証エラーの回避方法を紹介します。サーバー側では、以下の手順で一時手きにエラー表示を回避することが出来ます。
ポリシー変更でNLAの強制を解除
ポリシーの変更で、NLAを強制しないようにする。これで認証エラーの回避をすることができます。以下の手順で、ポリシーの変更を行いましょう。
コンピューターの構成 → 管理用テンプレート → Windows コンポーネント → リモートデスクトップサービス → リモートデスクトップサービス セッション ホスト→ 「セキュリティ」
セキュリティのところから、ポリシー名を変更します。ポリシー名を「リモート接続にネットワーク レベル認証を使用したユーザー認証を必要とする」にし、設定を「無効」にしましょう。
システムのプロパティからNLAの強制を解除
システムのプロパティからも変更が可能です。
システムのプロパティからリモートタブを選び、「ネットワークレベル認証でリモートデスクトップを実行しているコンピューターからのみ接続を許可する」という項目のチェックを外します。
これでNLAの解除が完了です。
コレクションプロパティからNLAの強制を解除
この方法は、Windows Server 2012 以降のリモート デスクトップ サービスで、RD 接続ブローカーで接続先 (RDセッションホスト) をコレクション管理している場合にのみ使える対処法です。
コレクションプロパティで、「ネットワークレベル認証でリモートデスクトップを実行しているコンピューターからのみ接続を許可する」のチェックを外せばそれで操作は完了です。
NLAを強制しないことで一時的に認証エラーを回避することができますが、注意したいことがあります。NLAを強制しないようにすることで、「CredSSP」を利用しないことになります。本脆弱性における影響は受けません。
しかし、「セキュリティレベル」を下げてしまうことになるので、その点は注意事項として覚えておいてください。通常であれば、NLAを強制しないように設定することは推奨されていません。
セキュリティが低い状態で長いことパソコンを使っていると、いつどのような問題が起きるかは分かりません。あくまで一時的な対処法としておこない、なるべく早めに根本的な問題を解決させましょう。
リモートデスクトップ認証エラーに関する用語解説
「要求された関数はサポートされていません」…という認証エラーの対処法・回避策を紹介してきましたが、その中でよく分からないといった単語が出てきたかと思います。
NLAや暗号化オラクルの修復というのは、結局どういう意味なのか。この項目では、それらの説明をしていきます。
NLA(Network Level Authentication)
一時的に認証エラーを回避する手段の時に頻繁に用いられた単語、「NLA(Network Level Authentication)」。
これはリモートデスクトップを接続する時などに、「RDPセッション(リモート画面の表示)」を確率する前に、認証ダイアログで認証を行う仕組みのことを言います。
ユーザーの資格情報を提示するように、という動作を行います。
CredSSP(Credential Security Support Provider)
CredSSP(Credential Security Support Provider)とは、上記で紹介したNLAで利用される「認証プロバイダー」のことを指します。
暗号化Oracleの修復(Encryption Oracle Remediation)
暗号化オラクルの修復とは、メカニズムのことを指すようです。この仕組みを利用した攻撃手法があるとされています。その際、上記で紹介したCredSSPが影響を受けるとのこと。
その「脆弱性」に対するケアのレベルを設定することを「暗号化オラクルの修復」と呼ぶとのことです。
「要求された関数はサポートされていません」の認証エラーメッセージが表示された時の対処法は、Windows Updateを行い最新の状態にすること。クライアント側、サーバー側のセキュリティポリシーを緩めるといった方法がありました。
いかがでしたか?リモートデスクトップが接続されない…とお悩みの方は、この記事を参考にして問題を解決させてください。
しかし、一時回避の手段についてはセキュリティレベルを下げてしまうため、長期間その状態でいるのは少々危険です。仕事の都合など、どうしてもやむを得ないという時にお試しください。