DDBMS - Безопасность баз данных и криптография
В этой главе мы рассмотрим угрозы, с которыми сталкивается система баз данных, и меры контроля. Мы также изучим криптографию как инструмент безопасности.
Безопасность баз данных и угрозы
Безопасность данных - обязательный аспект любой системы баз данных. Это особенно важно в распределенных системах из-за большого количества пользователей, фрагментированных и реплицированных данных, нескольких сайтов и распределенного управления.
Угрозы в базе данных
Availability loss - Потеря доступности означает недоступность объектов базы данных законным пользователям.
Integrity loss- Потеря целостности происходит, когда недопустимые операции выполняются с базой данных случайно или злонамеренно. Это может произойти при создании, вставке, обновлении или удалении данных. Это приводит к повреждению данных, что приводит к неправильным решениям.
Confidentiality loss- Потеря конфиденциальности происходит из-за несанкционированного или непреднамеренного раскрытия конфиденциальной информации. Это может привести к незаконным действиям, угрозам безопасности и потере общественного доверия.
Меры контроля
Меры контроля можно условно разделить на следующие категории:
Access Control- Контроль доступа включает механизмы безопасности в системе управления базами данных для защиты от несанкционированного доступа. Пользователь может получить доступ к базе данных после очистки процесса входа в систему только через действительные учетные записи пользователей. Каждая учетная запись пользователя защищена паролем.
Flow Control- Распределенные системы охватывают большой поток данных с одного сайта на другой, а также внутри сайта. Управление потоком предотвращает передачу данных таким образом, чтобы к ним могли получить доступ неавторизованные агенты. В политике потока перечислены каналы, по которым может передаваться информация. Он также определяет классы безопасности для данных и транзакций.
Data Encryption- Шифрование данных относится к кодированию данных, когда конфиденциальные данные должны передаваться по общедоступным каналам. Даже если неавторизованный агент получит доступ к данным, он не сможет их понять, поскольку они представлены в непонятном формате.
Что такое криптография?
Cryptography это наука о кодировании информации перед отправкой по ненадежным каналам связи, так что только авторизованный получатель может ее декодировать и использовать.
Закодированное сообщение называется cipher text и исходное сообщение называется plain text. Процесс преобразования обычного текста в зашифрованный текст отправителем называется кодированием илиencryption. Процесс преобразования зашифрованного текста в обычный текст получателем называется декодированием илиdecryption.
Всю процедуру связи с использованием криптографии можно проиллюстрировать следующей схемой:
Обычные методы шифрования
В традиционной криптографии шифрование и дешифрование выполняется с использованием одного и того же секретного ключа. Здесь отправитель шифрует сообщение алгоритмом шифрования, используя копию секретного ключа. Затем зашифрованное сообщение отправляется по общедоступным каналам связи. Получив зашифрованное сообщение, получатель расшифровывает его с помощью соответствующего алгоритма дешифрования, используя тот же секретный ключ.
Безопасность в традиционной криптографии зависит от двух факторов:
Звуковой алгоритм, который всем известен.
Случайно сгенерированный, предпочтительно длинный секретный ключ, известный только отправителю и получателю.
Самый известный традиционный алгоритм криптографии - это Data Encryption Standard или же DES.
Преимущество этого метода - простота применения. Однако самая большая проблема традиционной криптографии - это совместное использование секретного ключа между взаимодействующими сторонами. Способы отправки ключа громоздки и очень уязвимы для прослушивания.
Криптография с открытым ключом
В отличие от традиционной криптографии, криптография с открытым ключом использует два разных ключа, называемых открытым ключом и частным ключом. Каждый пользователь генерирует пару открытого и закрытого ключей. Затем пользователь помещает открытый ключ в доступное место. Когда отправитель хочет отправить сообщение, он шифрует его, используя открытый ключ получателя. Получив зашифрованное сообщение, получатель расшифровывает его, используя свой закрытый ключ. Поскольку закрытый ключ неизвестен никому, кроме получателя, никто другой человек, получивший сообщение, не может его расшифровать.
Наиболее популярные алгоритмы криптографии с открытым ключом: RSA алгоритм и Diffie– Hellmanалгоритм. Этот метод очень безопасен для отправки личных сообщений. Однако проблема в том, что он требует большого количества вычислений и поэтому оказывается неэффективным для длинных сообщений.
Решение состоит в том, чтобы использовать комбинацию традиционной криптографии и криптографии с открытым ключом. Секретный ключ зашифровывается с использованием криптографии с открытым ключом перед тем, как передать его между сторонами. Затем сообщение отправляется с использованием обычной криптографии с помощью общего секретного ключа.
Цифровые подписи
Цифровая подпись (DS) - это метод аутентификации, основанный на криптографии с открытым ключом, используемый в приложениях электронной коммерции. Он связывает уникальный знак с человеком в теле его сообщения. Это помогает другим проверять подлинность действительных отправителей сообщений.
Обычно цифровая подпись пользователя меняется от сообщения к сообщению, чтобы обеспечить защиту от подделки. Метод следующий -
Отправитель принимает сообщение, вычисляет дайджест сообщения и подписывает его с помощью закрытого ключа.
Затем отправитель добавляет подписанный дайджест вместе с текстовым сообщением.
Сообщение отправляется по каналу связи.
Получатель удаляет добавленный подписанный дайджест и проверяет дайджест, используя соответствующий открытый ключ.
Затем получатель берет сообщение с открытым текстом и обрабатывает его по тому же алгоритму дайджеста сообщения.
Если результаты шагов 4 и 5 совпадают, то получатель знает, что сообщение имеет целостность и подлинность.