現象

4.6.2 の Microsoft.NET Framework に含まれている Microsoft SQL Server (Sqlclient) の.NET Framework データ プロバイダーを使用するクライアント アプリケーションがあります。常に暗号化された接続にこのアプリケーションを使用する、Microsoft SQL Server の 2016、Windows または Microsoft Azure の SQL データベースの SQL Server の 2017 で実行されているデータベースを有効にします。

レコードを常に暗号化復号化しようとすると、有効になっているデータベース、次のような断続的なエラー メッセージが表示。

復号化に失敗しました。暗号化された列の暗号化キーの最後の 10 バイトが: 7E-0B-E6-D3-39-CE-35-86-2F-AA。暗号文の最初の 10 バイト: 01-C3-D7-39-33-2F-E6-44-C3-B1。指定された暗号文には、認証が無効なタグがあります。


この問題が発生すると、常に暗号化の設定によって保護されている列へのクエリは誤った結果を表示ことがあります (たとえば、レコードが少なすぎるが返されます)。これには、次に、不適切な動作が起動されます。などのクライアント アプリケーションは、欠落している値を挿入するか、他のエラーを作成するか、データベースでデータの不整合が発生するその他の更新プログラムのプロセスを実行するとします。

解決策

この問題を解決するには、マイクロソフト セキュリティ情報 MS16 155からセキュリティ更新プログラムをインストールします。

回避策

重要 クライアント アプリケーションが Microsoft Azure アプリケーション サービスの Web アプリケーションでホストされている場合、クライアントは自動的に.NET Framework 4.6.2 を使用します。したがって、「現象」に記載されている問題が発生する可能性があります。このシナリオでは、この問題の修正プログラムがリリースされるまでに、ここでのみ、方法 2 の回避策 (オフにする列の暗号化」) を使用できます。

この問題を回避するには、必要に応じて、次のガイドラインに従います。

  • バージョン 4.6.2 を .NET クライアントがまだアップグレードされません。

    「現象」に記載されている環境でアップグレードすることがはない.NET Framework 4.6.2 この問題を解決するまでをお勧めします。この問題は、ドライバーの以前のバージョンには影響しません。

  • .NET クライアントは既に 4.6.2 にアップグレードします。

    次の方法のいずれかを使用します。

    • 方法 1:.NET Framework のバージョンをロールバックします。

      システムのホストのクライアント ・ アプリケーションから.NET Framework 4.6.2 をアンインストールします。これは、この問題は発生しませんが NET Framework データ プロバイダーの以前のバージョンを使用して、SQL Server のアプリケーションを強制します。これを行うには、以下の手順を実行します。

      1. コントロール パネルの [プログラムアイテムを開きし、プログラムと機能します。

      2. ビューには、更新プログラムがインストールされている、選択し、し、 Microsoft Windows の KB3120737 用の更新プログラムをアンインストールします。

      3. 任意のバージョンの.NET Framework をアンインストールした後、.NET Framework に依存するアプリケーションをテストすることをお勧めします。それらが依存する.NET Framework のバージョンをアンインストールする場合、これらのアプリケーションが正しく機能しない可能性があります。


    • 方法 2: は、列の暗号化のキーのキャッシュを無効に

      .NET Framework のインストールをロールバックできない場合は、列の暗号化キー (CEK) のキャッシュを無効にします。これを行うには、クライアント アプリケーションは0で、 SqlConnection.ColumnEncryptionKeyCacheTtlの静的プロパティを設定します。たとえば、C# アプリケーションで列の暗号化を無効にするのには、次のコードを実行します。

      System.Data.SqlClient.SqlConnection.ColumnEncryptionKeyCacheTtl = TimeSpan.Zero

ヘルプを表示

スキルを磨く

トレーニングの探索 >

新機能を最初に入手

Microsoft Insider に参加する >

この情報は役に立ちましたか?

言語の品質にどの程度満足していますか?
どのような要因がお客様の操作性に影響しましたか?

ご意見をいただきありがとうございます。

×