Исследование встроенных в операционную систему Windows криптографических средств защиты информации

Характеристика и работа в файловой системе EFS, специфика и сущность работы с шифрованием данных в ОС Windows. Описание и особенности базовых объектов криптографической системы Windows. Способы инициализации и методы применения криптографических ключей.

Рубрика Программирование, компьютеры и кибернетика
Вид лабораторная работа
Язык русский
Дата добавления 28.04.2016
Размер файла 738,7 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

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

«Национальный исследовательский университет «МИЭТ»

ДИСЦИПЛИНА

«Криптографические методы защиты информации»

Модуль 1 «Правовые основы криптографической защиты»

ОТЧЕТ

по лабораторной работе

«Исследование встроенных в операционную систему Windows криптографических средств защиты информации»

Выполнил студент МП-33 учебной группы

Баюшкин С.С./

Проверил Бутакова Н.Г./

2016

Задание на лабораторную работу

Цель лабораторной работы:

1. Ознакомиться с файловой системой EFS, получить навыки работы с шифрованием данных в ОС Windows;

2. Исследовать базовые объекты криптографической системы Windows - криптопровайдеры, исследовать возможности и изучить способов применения криптографических хеш-функций, изучить способы инициализации и методы применения криптографических ключей, изучить методы шифрования и дешифрования данных, изучить методы формирования и проверки цифровой подписи;

3. Ознакомится с функцией шифрования диска BitLocker.

Лабораторный стенд: персональный компьютер; программное обеспечение, папка на рабочем столе «lab_encrypt».

Задание на лабораторную работу:

1. Ознакомиться с теоретическими сведениями данного руководства;

2. Файловая система EFS;

Зашифровать файлы и папки, используя средства ОС Windows.

3. Криптопровайдеры;

Получить хэш текста, сгенерировать криптографические ключи, зашифровать данные и сформировать цифровую подпись посредством криптографической подсистемы CryptoAPI.

4. BitLocker;

Рассмотреть функцию шифрования на примере создания ключа шифрования.

5. Контрольные вопросы;

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

6. Отчет о проделанной работе.

Сформировать окончательный файл отчета** и защитить лабораторную работу у преподавателя.

**По итогам лабораторной работы преподавателю должен быть предоставлен отчет (документ Word), который должен содержать краткий протокол (описание последовательности действий), снимки экрана во время прохождения ключевых этапов лабораторной работы (в руководстве они помечены знаком «*»), а также ответы на вопросы, встречаемые по ходу работы и приведенные в конце данного руководства.

Содержание

  • 1. Файловая система EFS
  • 2. Исследование функций программного интерфейса CryptoAPI для взаимодействия с криптографической подсистемой операционных систем Windows XP и Windows 7
  • Вывод по работе
  • Контрольные вопросы
  • Литература

1. Файловая система EFS

Рисунок 1 - Ознакомительное задание в системе EFS

Задание

1. Загрузитесь под учетной записью student. (если её нет, создать)

2. Создайте текстовый файл student.txt и зашифруйте его* (* - снимок экрана поместить в отчёт).

3. Загрузитесь под учетной записью mszistud. (если её нет, создать)

4. Проверьте, может ли пользователь mszistud прочитать файл student.txt*.

5. Создайте текстовый файл mszi.txt и зашифруйте его*.

6. Загрузитесь под учетной записью student.

7. Проверьте, может ли пользователь student прочитать файл mszi.txt*.

8. Добавьте к зашифрованному файлу student.txt пользователя mszistud.

9. Загрузитесь под учетной записью mszistud.

10. Проверьте, может ли теперь пользователь mszistud прочитать файл student.txt. Если вы все правильно сделали, то файл student.txt будет доступен как student так и mszistud*.

11. Создайте и зашифруйте папку mszifolder. Перенесите в нее любой незашифрованный файл. Просмотрите результат*.

12. Попробуйте обратиться к этой папке под учетной записью student.

13. Загрузитесь под учетной записью student.

14. Перенесите любой зашифрованный файл на диск с файловой системой FAT. Просмотрите результат*.

Рисунок 2 - Пользователь mszistud не имеет доступ к зашифрованному файлу

Рисунок 3 - Пользователь student прочитать файл mszi.txt

Рисунок 4 - Файл student.txt доступен обоим пользователем

Рисунок 5 - Обратиться к папке mszifolder под учетной записью student не удалось

Рисунок 6 - Перенос зашифрованного файла на диск с файловой системой FAT

2. Исследование функций программного интерфейса CryptoAPI для взаимодействия с криптографической подсистемой операционных систем Windows XP и Windows 7

1. Используя функции CryptEnumProvidersиCryptEnumProviderTypes необходимо вывести на экран сведения (имя, тип, название типа) обо всех криптопровайдерах, установленных в операционной системе. Допускается реализация каждой функции в отдельном приложении*. (Смотрите пункт 2.2.1 теоретической части).

Исходный код:

#include <windows.h>

#include <wincrypt.h>

#include <iostream>

#include <locale.h>

#include <tchar.h>

using namespace std;

void main() {

setlocale(LC_ALL, "Russian");

DWORD dwIndex;

DWORD dwType;

DWORD cbName;

LPTSTR pszName;

cout << "Список доступных криптопровайдеров:" << endl;

cout << "Тип провайдера\tИмя провайдера" << endl << endl;

dwIndex = 0;

while(CryptEnumProviderTypes(dwIndex, NULL, 0, &dwType, NULL, &cbName)) {

if (!(pszName = (LPTSTR)LocalAlloc(LMEM_ZEROINIT, cbName))) {

cout << "Ошибка в LocalAlloc\n";

exit(1);

}

if (CryptEnumProviderTypes(dwIndex++, NULL, NULL, &dwType, pszName, &cbName)) {

_tprintf (TEXT(" %4.0d %s\n"), dwType, pszName);

}

else {

cout << "Ошибка в CryptEnumProviderTypes\n";

exit(1);

}

LocalFree(pszName);

}

getchar();

}

Вывод программы:

Рисунок 7 - Вывести на экран сведения (имя, тип) обо всех криптопровайдерах, установленных в операционной системе

windows криптографический шифрование файловый

2. Используя функцииCryptCreateHash, CryptHashData, CryptDuplicateHash, CryptGetHashParam и CryptDestroyHash и алгоритм хеширования md5, вычислить и вывести на экран хеш-значение данных, хранящихся в файле*. (Смотрите пункт 2.2.2 теоретической части).

Исходный код:

#include <fstream>

#include <vector>

#include <windows.h>

#include <wincrypt.h>

#include <iostream>

#include <string>

#include <locale.h>

using namespace std;

int main()

{

setlocale(LC_ALL, "Russian");

HCRYPTPROV hCryptProv;

HCRYPTHASH hHash;

if(CryptAcquireContext(&hCryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) {

cout << "CryptAcquireContext complete. \n";

}

else {

cout << "Acquisition of context failed.\n";

exit(1);

}

if(CryptCreateHash(hCryptProv, CALG_MD5, 0, 0, &hHash)) {

cout << "An empty hash object has been created. \n";

}

else {

printf("Error during CryptBeginHash!\n");

exit(1);

}

string line;

string text;

int count = 0;

ifstream file ("d:\\text.txt");

if (file.is_open()) {

while (!file.eof()) {

getline(file,line);

text += line;

}

file.close();

}

else cout << "Unable to open file";

char *text2 = new char[text.length()];

for(int i = 0; i < text.length(); i++)

text2[i] = text[i];

text2[text.length()] = '\0';

cout << "Text: " << text2 << endl;

if ( !CryptHashData(hHash, (BYTE*)text2, sizeof(text2) - 1, 0) ) {

cout << "Error during CryptHashData!\n";

exit(1);

}

DWORD dwHashLen;

DWORD dwHashLenSize = sizeof(DWORD);

if(!CryptGetHashParam(hHash, HP_HASHSIZE, (BYTE *)&dwHashLen, &dwHashLenSize, 0)) {

cout << "CryptGetHashParam failed to get size.";

exit(1);

}

vector <BYTE> bHash(dwHashLen);

if(CryptGetHashParam(hHash, HP_HASHVAL, &bHash[0], &dwHashLen, 0)) {

cout << "The hash is: ";

for(DWORD i = 0 ; i < dwHashLen ; i++) {

printf("%02x ",bHash[i]);

}

cout << "\n";

}

else {

cout << "Error during reading hash value.";

exit(1);

}

if(hHash)

CryptDestroyHash(hHash);

if(hCryptProv)

CryptReleaseContext(hCryptProv,0);

delete [] text2;

return 0;

}

Вывод программы:

Рисунок 8 - Вычислить и вывести на экран хеш-значение данных, хранящихся в файле

Вывод по работе

В ходе данной лабораторной работы, мы научились пользоваться встроенными средствами криптографической защиты информации. Шифровать с помощью этих средств файлы и папки. Узнали условия, при которых возможно шифрование файлов. На примере встроенных в компилятор функций с++, смогли получить список криптопровайдеров, и смогли сгенирировать ключ для дальнейшего шифрования и хеширования. Получили хеш значение на основе данного текста и сгенирированного ключа.

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

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

11, 25

1. Опишите функции CryptEncrypt, CryptDecrypt и назовите их параметры.

2. Можно ли к зашифрованной папке добавить пользователей?

3. Выполняет ли BitLocker шифрование и расшифровку всего диска при чтении и записи данных?

1) Базовая функция шифрования данных имеет следующее объявление:

BOOL CryptEncrypt(HCRYPTKEY hKey,

HCRYPTHAS hHash,

BOOL Final,

DWORD dwFlags,

BYTE* pbData,

DWORD* pdwDataLen,

DWORD dwBufLen);

Первым параметром данной функции передается хендл сессионного ключа, применяемого для шифрования.

Для указания того, что это последний блок данных, в функции CryptEncrypt используется третий параметр Final. Четвертый параметр служит указателем на массив входных/выходных данных. Здесь нужно сразу отметить некоторую общую схему работы с данными в Crypto API. Если возвращаемые данные могут быть любого размера (а это возможно, ведь, скажем, в алгоритме может происходить простая замена, когда одна буква кодируется четырьмя цифрами), то работа с функцией состоит из двух этапов. На первом этапе в функцию передается общий размер входных данных и NULL в качестве ссылки на сам массив выходных данных. Функция возвращает длину выходного массива данных, пользователь инициализирует память необходимого размера и лишь затем заново передает функции ссылку на этот массив. Такая же схема используется и в работе с функцией CryptEncrypt. Параметрp dwDataLen служит для возврата размера данных, возвращаемых функцией. Параметр dwBufLen служит для указания длины входного буфера данных. Параметр dwFlags обычно не используется и устанавливается в 0.

Базовая функция расшифрования имеет следующее описание:

BOOL CryptDecrypt(HCRYPTKEY hKey,

HCRYPTHASH hHash,

BOOL Final,

DWORD dwFlags,

BYTE* pbData,

DWORD* pdwDataLen);

Первым параметром данной функции передается инициализированный контекст сессионного ключа, применяемого для расшифровывания данных. Второй параметр, как и в предыдущем примере, связан, по большей части, с функцией получения и проверки цифровой подписи. Обычно он не используется и устанавливается в 0. Параметр dwFlags чаще всего не используется и также устанавливается в 0. Параметры pbData и pdwDataLen используются точно так же, как и у CryptEncrypt и представляют собой ссылку на входной/выходной массив данных и длину этого массива данных.

2) Да, можно. Чтобы добавить пользователей, выполните следующие действия:

Шаг 1

Нажмите кнопку «Добавить», как показано на рис. 3.

Рис 9 - Добавление пользователей

Появится новое диалоговое окно, в котором представлены имеющиеся пользователи и сертификаты, содержащиеся в кеше хранилища сертификатов «Другие пользователи» локального компьютера. Добавляемый пользователь должен иметь действительный сертификат EFS. Сертификат EFS выдается пользователю только в том случае, если он хоть раз зашифровывал файл или папку.

Шаг 2

Чтобы зарегистрировать изменение и продолжить работу, нажмите кнопку OK.

Рис 10 - Успешное добавление нового пользователя

3) Нет, BitLocker не выполняет шифрование и расшифровку всего диска при чтении и записи данных. Секторы, зашифрованные на диске, который защищен BitLocker, расшифровываются только по запросу системных операций чтения. Блоки, которые записываются на диск, шифруются до того, как система записывает их на физический диск. На диске, защищаемом BitLocker, данные никогда не остаются незашифрованными.

Литература

А. Основная литература:

1. Бутакова Н.Г., Семененко В.А., Федоров Н.В. Криптографическая защита информации: учебное пособие для вузов. - М. : Изд-во МГИУ, 2011 . - 316 с. - ISBN 978-5-2760-1503-3.

2. Руссинович М., Соломон Д., Внутреннее устройство Microsoft Windows, 6-е изд. - СПб.: Питер, 2013. - 800 с - ISBN 978-5-459-01730-4

3. Кручинин А.Ю., Ряполова Е.И., Встроенные средства защиты операционной системы Windows 7: методические указания к лабораторным работам - Оренбургский гос. ун-т. - Оренбург: ОГУ, 2013. - 56 с.

Б. Дополнительная литература:

1. Б. Шнайер. Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке Си. Издательство ТРИУМФ, М., 2002.

2. Варфоломеев А.А., Современная прикладная криптография: Учеб. пособие. - М.: РУДН, 2008. - 218 с.: ил.

3. Лясин Д.Н., Саньков С.Г.; Методические указания к лабораторным работам: Модель безопасности ОС Windows, Волгоград. гос. техн. ун-т. - Волгоград, 2011, - 24 с.

В. Интернет-ресурсы

1. http://rsdn.ru/article/crypto/usingcryptoapi.xml - Использование Crypto API

2. http://delphiworld.narod.ru/base/crypt1_3.html - Методы криптографической защиты информации Windows

3. http://www.diary-friend.ru/sredstva_bezopasnosti_v_windows_xp.html - Средства безопасности в Windows XP

Размещено на Allbest.ru

...

Подобные документы

  • Характеристика операционной системы. История развития Windows. Сравнительная характеристика версий Windows. Элементы и инструменты Windows XP. Прикладные программы в Windows XP. Работа настольных и портативных компьютеров под управлением Windows.

    доклад [19,1 K], добавлен 16.10.2011

  • Описание файловой системы Unix. Работа основных команд ls, cmp, comm, их ключей. Разработка программного продукта, работающего в среде Windows и представляющего собой эмулятора командного процессора операционной системы Unix. Выбор средств реализации.

    курсовая работа [183,0 K], добавлен 29.04.2015

  • История создания. Windows 9x/NT. Операционная система Microsoft Windows. Преимущества и недостатки Windows. Некоторые клавиатурные комбинации Windows 9x и NT. Windows XP Professional. Наиболее совершенная защита.

    реферат [19,3 K], добавлен 18.07.2004

  • Общее понятие об оперативной системе Windows Vista. Сравнительный анализ систем Windows XP и Windows Vista. Специфика процесса установки, трехмерный интерфейс Aero Glass, действие некоторых мини-приложений. Новости управления папками, работа в интернете.

    реферат [2,4 M], добавлен 01.02.2010

  • Функции ОС по обслуживанию файловой системы. Комплекс операций над файлами и папками, дисками в Windows 98. Форматирование жесткого диска. Работа в текстовом процессоре Microsoft Word: создание текстового документа с таблицей списка учебной группы.

    контрольная работа [17,7 K], добавлен 02.12.2013

  • Правовые основы защиты информации на предприятии. Анализ среды пользователей. Автоматизированная система предприятия. Краткие сведения об операционной системе Windows XP. Классификация троянских программ. Способы защиты операционной системы Windows XP.

    дипломная работа [187,3 K], добавлен 14.07.2013

  • Программа операционной системы. Перемещение и копирование объектов. Окна Windows, операционное меню, настройка свойств папки, вызов справки Windows. Работа с дисками, папками и файлами, с приложениями и документами. Стандартные программы Windows.

    контрольная работа [21,9 K], добавлен 29.01.2011

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

    дипломная работа [802,2 K], добавлен 08.06.2013

  • Совместное функционирование всех устройств компьютера и доступ к его ресурсам. Понятие и функции графической операционной системы Windows. Справочная служба Windows. Управление файловой системой. Технология "Plug and Play". Графический интерфейс Windows.

    контрольная работа [22,2 K], добавлен 22.01.2011

  • Применение персональных компьютеров различных классов. Работа со встроенными программами Windows. Характеристика распространенных операционных систем (Windows 3.Х, 9Х, NT, 2000, XP, Windows7, Vista). Виды антивирусных программ и защита данных от вирусов.

    контрольная работа [32,3 K], добавлен 23.01.2011

  • Универсальная многоцелевая сетевая операционная система Windows NT Server. Использование Windows NT Workstation как невыделенного сервера в одноранговых сетях и в качестве клиента сетей. Операционные системы Windows 2003, Windows Vista и Windows 7.

    презентация [6,2 K], добавлен 23.10.2013

  • Работа с файлами, каталогами и томами в Windows и Win32 API. Функции GetWindowsDirectory и GetSystemDirectory. Примеры работы с томами. Получение и изменение атрибутов файлов. Описание минимального набора базовых функций Windows. Чтение и запись файлов.

    лекция [62,7 K], добавлен 24.06.2009

  • Появление первых версий Windows, их графические интерфейсы и расширения для DOS. Семейства Windows 3.x и Windows 9.x, их особенности и основные функции. Эволюция технологии Plug and Play. Наиболее существенные улучшения в современных версиях Windows.

    реферат [162,3 K], добавлен 13.06.2014

  • Нарушение работы операционной системы с потерей данных. Шифрование диска BitLocker. Восстановление системы данных ОС средством резервного копирования. Технология защиты Windows 7. Присутствие в системе вирусов. Последствия несанкционированного доступа.

    курсовая работа [3,9 M], добавлен 29.05.2014

  • Краткое описание версий Windows XP: Professional Edition, Home Edition, Tablet PC Edition, Media Center Edition, Embedded, XP 64-bit Edition, XP Edition N, XP Starter Edition. Установка Windows XP. Характеристика интерфейса и нововведений Windows 7.

    контрольная работа [1,8 M], добавлен 14.03.2011

  • Анализ архитектуры ОС Windows 8. Сравнение с предыдущими версиями (интерфейс Modern UI, работа с учетными записями, модель безопасности, диспетчер задач, история файлов, восстановление системы, Storage Spaces). Особенности различных версий Windows 8.

    курсовая работа [289,1 K], добавлен 25.01.2016

  • Анализ программы "Проводник". Понятие операционной системы (ОС). Достоинства и недостатки файловых систем. Исследование методов запуска программы "Проводник", работа с файловой структурой в программе "Проводник" ОС Windows. Приемы работы с объектами.

    курсовая работа [32,7 K], добавлен 13.09.2009

  • Windows как посредник пользователя и операционной системы, облегчая процесс общения между ними, история становления и развития ее первых версий. Функциональные особенности и отличия Windows 95/98/ME и Windows NT/2000/XP/Vista/7, их архитектурные решения.

    презентация [12,7 K], добавлен 23.10.2013

  • Теоретическое изучение и практическое применение приёмов работы с файлами в операционной системе Windows 95. Файлы и папки: основные понятия и правила формирования имен файлов в Windows. Характеристика и анализ особенностей операций с файлами и папками.

    контрольная работа [139,9 K], добавлен 09.03.2011

  • Таймер в Windows как устройство ввода информации, которое извещает приложение о том, что истек заданный интервал времени. Работа с таймером в условиях WinAPI, процесс 32-битного программирования на ассемблере под Windows. Результат выполнения программы.

    курсовая работа [165,6 K], добавлен 18.05.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.