Основы PL/pgSQL в СУБД PostgreSQL

Курс по изучению процедурного расширения PL/pgSQL в СУБД PostgreSQL. Основная концепция PL/pgSQL заключается в том, чтобы преодолеть ограничения языка SQL и предоставить разработчикам новые возможности для работы с базами данных.

Поступить на курс

Погружение в базы данных PostgreSQL

Данный курс является консолидацией теоретических основ и практических примеров, которые демонстрируют работу операторов и функций SQL в системе управления базами данных PostgreSQL.

Поступить на курс

JSON в PostgreSQL

Курс «JSON в PostgreSQL» познакомит вас с форматом JSON и покажет, как создавать и обрабатывать JSON-данные в СУБД PostgreSQL.

Поступить на курс

XML в PostgreSQL

Курс по изучению и практическому применению расширяемого языка разметки XML (eXtensible Markup Language) в системе управления базами данных PostgreSQL.

Поступить на курс

Оконные функции в PostgreSQL

Курс по изучению и практическому применению оконных функций в системе управления базами данных PostgreSQL.

Поступить на курс

Массивы в PostgreSQL

Курс по изучению и практическому применению массивов (array) в системе управления базами данных PostgreSQL.

Поступить на курс

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

Симметричное шифрование, которое часто называют шифрованием с помощью секретных ключей, в основном используется для обеспечения конфиденциальности данных. На рисунке 1 показаны два пользователя, Алиса и Боб, которые хотят установить между собой конфиденциальную связь. Для этого Алиса и Боб должны совместно выбрать единый математический алгоритм, который будет использоваться для шифрования и расшифровки данных. Кроме того, им нужно выбрать общий ключ (секретный ключ), который будет использоваться с принятым ими алгоритмом шифрования/расшифровки.

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

Весьма упрощенным примером алгоритма секретного ключа является так называемый шифр Цезаря, показанный на рисунке 2.

Шифр Цезаря. Симметричное шифрование.

Этот метод шифрования заключается в том, что каждая буква в тексте заменяется на другую букву, находящуюся на определенном расстоянии от нее в алфавите. При шифровании или расшифровке этот алгоритм как бы сдвигает буквы вверх и вниз по алфавиту. Ключом в этом примере являются три буквы.

Совершенно ясно, что если кто-нибудь получит зашифрованное этим способом сообщение и будет знать алгоритм (куда сдвигать буквы — вверх или вниз по алфавиту), он сможет легко раскрыть ключ методом простого перебора, который заключается в том, что человек перебирает все возможные комбинации алгоритма до тех пор, пока не получит в результате расшифрованный текст. Обычно, чем длиннее ключ и чем сложнее алгоритм, тем труднее решить задачу расшифровки простым перебором вариантов.

Сегодня широко используются такие алгоритмы секретных ключей, как Data Encryption Standard (DES), 3DES (или «тройной DES») и International Data Encryption Algorithm (IDEA). Эти алгоритмы шифруют сообщения блоками по 64 бита. Если объем сообщения превышает 64 бита (как это обычно и бывает), необходимо разбить его на блоки по 64 бита в каждом, а затем каким-то образом свести их воедино. Такое объединение, как правило, происходит одним из следующих четырех методов: электронной кодовой книги (ECB), цепочки зашифрованных блоков (CBC), x-битовой зашифрованной обратной связи (CFB-x) или выходной обратной связи (OFB).

Шифрование с помощью секретного ключа чаще всего используется для поддержки конфиденциальности данных и очень эффективно реализуется с помощью неизменяемых «вшитых» программ (firmware).

Этот метод можно использовать для аутентификации и поддержания целостности данных, но метод цифровой подписи (о котором мы скажем позже) является более эффективным. С методом секретных ключей связаны следующие проблемы:

  • Необходимо часто менять секретные ключи, поскольку всегда существует риск их случайного раскрытия.
  • Трудно обеспечить безопасное генерирование и распространение секретных ключей.

Для получения и безопасного распространения секретных ключей обычно используется алгоритм Диффи-Хеллмана (Diffie-Hellman).

Источник: Решения компании Cisco Systems по обеспечению безопасности корпоративных сетей

Метки: , , .

Записи по теме

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *