Зашифровать данные, как правило, не составляет никакого труда. Алгоритмы шифрования хорошо известны, и многие из них реализованы в операционной системе (например, AES). Гораздо сложнее придумать, как защитить ключ, которым эти данные зашифрованы. Ведь если мы положим его рядом с зашифрованными данными, то мы получим в лучшем случае обфускацию, но никак не надежную защиту. Для решения этой задачи в SQL Server применяется специальная иерархия ключей. В контексте Transparent Data Encryption (TDE) она строится следующим образом:
К сожалению, планируется, что Transparent Data Encryption (TDE) будет доступно только в Enterprise- и Developer-редакциях SQL Server 2008.
В Microsoft SQL Server 2008 появилось новое решение для обозначенных выше проблем это прозрачное шифрование БД (Transparent Data Encryption или TDE). TDE позволяет шифровать базы данных целиком. Когда страница данных сбрасывается из оперативной памяти на диск, она шифруется. Когда страница загружается обратно в оперативную память, она расшифровывается. Таким образом, база данных на диске оказывается полностью зашифрованной, а в оперативной памяти нет. Основным преимуществом TDE является то, что шифрование и расшифровка выполняются абсолютно прозрачно для приложений. Следовательно, получить преимущества от использования TDE может любое приложение, использующее для хранения своих данных Microsoft SQL Server 2008. При этом модификации или доработки приложения не потребуется.
А что делать, если приложение ничего о криптографических возможностях SQL-сервера не знает, и никаких своих средств защиты данных на сервере тоже не предлагает. В этом случае можно попытаться задействовать ряд технических средств, имеющихся в арсенале администратора. В первую очередь на ум приходит файловая система с шифрованием (Encrypting File System). Ее использование позволяет защититься от некоторых угроз, но, например, проблемы защиты данных в резервной копии, файловая система с шифрованием (EFS) не решает.
Но чтобы воспользоваться всеми возможностями, предоставляемыми SQL Server, в приложение должена быть встроена соответствующая функциональность. Причем это касается не только кода, но и структуры базы данных, в которую, вероятно, также потребуется внести изменения, диктуемые особенностями работы с зашифрованными данными. Применение криптографии может привести к падению производительности приложения за счет дополнительных затрат на шифрование и расшифровку. Кроме того, бесполезность использования индексов на зашифрованных данных также может сказаться на производительности приложения не лучшим образом. Все это должно быть учтено в приложении, а защищаться должны только те данные, для которых это действительно нужно.
В Microsoft SQL Server 2005 реализована достаточно приличная поддержка криптографии. С помощью встроенных средств можно шифровать данные, используя как симметричные, так и ассиметричные алгоритмы. Есть поддержка операции хеширования и электронной подписи. Реализована неплохая система управления ключами (насколько это вообще возможно без использования специальных устройств). Этих возможностей более чем достаточно, чтобы построить криптографическую систему защиты данных, конечно, если поставленную задачу вообще можно решить применением криптографии.
Прозрачное шифрование баз данных в Microsoft SQL Server 2008 Автор: Ян ЛиберманИсточник: Опубликовано: 28.08.2008Исправлено: 15.04.2009Версия текста: 1.0 Введение
Прозрачное шифрование баз данных в Microsoft SQL Server 2008 P PP PP P PP PP PPPОценить P
Комментариев нет:
Отправить комментарий