Проектування та програмування мікроконтролерних пристроїв захисту інформації

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
ІКТА
Факультет:
ЗІ
Кафедра:
Захист інформації

Інформація про роботу

Рік:
2024
Тип роботи:
Курсова робота
Предмет:
Мікропроцесори в системах технічного захисту інформації
Варіант:
14

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» Кафедра «Захист інформації» / КУРСОВА РОБОТА з дисципліни: «Мікропроцесори в системах технічного захисту інформації» на тему: «Проектування та програмування мікроконтролерних пристроїв захисту інформації» Варіант № 14 Зміст 1. Вступ.........................................................................................................................3 2.Завдання.....................................................................................................................4 1. Схема електрична принципова ..............................................................................5 2. Розрахунок схеми.....................................................................................................6 3. Лістинг програми.....................................................................................................7 4. Результат симуляції в середовищі Proteus...........................................................12 5. Специфікація елементів схеми.............................................................................13 6. Висновок.................................................................................................................14 7. Список літератури..................................................................................................15 ВСТУП Серед десятків сімей мікроконтролерів, які випускають в наш час, особливо виділяються мікроконтролери сім’ї AVR фірми Atmel. Високі технічні характеристики, мала споживана потужність та низька вартість зумовили їх широку популярність у світі й, зокрема, в Україні. Зростанню популярності також сприяла наявність розвинених і недорогих інструментальних і програмних засобів розроблення та налагодження. Все це дає змогу розглядати мікроконтролери AVR як промисловий стандарт серед 8-розрядних мікроконтролерів. Основна сфера застосування цих мікроконтролерів – це різноманітні системи автоматизації, управління і вимірювання. Широко використовуються мікроконтролери AVR і для побудови охоронних сенсорів та сигналізацій, систем контролю доступу, детекторів поля та іншої спеціалізованої апаратури. Для задач, у яких вимоги до захисту інформації особливо високі – смарт-карти, електронна комерція, автентифікація користувачів, шифрування даних, фірма Atmel пропонує спеціалізовані мікроконтролери – зокрема, сім’ї SecureAVR, які поєднують звичайне AVR-ядро з додатковими модулями для підтримки криптографічних операцій та підвищення фізичної захищеності мікросхем до різного роду атак. Вивчення мікроконтролерів AVR забезпечує додаткові переваги спеціалістам з інформаційної безпеки. Завдання Скласти електричну принципову схему і написати програму для функціонування вимірювальної частини технічної системи захисту інформації, структурна схема якої представлена на рис. 1. / Рис. 1. Структурна схема проектованої СТЗІ Система здійснює оцифрування вхідного аналогового сигналу Vin з заданою частотою дискретизації Fd. Отримані дані шифруються за заданим алгоритмом і записуються в мікросхему енегронезалежної EEPROM – пам‘яті та передаються через інтерфейс RS232 з заданною швидкістю R. Таблиця 1 Параметри типової СТЗІ Варіант Діапазон вхідного сигналу Vin, В Частота дискретизації Fd, Гц Алгоритм шифрування Мікросхема EEPROM-пам‘яті Швидкість передачі R, біт/сек  14 0 ...0.5 5 XTEA 24FC512 (65536x8 біт I2C Serial EEPROM) 4800   Схема електрична принципова / Рис.2. Схема електрична принципова 2. Розрахунок схеми Джерелом струму є дві алкалайнові батареї . Отже для живлення нашої схеми доцільно використати мікросхему Step-Up стабілізатора LTC3525-5, спеціально призначену для живлення портативної апаратури від батарей та акумуляторів. Розрахунок Step-Up стабілізатора LTC3525-5. / Рис. 3. Схема Step-Up стабілізатора LTC3525-5 На виході нашого стабілізатора ми отримуємо напругу Vout =5 В. На вхід стабілізатора подається напруга Vbat = 3 В. Розрахунок кола підсилення, масштабування та фільтрації Кола масштабування та підсилення повинні забезпечити, щоб діапазон вхідного сигналу АЦП відповідав діапазону перетворення АЦП. Коло фільтрації повинне забезпечити виконання умов теореми Котельникова та ослабити шуми і завади. Діапазон перетворення АЦП становить 0 ... Vref, де Vref – опорна напруга. Я використав мікроконтроллер ATmega16 з вбудованим АЦП. Опорна напруга 5 В подається через вхід AVCC , отже діапазон перетворення АЦП 0 .. 5 Діапазон вхідного сигналу – 0 ... 0.5 В, отже нам перед передачею сигналу на АЦП необхідно його підсилити в 10 разів. Використовуємо підсилювач напруги на базі ОП (TLV2252IDR) з неінвертуючим включенням. / Рис. 3. Схема неінвертуючого включення операційного підсилювача Коефіцієнт підсилення К = 1+ (R3/R2). Для К = 10, R3 = 180 кОм, R2 =20 кОм. Для виконання теореми Котельникова я використовую пасивний фільтр нижніх частот першого порядку. Частота дискретизації фільтра Fd = 2 * Fmax, Fd = 5 Гц , тоді Fmax = 2,5 Гц. Отже fзр = 2,5 Гц. , R1 = 20 кОм, С1 = 3.3 мкФ. 3. Лістинг програми Програма здійснює перетворення аналогового сигналу в цифровий, шифрування його за алгоритмом ТЕА і передачу через UART. #include <mega16.h> #include <delay.h> #include <stdio.h> #include <crypto.c> #include <stdlib.h> /* now you can include the I2C Functions */ #include <i2c.h> #define FOSC 7372800 // Тактова частота #define BAUD 4800 // Необхідна швидкість передачі USART #define MYUBRR 95 // FOSC/16/BAUD-1 #define N_1 1439 // Значення, записане в регістр порівняння OCR1A // береться з формули N=Fosc/fd/1024-1 #define EEPROM_BUS_ADDRESS 0xa0// згідно datasheet // Прототипи функцій. void Init(void); void eeprom_write(uint8_t* data); void USART_Init(uint16_t); uint16_t strt_addr=0; uint16_t ADC_Data[4]; // масив для данних з АЦП uint16_t Enc_Data[4]; //маств данних для шифрування uint16_t Dcr_Data[4]; //масив даних для данних після шифрування uint8_t Buffer_Full_flag=0; uint8_t Sample_Cnt=0; uint8_t Byte_Cnt; uint8_t* Ptr_8bit = (uint8_t*)&Dcr_Data;//вказівник на адресу зашифрованих даних // Переривання interrupt [USART_DRE] void usart_int (void) { UDR = *Ptr_8bit++; // відправити шашифровані дані з масиву Dcr_Data через USART Byte_Cnt++; if( Byte_Cnt == 8 ) { Byte_Cnt = 0; Ptr_8bit = (uint8_t*)&Dcr_Data; UCSRB = UCSRB&(~(1<<UDRIE)); } } // Підпрограма обробки переривання при співпадінні OCR1A і регістра лічби interrupt [TIM1_COMPA] void timer1_ovf_isr(void) { ADCSRA|=(1<<ADSC); //Зробити одне ADC. } // Обробка по закінченню ADC interrupt [ADC_INT] void adc_isr(void) { ADC_Data[Sample_Cnt++] = ADCW; if(Sample_Cnt==4) { Buffer_Full_flag=1; Enc_Data[0]= ADC_Data[0]; // 0x4344; Enc_Data[1]= ADC_Data[1]; // 0x4142; Enc_Data[2]= ADC_Data[2]; // 0x4748; Enc_Data[3]= ADC_Data[3]; // 0x4546; Sample_Cnt=0; } } void main(void) { uint32_t key[4] = { 0x00010203, 0x04050607, 0x08090a0b, 0x0c0d0e0f }; Init(); // Ініціалізація таймера1, i2c , uart і ADC. #asm("sei") // Дозволити переривання в програмі. while (1) { if( Buffer_Full_flag == 1 ) { xtea_encipher((uint32_t*)Enc_Data, key); //виклик функції зашифрування Dcr_Data[0]=Enc_Data[0]; Dcr_Data[1]=Enc_Data[1]; Dcr_Data[2]=Enc_Data[2]; Dcr_Data[3]=Enc_Data[3]; Buffer_Full_flag=0; UCSRB = UCSRB|(1<<UDRIE); eeprom_write((uint8_t*)Dcr_Data); } } } // Функції!!! void Init (void) // Ініціалізація таймера т1 і ADC. { // ADC. SFIOR=0x00; //тут нулі бо додаткові функції(такі як неінвертувальний // аналогоаий компаратор)нам не потрібні ! ADMUX = (1<<MUX0)|(1<<REFS0); ADCSRA=(1<<ADEN)|(1<<ADIE)|(1<<ADPS2)|(1<<ADPS1); // Частота роботи ADC задалася ADPS2 і ADPS1 тобто FOSC\4 = 115.200 kHz, // зовнішнє джерело опорної напруги на AREF, режим однократного запуску вимірювань . USART_Init ( MYUBRR ); // Ініціалізація USART. /* initialize the I2C bus */ i2c_init(); // Таймер T1. // Занести в регістр порівняння таймера Т1 розраховану константу N OCR1A = N_1; // Запустити таймер Т1,задати DIV=1024, скидання TCNT1 в ноль при співпадінні TCCR1B = (1<<WGM12) | (1<<CS12) | (1<<CS10); // Дозволити переривання від таймера Т1 в режимі порівняння TIMSK = (1<<OCIE1A); } void USART_Init(uint16_t ubrr) // Ініціалізація USART. { /* Set baud rate */ UBRRH = (uint8_t)(ubrr>>8); UBRRL = (uint8_t)ubrr; /* Enable receiver and transmitter */ UCSRB = (1<<RXEN)|(1<<TXEN); /* Set frame format: 8data, 2stop bit */ UCSRC = (1<<URSEL)|(1<<USBS)|(3<<UCSZ0); } /* write a byte to the EEPROM */ void eeprom_write(uint8_t* data) { uint8_t i; for(i=0;i<8;i++) { i2c_start(); i2c_write(EEPROM_BUS_ADDRESS); i2c_write((strt_addr>>8)); i2c_write((unsigned char)strt_addr); i2c_write(data[i]); i2c_stop(); /* 5 ms delay to complete the write operation */ delay_ms(5); strt_addr++; } } crypto.c #include <stdint.h> void xtea_encipher(uint32_t *v, uint32_t const *k) { uint8_t i; uint32_t v0=v[0], v1=v[1], sum=0, delta=0x9E3779B9; for (i=0; i < 32; i++) { v0 += (((v1 << 4) ^ (v1 >> 5)) + v1) ^ (sum + k[sum & 3]); sum += delta; v1 += (((v0 << 4) ^ (v0 >> 5)) + v0) ^ (sum + k[(sum>>11) & 3]); } v[0]=v0; v[1]=v1; } void xtea_decipher(uint32_t *v, uint32_t const *k) { uint8_t i; uint32_t v0=v[0], v1=v[1], delta=0x9E3779B9, sum=delta*32; for (i=0; i < 32; i++) { v1 -= (((v0 << 4) ^ (v0 >> 5)) + v0) ^ (sum + k[(sum>>11) & 3]); sum -= delta; v0 -= (((v1 << 4) ^ (v1 >> 5)) + v1) ^ (sum + k[sum & 3]); } v[0]=v0; v[1]=v1; } 4. Результат симуляції в програмі Proteus // Рис. 4. Результат симуляції в програмі Proteus 5. Специфікація елементів схеми Специфікація № К-ть Позначення Опис Маркування Виробник Корпус Номінал  Резистори  1 1 R1,R6 SMD-резистор, 5%, 0.125 Вт Any Any 0805 20кОм  2 1 R2 SMD-резистор, 5%, 0.125 Вт Any Any 0805 2.2МОм  3 3 R3, R4 SMD-резистор, 5%, 0.125 Вт Any Any 0805 10кОм  4 1 R5 SMD-резистор, 5%, 0.125 Вт Any Any 0805 180кОм  Конденсатори  5 1 С1,С2 SMD-конденсатор, 10%, 16В Any Any 0805 3.3мкФ  6 1 С3 SMD-конденсатор, 10%, 16В Any Any 0805 10мкФ  7 2 С4, С5 SMD-конденсатор, 10%, 16В Any Any 0805 22пФ  8 3 С6, С7, С8 SMD-конденсатор, 10%, 16В Any Any 0805 100нФ  Мікросхеми  9 1 U1 Мікроконтроллер ATmega16 Atmel 44-QFP   10 1 U2 Мікросхема EEPROM- пам’яті 24AA256 Microchip    11 1 U5 Перетворювач рівнів MAX232 Atmel    12 1 J1 Роз‘єм CONN-D9F Any Any    13 1 DA1 Операційний підсилювач TLV2252IDR Texas Instruments SOIC-8   14 1 U4 Cтабілізатор Step-Up 5 В LTC3525-5 Linear Technology 10-QFN   Решта  15 2 L1,L2 SMD-індуктивність, 20%, 1.65 А Any Any 0805 10мкГн   6. Висновок На даний момент йде активний розвиток науки і техніки, і разом з ними розвиваються системи для здобуття інформації та системи технічного захисту інформації. Мікропроцесори в системах технічного захисту інформації відіграють що далі то більшу і більшу роль, оскільки іхні потужності та можливості постійно зростають, а розміри зменшуються. В цьому курсовому проекті я реалізував пристрій на базі мікроконтроллера AVR ATmega16 , котрий зчитує аналоговий сигнал з джерела, оцифровує його, потім кодує за допомогою алгоритму шифрування XТЕА і передає зашифроване значення через інтерфейс RS232. 7. Список літератури 1. Проектування та програмування мікроконтролерних пристроїв захисту інформації // Методичні вказівки до розрахункової роботи з курсу «Мікропроцесори в системах технічного захисту інформації» для студентів напряму 6.170102 «Системи технічного захисту інформації» / Укл. Я. Р. Совин – Львiв: Національний університет "Львівська політехніка", 2013. – 17 с. 2. Побудова охоронних систем з GSM-сигналізацією на AVR-мікроконтролерах. Знайомство з середовищем CodeVisionAVR // Методичні вказівки до лабораторної роботи No 4 з курсу «Мікропроцесори в системах технічного захисту інформації» для студентів напряму 6.170102 «Системи технічного захисту інформації» / Укл. Я. Р. Совин, М. Ю. Стахів – Львiв: Національний університет "Львівська політехніка", 2010. – 22 с. 3. Побудова інфрачервоних детекторів руху на AVR-мікроконтролерах // Методичні вказівки до лабораторної роботи No 3 з курсу «Мікропроцесори в системах технічного захисту інформації» для студентів напряму 6.170102 «Системи технічного захисту інформації» / Укл. Я. Р. Совин, М. Ю. Стахів - Львiв: Національний університет "Львівська політехніка", 2010. - 15 с. 4. Евстифеев А. В. Микроконтроллеры AVR семейства Classic фирмы «ATMEL». – М. Издательский дом “Додэка-ХХI”, 2002. – 288 с.
Антиботан аватар за замовчуванням

06.02.2014 14:02-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!