Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Метод криптографических преобразований на основе жесткой логики




Программируемые логические интегральные схемы (ПЛИС) применяются при построении цифровых вычислительных схем. Они используются как для замены дискретных логических элементов, так и для построения сложных систем, включающих интерфейсную логику, процессорные ядра, элементы памяти, модули цифровой обработки сигналов, специализированные модули и т.д.

Реализация криптографического алгоритма на основе изделий с жесткой логикой имеют преимуществ по сравнению с программными и аппаратными методами:

- не требуется отдельный процессор для выполнения криптографических преобразований;

- не затрачиваются ресурсы центрального процессора компьютера;

- более высокое быстродействие чем у аппаратных методов;

- проект на ПЛИС может быть использован для разработки ИС.

[7][8][9]

 

 

Существующие аналоги модуля шифрования и дешифрования данных

ПКК «Миландр»

ПКК «Миландр» разработал и выпустил в серийное производство микроконтроллер1886BE3.

Отладочный комплект (ОК) для 1886BE3 показан на рисунке 4.

Рисунок – 4 – Отладочный комплект для микроконтроллера 1886BE3

В состав ОК входят:

- отладочная плата с колодкой, примитивной клавиатурой (4 кнопки), восемью семисегментными индикаторами, разведенными портами ввода/вывода и блоком отладки встроенного аналого-цифрового преобразователя (АЦП);

- универсальный программатор для контроллеров серии 1886;

- блоки питания и соединительные шнуры;

- необходимое программное обеспечение (ПО) и документация.

Основные параметры микроконтроллера 1886BE3 приведены в таблице 1.

Таблица 1 - Основные характеристики микроконтроллера 1886BE3.

Название Тактовая частота / производительность Питание, В Память программы Память данных Алгоритм шифрования
1886BE3 33 Мгц / 8 MbitS 5 FLASH 32K x 16 EEPROM 256 байт ГОСТ 28147-89

 

Топология кристалла микроконтроллера 1886BE3 показана на рисунке 5.

Рисунок – 5 – Топология кристалла микроконтроллера 1886BE3

Блок аппаратной поддержки ГОСТ 28157-89 реализует одну базовую итерацию преобразования исходных данных на основе ключа размером 256 бит, констант замены размером 32 бита и синхропосылки размером 32 бита.

Преобразования одновременно производится над блоком данных в 64 бита. С помощью данного блока аппаратной поддержки шифрования могут выполняться все режимы, регламентированные ГОСТ: шифрование и дешифрование в режиме простой замены, в режиме гаммирования, и в режиме гаммирование с обратной связью.

Микроконтроллер 1886EB3 способен выполнять криптографические преобразования над данными и либо передавать их далее по каналу передачи информации, либо сохранять во внешней энергонезависимой памяти типа NAND Flash. Входные данные поступают по интерфейсу USB и передаются в канал передачи информации по интерфейсу RS-232.[10][11]

    5.2 АО «НИИМЭ и Микрон»

Предприятие АО «НИИМЭ и Микрон» разработало отечественную микросхему MIK51SC72Dv6 с операционной системой Trust 2.05, предназначенная для использования в качестве средства криптографической защиты информации.

      Микросхема MIK51SC72Dv6 соответствует требованиям ГОСТ 28147-89, ГОСТ Р 34.11-94, ГОСТ 34.10-2001, ГОСТ Р 34.10-2012, ГОСТ 34.11-2012 и требованиям ФСБ России к криптографическим средствам класса КС3 и может использоваться для криптографической защиты (шифрование данных, содержащихся в оперативной памяти изделия, вычисление значения хэш-функции для данных, содержащихся в областях оперативной памяти изделия, создание и проверка электронной подписи для данных, содержащихся в оперативной памяти изделия) информации, не содержащей сведений, составляющих государственную тайну.

      Поддерживаемые интерфейсы и стандарты: PKCS#11 версии 2.30, MicrosoftCryptoAPI PC/SC, Microsoft CCID, Сертификаты X.509 v3, SSL v3, IPSec/IKE, ISO 7816 части 1,2,3,4,8,9, ISO 14443 части 1,2,3,4.

      Поддерживаемые алгоритмы шифрования: ГОСТ28147-89, DES, Triple DES, AES-128, AES192, AES-256.

      Объем защищенной памяти: 72Кбайт (весь объем памяти доступен для пользовательских данных). [12][13]

Зарубежные аналоги модуля

Среди иностранных производителей криптографических средств с использованием ИС можно выделять компанию «Инсайд РУС», которая занимается поставками и продвижением в России защищенных криптографических микроконтроллеров и криптографической памяти на базе изделий фирмы «Atmel».

КриптопроцессорTrustedPlatformModule (TPM) обеспечивает аппаратное шифрование по алгоритму RSA как для персональных компьютеров (ПК), так и для встраиваемых приложений. Криптопроцессор сочетает архитектуру микроконтроллеров AVR технологию EEPROM.

Ключевые свойства TPM:

- встроенная защищенная память для хранения конфиденциальной информации пользователя (ключи, пароли и т.п.);

- ускоритель вычисления электронно-цифровой подписи (2048 бит) RSA за 200 мс;

- доступны разные интерфейсы передачи данных: SPI, LPC и I2C. 

В семейство криптопроцессоров входят: AT97SC3204, AT97SC3205, AT97SC3205T. Функциональная схема AT97SC3204 показана на рисунке 6. Отличительные особенности семейства криптопроцессоров приведены в таблице 2. [14]

Рисунок – 6 - Функциональная схема криптопроцессора AT97SC3204

Таблица 2 - Отличительные особенности семейства криптопроцессоров.

Наименование Интерфейс передачи данных Память пользователя
AT97SC3204 LPC, 33МГц 1756 байт
AT97SC3205 SPI, 45 МГц 2066 байт
AT97SC3205T I2C, 400 кГц / 100 кГц 2066 байт

 

    6. Способы передачи данных

    6.1 Параллельные и последовательные интерфейсы передачи данных

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

- параллельный интерфейс;

- последовательный интерфейс.

Параллельный интерфейс - для каждого бита передаваемой группы используется своя сигнальная линия, и все биты группы передаются одновременно за один квант времени.

Примеры: LPT, ATA, SCSI.

Последовательный интерфейс - используется лишь одна сигнальная линия, и биты передаются друг за другом по очереди, на передачу каждого бита данных отводится свой квант времени

Примеры: SPI, USB, RS-232, RS485.

В таблице 3 приведены преимущества и недостатки параллельного и последовательного интерфейсов.

Таблица 3 - Преимущества и недостатки параллельных и последовательных интерфейсов.

  Параллельный интерфейс Последовательный интерфейс
  Преимущества 1)Высокая скорость передача данных.   1) Менее дорогие кабели и разъемы; меньшее количество проводов для передачи данных. 2) Более устойчивы к помехам. 3) Возможность передачи данных в двух направлениях (дуплексный режим работы).  
    Недостатки 1) Сложность в синхронизации сигналов на расстоянии более 30 метров; 2) Высокая вероятность появления помех на высоких частотах; 3) Высокая стоимость кабелей и интерфейсных цепей узлов; 4) Требуется большое количество жил в проводнике для передачи информации. 1) Менее высокая скорость передачи данных чем у параллельного интерфейса, которая может быть увеличена путем усиления мощности передатчика.  

 

На основании таблице 3, для передачи информации был выбран последовательный интерфейс передачи данных. [15][16]

    6.2 Последовательные интерфейсы передачи данных

SPI

SPI (SerialPeripheralInterface) – последовательный синхронный стандарт передачи данных в режиме полного дуплекса, разработанный компанией Motorola для обеспечения простого и недорогого сопряжения микроконтроллеров и периферии. Для передачи данных в интерфейсе SPI используется четыре провода.

Шина SPI организована по принципу «ведущий- подчиненный».

В качестве ведущего шины обычно выступает микроконтроллер, но им также может быть программируемая логика, DSP- контроллер или специализированная интегральная схема. В роли подчиненных устройств выступают различного рода микросхемы, в том числе запоминающие устройства (EEPROM, Flash-память)

Главным составным блоком интерфейса SPI является сдвиговый регистр, сигналы синхронизации ввода-вывода битового потока, которые и образуют интерфейсные сигналы.

Непременным условием передачи данных по шине SPI является генерация сигнала синхронизации шины. Устройство - приёмник синхронизирует получение битовой последовательности с тактовым сигналом устройства – передатчика. К одному последовательному интерфейсу ведущего устройства-микросхемы может присоединяться несколько микросхем. Частота работы интерфейса SPI составляет 1-70МГц.

Самое простое подключение, в котором участвуют только две микросхемы, показано на рисунке 7.

Ведущий шины передает данные по линии MOSI синхронно со сгенерированным им же сигналом SCLK, а подчиненный захватывает переданные биты данных по фронту принятого сигнала синхронизации(SCLK).

Рисунок – 7 – подключение «pointtopoint»

Где:

SCLK – сигнал синхронизации передачи данных;

MOSI (masteroutslavein) – сигнал передачи данных от ведущего ведомому;

MISO (Masterinslaveout) – сигнал передачи от ведомого ведущему;

SS – сигнал выбора ведомого.

На рисунке 8 показано подключение нескольких устройств по интерфейсу SPI.

Рисунок – 8 – подключение нескольких устройств по интерфейсу SPI

    6.2.2 USB

USB (UniversalSerialBus – «универсальная последовательная шина») – последовательный интерфейс передачи данных для среднескоростных и низкоскоростных периферийных устройств в вычислительной технике.

Для подключения периферийных устройств к шине USB используется четырехпроводный кабель, при этом два провода (витая пара) в дифференциальном включении используются для приема и передачи данных, а два провода – для питания периферийного устройства. Благодаря встроенным линиям питания, USB позволяет подключать периферийные устройства без собственного источника питания (максимальная сила тока, потребляемого устройством по линиям питания шины USB, не должна превышать 900 мА

К одному контроллеру шины USB можно подсоединить до 127 устройств по топологии «звезда».

Каждое устройство на шине USB при подключении автоматически получает свой уникальный адрес. Логически устройство представляет собой набор независимых конечных точек (endpoint, ЕР), с которыми хост-контроллер обменивается информацией. Каждая конечная точка имеет свой номер и описывается следующими параметрами:

- требуемая частота доступа к шине и допустимые задержки обслуживания;

- требуемая полоса пропускания канала;

- требования к обработке ошибок;

- максимальные размеры передаваемых и принимаемых пакетов;

- тип передачи;

- направление передачи (для передач массивов и изохронного обмена).

Для обнаружения ошибок передачи каждый пакет имеет контрольные поля CRC-кодов, позволяющие обнаруживать все одиночные и двойные битовые ошибки. Аппаратные средства обнаруживают ошибки передачи, а контроллер автоматически производит трехкратную попытку передачи. Если повторы безуспешны, сообщение об ошибке передается клиентскому программному обеспечению.

    6.2.3 RS-232

Интерфейс RS-232 – стандартный интерфейс, предназначенный для последовательной двоичной передачи данных между терминальным (DTE, DataTerminalEquipment) и связным (DCE, DataCommunicationsEquipment) оборудованием.

Схема передачи данных по интерфейсу RS-232 показана на рисунке 9.

 

Рисунок – 9 – Передача данных по интерфейсу RS-232

Терминальное оборудование - микрокомпьютер, может посылать и/или принимать данные по последовательному интерфейсу.

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

RS-232 используется для передачи данных на небольшое расстояние (единицы - десятки метров) с небольшой скоростью (обычно, не быстрее 115200 бит/с).

RS-485

Интерфейс RS-485 (EIA/TIA-485) – широко распространенный высокоскоростной и помехоустойчивый промышленный последовательный интерфейс передачи данных. Практически все современные компьютеры, большинство интеллектуальных датчиков, программируемые логические контроллеры содержат в своём составе реализацию интерфейса RS-485.

Сеть, построенная на интерфейсе RS-485, представляет собой приемопередатчики, соединенные при помощи витой пары - двух скрученных проводов. В основе интерфейса RS-485 лежит принцип дифференциальной передачи данных -передача одного сигнала по двум проводам. По одному проводу (условно A) идет оригинальный сигнал, а по другому (условно B) - его инверсная копия. Если на одном проводе "1", то на другом "0" и наоборот, как показано на рисунке 10. Между двумя проводами витой пары всегда есть разность потенциалов: при "1" она положительна, при "0" - отрицательна.

Рисунок – 10 – Дифференциальная передача данных

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

Свойства интерфейса стандарта RS-485:

- двунаправленная полудуплексная передача данных;

- симметричный канал связи;

- дифференциальный способ передачи данных;

- многоточечность.

Технические характеристики RS-485:

- допустимое число приёмопередатчиков (драйверов): 32;

- максимальная длина линии связи 1200 м;

- максимальная скорость передачи 10 Мбит/с;

- минимальный выходной сигнал драйвера ±1,5 В;

- максимальный выходной сигнал драйвера ±5 В;

- максимальный ток короткого замыкания драйвера 250 мА;

- выходное сопротивление драйвера 54 Ом;

- входное сопротивление драйвера 12 кОм;

- допустимое суммарное входное сопротивление 375 Ом;

- диапазон нечувствительности к сигналу ±200 мВ;

- уровень логической единицы (Uab) >+200 мВ;

- уровень логического нуля (Uab) <-200 мВ.

Интерфейс RS-485 не нормирует формат информационных кадров и протокол обмена. Для передачи байтов данных используются те же фреймы, что и в интерфейсе RS-232: стартовый бит, биты данных, бит паритета, стоповый бит, но в отличие от RS-232, интерфейс RS-485 поддерживает возможность подключения до 32-ух устройств. Протоколы обмена в большинстве реализаций работают по принципу «ведущий»-«ведомый»: одно устройство на магистрали является ведущим (master) и инициирует обмен посылкой запросов подчиненным (ведомым) устройствам (slave), которые различаются логическими адресами.

 

 

      7. Сравнение последовательных интерфейсов передачи данных

Сравнение последовательных интерфейсов передачи данных приведено в таблице 4.

Таблица 4. Сравнение последовательных интерфейсов передачи данных.

Название интерфейса Преимущества Недостатки
    SPI 1. Простая аппаратная реализация интерфейса. 2.Ведомые устройства используют сигналы тактирования ведущего и не нуждаются в точных источниках тактирования 1. Нет адресации в протоколе обмена, для каждого нового ведомого устройства требуется отдельная сигнальная линия выбора (CS).  
    USB 1. Возможность подавать питание на устройство прямо с ПК. 2. Высокая скорость передачи данных (480 Мбит/сек для USB 2.0) 3. Большинство современных персональных компьютеров имеют встроенные USB 2.0 порты и интерфейс 1. Длина кабеля не должна превышать 3 метра. 2. Максимальная сила тока, потребляемого устройством по линиям питания шины USB, не должна превышать 900 мА
  RS-232 1.Простота реализации 1. Низкая скорость передачи данных - не быстрее 115200 бит/с 2. Не может применяться в системах, где требуется гальваническая развязка цепей. 3. Небольшая дальность связидо 15 метров.  
    RS-485 1.Мощность сигнала передатчика RS-485 в 10 раз превосходит мощность сигнала передатчика RS-232, это позволяет подключать к одному передатчику RS-485 до 32-ух приёмников и вести широковещательную передачу данных. 2. Используются симметрические сигналы, у которых имеется гальваническая развязка с нулевым потенциалом питающей сети. В результате исключено попадание помехи по проводу питания (как в RS-232). 3. Большая дальность сети (до 1200 м). 4. Многоточечность соединения. 1. Повышенное потребление энергии при подключении большого количества устройств.  

 

[17][18][19][20][21]

На основании таблицы 4, интерфейс USBбыл выбран для передачи данных от персонального компьютера в модуль, для передачи данных по каналу связи между двумя абонентами (двумя компьютерами) был выбран интерфейс RS-485.

Наиболее распространенные протоколы поддерживаемые RS-485:

- PROFIBUS-DP;

- Modbus.

 

Протоколы передачи данных

Протокол PROFIBUS-DP

PROFIBUS-DP использует уровни 1 и 2 модели OSI, а так же пользовательский интерфейс. В основу пользовательского интерфейса положены необходимые пользовательские функции, а также системные и аппаратно-зависимые функции различных типов PROFIBUS-DP приборов.

Способ передачи: данные передаются внутри 11-разрядного кадра, показанного на рисунке 11, в NRZ-коде (NonReturntoZero). Значения сигнала (биты) не изменяются во время передачи сигнала.

Рисунок – 11 – PROFISUB-DP кадр

Где:

LSB – младший бит;

MSB – старший бит;

0 – начало пакета;

b1..b8 – биты данных;

P – бит паритета (проверочный бит);

1 – конец пакета.

Конструкция PROFIBUS-DP протокола показана на рисунке 12.

 

Рисунок - 12 – Конструкция протокола PROFISUB-DP

Обмен данными между типами DP-приборов:

Инициатор передачи обозначается в PROFISUB-DP как «Requestor» (устройство от которого исходит запрос), а получатель передачи – как «Responder» (ответчик). Все телеграммы-запросы DP-Master'a (класс 1) передаются на уровень 2 как служебные телеграммы «high-pro» (высокого приоритета). Соответствующие телеграммы-ответы DP-Slave'ов передаются на уровень 2 как служебные телеграммы «low-pro» (низкого приоритета).

      DP-Slave имеет возможность при однократном обмене изменить приоритет «low-pro» на «high-pro» для соответствующей телеграммы. Это необходимо при передаче диагностических сообщений или сообщения о событии.[22]

      7.1.2 Протокол ModBus

Modbus – открытый коммуникационный протокол, основанный на архитектуре master-slave (главный-ведомый). Применяется для организации связи между цифровыми устройствами.

Стандарт Modbus предусматривает применение физического интерфейса RS-485, RS-422, RS-232.

Modbus – устройство обязательно должно поддерживать скорости обмена 9600 и 19200 бит/с, из них 19200 бит/с устанавливаются по умолчанию. Допускаются скорости 1200, 2400, 4800… 38400, 65 и 115 кбит/с.

Цикл обмена данными прокола Modbus показан на рисунке 13.

Рисунок – 13 – Цикл обмена данными протокола Modbus

Формат кадра протокола Modbus показан на рисунке 14.

Рисунок – 14 – Формат кадра протокола Modbus

Где:

1. Адрес – адрес подчиненного (slave) устройства. Подчиненные устройства отвечают только на запросы, поступившие в их адрес. Ответ также начинается с адреса отвечающего устройства. Может изменяться от 1 до 254.

2. Код функции – это следующее однобайтное поле кадра. Содержит код команды которую необходимо выполнить.

3. Данные – это поле содержит информацию необходимую подчиненному устройству для выполнения заданной мастером функции или содержит данные, передаваемые подчиненным устройством в ответ на запрос ведущего. Длина и формат поля зависит от кода функции.

4. Контрольная сумма – заключительное двухбайтное поле кадра, содержащее циклическую контрольную сумму CRC-16 всех предыдущих полей кадра. Контрольная сумма завершает кадры запроса и ответа.

5. PDU (protocoldataunit) – элемент данных протокола.

6. ADU (applicationdataunit) – элемент данных приложения.

Протокол Modbusиммет два режима передачи: RTU (remoteterminalunit – удаленное терминальное устройство) и ASCII. Стандарт предусматривает, что режим RTU в протоколе Modbus должен присутствовать обязательно, а режим ASCII является опциональным.

В режиме RTU данные передаются младшими разрядами вперед, как показано на рисунке 15.

По умолчанию в режиме RTU бит паритета устанавливается равным 1, если количество двоичных единиц в байте нечетное, и равным 0, если оно четное. Такой паритет называют четным (evenparity), а метод контроля называют контролем четности. [23][24]

Рисунок – 15 – Режим RTU










Последнее изменение этой страницы: 2018-04-12; просмотров: 276.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...