naveen_g Ответов: 0

Проблема нарушения конфиденциальности


HPF ortify scan сообщил о проблеме нарушения конфиденциальности в нижеприведенной строке кода.
csEncrypt.Write(buffer, 0, read);



полный код

public void Encrypt(Stream data, Stream output, byte[] key = null, byte[] iv = null)
              {
                     if (data == null) { throw new ArgumentNullException("data"); }
                     if (data.Length <= 0) { throw new ArgumentException("Empty Data", "data"); }
                     if (output == null) { throw new ArgumentNullException("output"); }
 
                     using (var rijAlg = new RijndaelManaged())
                     using (var encryptor = rijAlg.CreateEncryptor(key ?? GetDefaultKey(), iv ?? GetDefaultIV()))
                     using (var csEncrypt = new CryptoStream(output, encryptor, CryptoStreamMode.Write))
                     {
                           var buffer = new byte[bufferLength];
                           var read = data.Read(buffer, 0, bufferLength);
                           while (read != 0)
                           {
                                  csEncrypt.Write(buffer, 0, read);
                                  read = data.Read(buffer, 0, bufferLength);
                           }
                           csEncrypt.Close();
                     }
              }




Я хотел знать, как лучше всего зашифровать данные и избежать проблемы нарушения конфиденциальности.

Что я уже пробовал:

HP Fortify scan говорит:
The method Encrypt() mishandles confidential information, which can compromise user privacy and is often illegal.Mishandling private information, such as customer passwords or social security numbers, can compromise user privacy and is often illegal.

F-ES Sitecore

https://cwe.mitre.org/data/definitions/359.html

Проблема, скорее всего, будет связана с тем, что вы делаете с потоком после того, как он был зашифрован.

0 Ответов