WikiSort.ru - Не сортированное

ПОИСК ПО САЙТУ | о проекте

Шифрование базы данных — использование технологии шифрования для преобразования информации, хранящейся в базе данных (БД), в шифротекст, что делает ее прочтение невозможным для лиц, не обладающих ключами шифрования[1].

Прозрачное шифрование базы данных

Прозрачное шифрование базы данных (англ. Transparent Database Encryption, TDE) — технология, применяемая, например, в продуктах Microsoft и Oracle для шифрования и дешифрования ввода-вывода файлов БД. Данные шифруются перед записью на диск и дешифруются во время чтения в память, что решает проблему защиты «неактивных» данных, но не обеспечивает сохранность информации при передаче по каналам связи или во время использования. Преимуществом TDE является то, что шифрование и дешифрование выполняются прозрачно для приложений, то есть их модификация не требуется[2][3][4].

Реализация Microsoft

TDE применяется для файлов БД и журнала транзакций на уровне страниц. Страницы шифруются с помощью специального симметричного ключа шифрования базы данных (англ. Database Encryption Key), защищенного сертификатом, который хранится в БД master и шифруется ее главным ключом, или асимметричным ключом, защищенным модулем расширенного управления ключами (англ. Extensible Key Manager, EKM). Применение TDE не увеличивает размер зашифрованной БД, а влияние на производительность незначительно[2].

Реализация Oracle

TDE применяется для файлов БД на уровне столбцов. Для таблицы, содержащей выбранные к шифрованию столбцы, создается симметричный ключ шифрования, защищенный главным ключом, который хранится в безопасном месте за пределами БД, называемом бумажником (англ. Wallet). Зашифрованные ключи таблиц содержатся в словаре данных (англ. Data Dictionary)[3].

Шифрование на уровне столбцов

Шифрование на уровне столбцов (англ. Column-Level Encryption) в отличие от TDE, шифрующего БД полностью в реализации Microsoft и отдельные столбцы, но с одинаковым ключом для всей таблицы в реализации Oracle, этот метод позволяет шифровать отдельные столбцы с различными ключами, что обеспечивает дополнительную гибкость при защите данных. Ключи могут быть назначены пользователям и защищены паролем для предотвращения автоматической расшифровки, однако это усложняет администрирование БД. При использовании шифрования на уровне столбцов необходимо внесение изменений в клиентские приложения. Помимо этого уменьшается производительность БД[3][5].

Шифрование файловой системы

Важно отметить, что традиционные методы шифрования баз данных обычно шифруют и дешифруют содержимое БД, администрирование которой обеспечивается системой управления базами данных, работающей поверх операционной системы[6]. Это уменьшает защищенность информации, так как зашифрованная БД может быть запущена на открытой или потенциально уязвимой операционной системе. Например, Microsoft использует технологию шифрования файловой системы (англ. Encrypting File System, EFS), которая обеспечивает шифрование на уровне файлов. Каждый объект шифруется с помощью уникального ключа шифрования файлов (англ. File Encryption Key), защищенного сертификатом пользователя. Этот сертификат может быть составным, что дает возможность получить доступ к файлу больше чем одному пользователю. Из-за расширения сферы шифрования, использование EFS может снизить производительность и усложнить администрирование, так как системному администратору требуется доступ к операционной системе для использования EFS[5][7].

Симметричное и асимметричное шифрование базы данных

Существует два основных способа шифрования информации: симметричный и асимметричный. Главным принципом в них является то, что передатчик и приемник заранее знают алгоритм шифрования и ключ к сообщению, без знания которых информация представляет собой бессмысленный набор символов[7][8].

Симметричное шифрование

Симметричное шифрование (шифрование с закрытым ключом) является самым старым и известным методом. В контексте баз данных он включает в себя закрытый ключ, применяемый для шифрования и дешифрования информации, хранящейся в БД и вызываемой из нее. Этот ключ изменяет данные таким образом, что их прочтение без расшифровки становится невозможным. Явным недостатком этого метода является то, что может произойти утечка конфиденциальной информации, если ключ окажется у лиц, которые не должны иметь доступ к данным. Однако использование всего лишь одного ключа в процессе шифрования дает преимущество в виде скорости и простоты применения данной технологии[7][8][9].

Асимметричное шифрование

Проблема попадания секретного ключа в чужие руки при передаче по каналам связи, которой обладает шифрование с закрытым ключом, решена в асимметричном шифровании (шифровании с открытым ключом), в котором есть два связанных между собой ключа — это пара ключей. Открытый ключ известен всем и может передаваться по незащищенному каналу связи. В то время как второй, закрытый ключ, хранится в секрете и является уникальным для каждого пользователя. Открытый ключ используется для шифрования данных, а закрытый — для расшифрования. Асимметричное шифрование является более безопасным, по сравнению с симметричным, но в то же время оно существенно медленнее[7][8].

Хеширование

Хеширование (англ. hashing) используется в качестве метода защиты информации. Алгоритм хеширования генерирует строку определенной длины, называемую хешем, на основе введенных данных или сообщения. Хеширование отличается от шифрования тем, что алгоритм необратим, то есть не существует преобразования, позволяющего получить сообщение из его хеша[10][11].

Шифрование на уровне приложений

В шифровании на уровне приложений процесс шифрования осуществляется приложением, которое создает или изменяет данные, то есть он происходит перед записью в базу данных. Этот подход является более гибким, так как приложению известны роли или права доступа пользователей, а также информация о том, какие данные являются конфиденциальными[7][12].

Преимущества

Одним из главных преимуществ шифрования, встроенного в приложение, является то, что нет необходимости использовать дополнительное решение для защиты данных при передаче по каналам связи, так как они отправляются уже зашифрованными. Еще один плюс такого метода — это то, что кража конфиденциальной информации становится сложнее, так как злоумышленник должен иметь доступ к приложению для того, чтобы расшифровать данные, хранящиеся в БД[7][12].

Недостатки

Для реализации шифрования на уровне приложений необходимо внесение изменений не только в само приложение, но и в базу данных. Также могут возникнуть проблемы с производительностью БД, у которой, например, пропадает возможность индексирования и поиска. Еще одним минусом является управление ключами в системе с таким шифрованием. Так как несколько приложений могут использовать БД, то ключи хранятся во многих местах, поэтому неправильное управление ими может привести к краже информации или невозможности ее использования. В добавление к этому, если возникает необходимость изменения ключа, то для начала потребуется расшифровать все данные со старым ключом, и потом снова зашифровать, используя новый ключ[7][12].

См. также

Примечания

  1. Luc Bouganim, Yanli GUO. Database Encryption. www-smis.inria.fr.
  2. 1 2 Прозрачное шифрование данных (TDE). microsoft.com.
  3. 1 2 3 Transparent Data Encryption. oracle.com.
  4. Postgres and Transparent Data Encryption (TDE). enterprisedb.com.
  5. 1 2 Database Encryption in SQL Server 2008 Enterprise Edition. microsoft.com.
  6. Дейт, 2005.
  7. 1 2 3 4 5 6 7 Baccam, Tanya Transparent Data Encryption: New Technologies and Best Practices for Database Encryption. Sans.org. SANS Institute (April 2010). Проверено 25 октября 2015.
  8. 1 2 3 Description of Symmetric and Asymmetric Encryption. microsoft.com.
  9. Коробейников, 2004, с. 56.
  10. Passwords Technical Overview. microsoft.com.
  11. Security Glossary — «H». microsoft.com.
  12. 1 2 3 Шифрование на уровне приложений. thales-esecurity.com.

Литература

  • Дейт К. Дж. Введение в системы баз данных = Introduction to Database Systems. — 8-е изд. М.: Вильямс, 2005. — 1328 с. ISBN 5-8459-0788-8 (рус.) 0-321-19784-4 (англ.).
  • Коробейников А. Г., Гатчин Ю. А. Математические основы криптографии. Учебное пособие.. — СПб: СПб ГУ ИТМО, 2004. — 106 с.
  • Robert Morris, Ken Thompson. Password security: a case history (англ.) // Communications of the ACM : журнал. — ACM New York, NY, USA, 1979. Vol. 22, no. 11. P. 594—597.

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2025
WikiSort.ru - проект по пересортировке и дополнению контента Википедии