2017-05-11 6 views
3

FIPS準拠のアルゴリズムを強制的に使用するようにWindowsを設定すると、そのマシンで実行されている非FIPS準拠のアルゴリズムを使用するアプリケーションが存在し、Windows FIPSの実装に含まれていないという例外がスローされます... アプリケーションコードでこのチェックをコメントアウトすることで、FIPSチェックをバイパスしている人がいます。これを行うことができれば、この本当のFIPSに準拠していますか?Windows OSはアルゴリズムがFIPSに準拠しているかどうかをどのように検出できますか?

アプリケーションがFIPS準拠のアルゴリズムを使用しているかどうかはどのようにして検出されますか?

+2

マイクロソフトからお寄せいただきありがとうございます。「FIPSモード以外の理由は何ですか?」(https://blogs.technet.microsoft.com/secguide/2014/04/07/)どうしてもお勧めではありません)」 –

答えて

1

アルゴリズムは、Windowsに組み込まれたライブラリまたはマイクロソフトが出荷する製品によって提供され、苦情処理アルゴリズムと非苦情処理アルゴリズムの両方を含んでいます。

ライブラリに組み込まれているライブラリにコードを呼び出すと、それらのライブラリにはWindows設定のチェックが含まれており、それらのライブラリが設定されていると例外がスローされます。あなたがサードパーティの実装を使用するか、アルゴリズムのウィンドウの実装の独自のを書く場合は、非FIPSの苦情アルゴリズムを使用していることを検出しませんSha256Managed

public SHA256Managed() 
    { 
#if FEATURE_CRYPTO 
     if (CryptoConfig.AllowOnlyFipsAlgorithms) 
      throw new InvalidOperationException(Environment.GetResourceString("Cryptography_NonCompliantFIPSAlgorithm")); 
     Contract.EndContractBlock(); 
#endif // FEATURE_CRYPTO 

     _stateSHA256 = new UInt32[8]; 
     _buffer = new byte[64]; 
     _W = new UInt32[64]; 

     InitializeState(); 
    } 

の内側にここ

は、チェックの一例ですその設定が設定されているシステムで実行します。

+0

Scottに感謝します。したがって、それがコンプライアンスであり、そのオペレーティングシステムが常に強制的に実行できるわけではありません。教育を受けていただきありがとうございます。 – user1652746

関連する問題