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

Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...

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

2020-04-01 106
Шифрование симметричным ключом 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.


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

История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...

Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьше­ния длины пробега и улучшения маневрирования ВС при...

Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...

Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...



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

0.011 с.