Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Отчёт по лабораторным.docx
Скачиваний:
13
Добавлен:
18.11.2022
Размер:
494.32 Кб
Скачать

Лабораторная работа № 5. Шифрование в sql Server.

  1. Запустить SQL Server Management Studio с правами пользователя sa.

  2. Открыть базу данных Sale2.

  3. Открыть таблицу Client. Проверить, имеются ли в ней поля Crypt_phone, Crypt_region, Crypt_adress, Crypt_name_firm для записи зашифрованной информации. Если таких полей нет, то создать их, задав им необходимый тип.

  4. Создать нового пользователя базы данных (по фамилии одного из членов бригады) с правами доступа только к базе данных Sale2.

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

  6. Создать симметричный ключ для созданного пользователя. В качестве алгоритма шифрования выбрать алгоритм DES.

  7. Зарегистрироваться под созданным именем пользователя.

  8. Зашифровать столбцы с данными о телефоне, стране, адресе и названии фирмы в таблице клиентов. Зашифрованную информацию ввести в соответствующие столбцы для шифрования.

  9. Создать запрос для просмотра зашифрованной информации.

  10. Создать запрос для просмотра расшифрованной информации.

  11. Дополнить базу информацией о двух новых клиентах. При этом информацию о телефоне, стране, адресе и названии фирмы в открытом виде не вводить (данные столбцы должны остаться пустыми), а ввести её сразу в зашифрованном виде в соответствующие столбцы.

  12. Просмотреть зашифрованную информацию

  13. Просмотреть расшифрованную информацию.

Текст программы:

USE Sale1

CREATE SYMMETRIC KEY CLIENT_KEY1

AUTHORIZATION Ерохин WITH ALGORITHM=DES

ENCRYPTION BY PASSWORD='17'

use Sale1

open symmetric key ck decryption by password='17'

update client set

crypt_phone=ENCRYPTBYKEY(key_guid('ck'),phone)

close all symmetric keys

use Sale1

select crypt_phone,crypt_region,crypt_adress,crypt_name_firm

from client

use Sale1

open symmetric key ck decryption by password='17'

select CONVERT(nvarchar(24),decryptbykey(crypt_phone)) as phone,CONVERT(nvarchar(15),decryptbykey(crypt_region)) as region,CONVERT(nvarchar(60),decryptbykey(crypt_adress)) as address,CONVERT(nvarchar(50),decryptbykey(crypt_name_firm)) as name_firm

from client

close symmetric key ck

use Sale1

open symmetric key ck decryption by password='17'

insert into client(key_client,crypt_phone,crypt_adress,crypt_region,crypt_name_firm)

values ('blid',ENCRYPTBYKEY(key_guid('ck'),'1927847'),ENCRYPTBYKEY(key_guid('ck'),'Bal'),ENCRYPTBYKEY(key_guid('ck'),'Rus'),ENCRYPTBYKEY(key_guid('ck'),'Bel'))

close symmetric key ck

Контрольный пример:

Вывод зашифрованных данных:

Вывод расшифрованных данных:

Лабораторная работа № 6. Работа с зашифрованными базами в Visual Studio.

  1. Создать в Visual Studio .Net новый проект типа Windows application.

  2. Создать связь с базой данных Sale2 под именем пользователя, созданного в работе № 4.

  3. Нанести на форму две кнопки с надписями «Зашифрованная информация» и «Расшифрованная информация».

  4. Нанести на форму элемента DataGrid.

  5. При нажатии на первую кнопку обеспечить просмотр всей информации из таблицы клиентов в том виде, как она есть (секретные столбцы должны отображаться в зашифрованном виде).

  6. При нажатии на вторую кнопку обеспечить просмотр всей информации из таблицы клиентов в расшифрованном виде.

  7. Если информация просматриваться не будет, то повторить работу 4, а затем сразу выполнить пункт 6.

Текст программы:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

namespace Информационная_безопасность__6

{

public partial class Form1 : Form

{

public Form1()

{