Шифрование симметричным ключом — КиберПедия 

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

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

Шифрование симметричным ключом

2020-04-01 107
Шифрование симметричным ключом 0.00 из 5.00 0 оценок
Заказать работу

При использовании симметричных ключей шифрование производится быстрее, чем при применении асимметричных алгоритмов, поэтому при работе с большими объемами данных рекомендуется использовать именно их. Применение симметричных ключей выглядит очень похоже. Правда, есть и небольшие отличия. Во-первых, при создании симметричного ключа его можно защищать не только паролем, но и другим симметричным ключом, асимметричным ключом или сертификатом. Во-вторых, при создании симметричного ключа вы можете указать один из восьми алгоритмов шифрования, поддерживаемых SQL Server 2005 (DES, TRIPLE_DES, RC2, RC4, DESX, AES_128, AES_192, AES_256). Само создание симметричного ключа может выглядеть так:

SYMMETRIC KEY SymKey1

WITH ALGORITHM = DESBY PASSWORD = '11'

 

Перед использованием ключа его нужно обязательно открыть. Это достаточно сделать только один раз в течение сеанса работы пользователя:

 

OPEN SYMMETRIC KEY SymKey1 DECRYPTION BY

PASSWORD = '11'

 

Используем созданный ключ для шифрования данных:

 

insert into Num_cards (1, EncryptByKey(Key_GUID('SymKey1'), convert(nvarchar(50),'111001')))into Num_cards (2, EncryptByKey(Key_GUID('SymKey1'), convert(nvarchar(50),'111002')))into Num_cards (3, EncryptByKey(Key_GUID('SymKey1'),

convert(nvarchar(50),'111003')))


 

Обратите внимание, что при расшифровке данных нет необходимости передавать функции DecryptByKey имя симметричного ключа и пароль. Будут автоматически подставляться данные открытого ключа при помощи команды open. Для расшифровки сообщения нужно запустить следующий скрипт:

 

select convert(nvarchar(50), DecryptByKey(Cred_ID))Num_cards

 

Потому как зашифрованные данные нельзя хранить в столбцах типа int, char, применяетcя команда convert.

 

Шифрование паролем

SQL Server 2005 позволяет производить шифрование данных также просто при помощи пароля. Для этого используется функция EncryptByPassPhrase.

В самом простом варианте она принимает только пароль и данные, которые необходимо зашифровать:

 

insert into Num_cards(4, EncryptByPassPhrase('Password', N'111004'))

Расшифровка производится при помощи функции DecryptByPassphrase:

select (nvarchar(50), DecryptByPassPhrase('Password', Cred_Id))

from Num_cards


 

Задание на выполнение лабораторной работы

 

Используйте базу данных, разработанную в расчетно-графических работах. Выберите из этой базы таблицу с полями разных типов (символьные, числовые, дата/время и др.).

Выполните процедуры шифрования всеми четырьмя способами для различных типов полей.

Выясните недостатки и достоинства каждого вида шифрования для определенного типа поля.

 

Требования к отчету

 

Отчет по лабораторной работе должен содержать:

структуру таблицы используемой базы данных;

тексты команд шифрования различными способами и листинги

результатов доступа к зашифрованной информации;

сравнительный анализ способов шифрования полей различного типа.

 

Варианты заданий

 

Студент использует собственную базу данных и таблицу выбранной структуры в этой базе; выполняет задание применительно к данным этой таблицы.

 

8.6 Контрольные вопросы

 

Для чего нужна процедура шифрования в базе данных?

Какие способы шифрования данных базы данных вы знаете?

Что такое сертификат?

Как отображаются данные таблицы, к которой применено шифрование?

Различается ли применение шифрования от типа поля таблицы?


Список литературы

 

1. Дейт К.Дж. Введение в системы баз данных. - М.: Издательский дом «Вильямс», 2008.

2. Коннолли Т., Бегг К. Базы данных. Проектирование, реализация и сопровождение. Теория и практика. - М.: Издательский дом «Вильямс», 2003.

.   Кузнецов С.Д. Основы баз данных. - 1-е изд. - М.: «Интернет-университет информационных технологий - ИНТУИТ.ру», 2005.

.   Харрингтон Дж. Разработка баз данных. - М.: ДМК Пресс, 2005.

.   Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. - Базы данных. Учебник для вузов. - М.: Корона-Принт, 2004.

.   SQL Server 2005. Реализация и обслуживание. //Серия: Учебный курс Microsoft SQL. - СПб.: Питер, Русская редакция, 2007.

.   Хансен Г., Хансен Д. Базы данных: разработка и управление. - М.: ЗАО «Издательство БИНОМ», 1999.

.   Плю Р., Стефенс Р., Райан К. Освой самостоятельно SQL за 24 часа. - М.: Издательский дом «Вильямс», 2000.

.   Кандзюба С.П., Громов В.Н. Delphi 6/7. Базы данных и приложения. - СПб: ООО «ДиаСофтЮП», 2002.

.   Григорьев Ю.А., Ревунов Г. И. Банки данных. - М.: Изд. МГТУ им. Н. Э. Баумана, 2002.

.   Харрингтон Д. Проектирование реляционных баз данных просто и доступно. - М.: Изд. «Лори», 2000.


Поделиться с друзьями:

Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...

Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...

Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.01 с.