Шифрование файлов веб-приложения - PullRequest
1 голос
/ 24 мая 2011

Мне было поручено исследовать шифрование на наших веб-серверах для клиентских файлов, которые мы получаем. Мы работаем в среде IIS7, и при передаче файлов от наших клиентов через HTTPS мы хотели бы хранить их на диске в зашифрованном виде. Я сетевой инженер, и разработчики программного обеспечения заставили меня найти реализацию операционной системы. Я посмотрел на BitLocker и EFS, но не понимаю, зачем и как мне это нужно, поскольку мы не заинтересованы в том, чтобы кто-то крал физические диски из нашего защищенного центра обработки данных. Разве это не будет проще для программного обеспечения, заканчивающегося в IIS7?

Ответы [ 3 ]

1 голос
/ 24 мая 2011

HTTPS будет шифровать данные от точки к точке. Как только он поступает на сервер (и вы его храните), он не шифруется.

Кроме того, для шифрования данных у вас есть несколько вариантов: либо зашифровать весь диск (в стиле BitLocker / EFS), либо зашифровать отдельные файлы, и в этом случае (imho) самое простое решение будет состоять в просто сохраните файлы в базе данных и используйте либо встроенную базу данных, либо шифрование по выбору API вашего языка программирования для шифрования и дешифрования файлов при хранении и извлечении.

Недостатком шифрования всего диска является то, что вы потеряете производительность на рабочем сервере - обычно это плохо.

0 голосов
/ 25 мая 2011

Выбор довольно широк:

  • СУБД со встроенной кодировкой хранимых данных
  • возможности шифрования файловой системы ОС (NTFS). NTFS позволяет шифровать отдельные файлы с помощью сертификата шифрования, который хранится в хранилище сертификатов Windows. Это можно экспортировать, поэтому вы можете скопировать его для резервного копирования.
  • виртуальный диск, созданный сторонним программным обеспечением (например, TrueCrypt ). Такое программное обеспечение обычно поддерживает пароли и сертификаты или ключи PGP (в зависимости от программного обеспечения) для шифрования
  • виртуальный диск, созданный вашим программным обеспечением с использованием одного из наших продуктов Virtual Storage . Выбор механизмов шифрования практически неограничен с этой опцией.
0 голосов
/ 25 мая 2011

.Net имеет несколько отличных API для шифрования файлов.Вы можете использовать AES-256 (называемый Rijndael в .Net C #) для шифрования всех файлов перед их сохранением на диске.Затем зашифруйте ключ AES с помощью ключей RSA из сертификата компьютера (X509Certficate2 в C #).Сохраните зашифрованный ключ AES (и вектор инициализации, если используется CBC) вместе с зашифрованным файлом.

Если вам необходимо расшифровать файл, используйте секретный ключ из сертификата компьютера для расшифровки ключа AES, а затем используйте этот ключ AES для расшифровки оставшейся части файла.

...