Аппаратно-программное решение для специализированных процессоров по решению задач информационной безопасности за счет применения алгоритмов, основанных на системе счисления остаточных классов
Библиографическое описание статьи для цитирования:
Магомедов
Ш.
Г. Аппаратно-программное решение для специализированных процессоров по решению задач информационной безопасности за счет применения алгоритмов, основанных на системе счисления остаточных классов // Научно-методический электронный журнал «Концепт». –
2014. – Т. 20. – С.
1631–1635. – URL:
http://e-koncept.ru/2014/54590.htm.
Аннотация. Работа посвящена рассмотрению одного из возможных подходов к проектированию защищенных микропроцессорных устройств (МУ) с использованием современных достижений в области микропроцессорных технологий и последних результатов в области систем остаточных классов. Более того, предлагается иная парадигма, иная целевая установка по проектированию МУ: предлагается в качестве основного критерия проектирования рассматривать обеспечение информационной безопасности пользователя – в отличие от принятых до настоящее время подходов к проектированию МУ, нацеленных на обеспечение их максимального быстродействия либо комбинации быстродействия с энергопотреблением, объемом используемой памяти.
Текст статьи
Магомедов Шамиль Гасангусейнович,
кандидат технических наук, старший преподаватель кафедры «Программное обеспечение вычислительной техники и автоматизированных систем» ФГБОУ ВПО«Дагестанский государственный технический университет», г.Махачкалаmsgg@list.ru
Аппаратнопрограммное решение для специализированных процессоров порешениюзадач информационной безопасности за счет применения алгоритмов, основанных на системе счисления остаточных классов
Аннотация. Работа посвящена рассмотрению одного из возможных подходов к проектированию защищенных микропроцессорных устройств (МУ) с использованием современных достижений в области микропроцессорных технологий и последних результатов в области систем остаточных классов. Более того, предлагается иная парадигма, иная целевая установка по проектированию МУ. Именно, предлагается в качестве основного критерия проектирования рассматривать обеспечение информационной безопасности пользователя –в отличие от принятых до настоящее время подходов к проектированию МУ, нацеленных на обеспечение их максимального быстродействия либо комбинации быстродействия с энергопотреблением, объемом используемой памяти.Ключевые слова:Микропроцессорные устройства, система остаточных классов, защита информации.
В последние годы обострилась проблема хищения персональных и других данных ограниченного доступа из различных сетевых структур передачи данных: сетей мобильной связи, интернет сетей, в том числе из социальных сетей. Руководство и ведущие политические партии многих стран остро ставят вопрос об обеспечении полного государственного контроля над сетевыми трафиками национального уровня, разработке своих программноаппаратных средств обработки данных. Ключевыми компонентами любых современных систем обработки и передачи данных являются операционные среды (то есть совокупность операционных систем и Bios) отдельных рабочих станций и узлов этих систем, которые контролируют все ресурсы этих станций и узлов, а также микропроцессорные устройства (МУ), которые непосредственно обрабатывают данные. К сожалению, сложность указанных двух компонентов –операционных системы и микропроцессорных устройств –в настоящее время возросла настолько, что, в условиях отсутствия исходных кодов программ и наборов схем микропроцессорных устройств, их практически невозможно контролировать даже на уровне национальных институтов развитых стран. Так, объем исполняемого кода последних версий операционных систем семейства Windows достигает 10 Гбт, а число транзисторов в чипе процессора Pentium Nehalem составляет порядка 200 миллионов. В таких огромных массивах объектов (текстов программного кода и схемах микропроцессоров) можно негласно поместить («спрятать») достаточно эффективные механизмы хищения данных и передачи их по желаемому адресу, и фактически за разумное время невозможно будет выявить эти закладки. Обострение противоборства в сфере информационных технологий и постепенное сползание противостояния между отдельными государствами и группами государств в сферу информационного противоборства склоняют к позиции, что если даже пока нет подобных закладок, то рано или поздно онимогут , появиться в программноаппаратных продуктах ведущих мировых производителей. Одним из возможных путей решения указанной проблемыявляется разработка национальных либо контролируемыоперационных систем и микропроцессорных устройств. Данная работа посвящена указанной тематике; именно, в работе предлагается возможный вариант архитектуры микропроцессора, в котором имеются механизмы защиты от возможного хищения обрабатываемых данных. В качествебазовой основы обработки данных в микропроцессоре предлагается использование систем остаточных классов. Работ по указанной тематике крайне мало [1, 2, 3, 4].
Архитектура микропроцессора.Проведем анализ существующей архитектуры типового микропроцессора (МП). Типовая схема современного МП приведена на рис.1. По функциональному назначению микропроцессор относится к классу операционных устройств, и поэтому в его структуре можно выделяют две части: управляющий блок (устройство управления) –УБ и операционный блок ОБ (см. рис.1). Операционный процессор служит для обработки данных. Управляющий процессор выполняет функции выборки, декодирования и вычисления адресов операндов, а также генерирует последовательности микрокоманд для каждой команды и каждого командного цикла.Процесс функционирования МП разбивается на командные циклы. В течение каждого цикла команды МП выполняет ряд управляющих функций:
1) помещает адрес команды в адресную шину памяти (через шину данных);2) получает команду из шины ввода данных и дешифрирует ее (в блоке обработки команд);3) выбирает адреса и данные, содержащиеся в команде. Адреса и данные могут находиться в памяти или в регистрах; 4) выполняет операцию, определенную в коде команды (по цепочке «блока обработки адресов» «регистры» «блок обработки команд»). Операцией может Шина адресаШина данныхБуфер данныхРегистрыАЛУБлок обработки адресовБуфер адресаБлок обработки командБлок управленияОперационный блокШина управленияСинхронизация и управлениеРис.1. Структурная организация типового МП
быть арифметическая или логическая функция, передача данных или функция управления;5) сохраняет результат выполнения операции в памяти или внутренних регистрах;6) следит за управляющими сигналами или сигналами, такими как прерывание, и реагирует соответствующим образом;7) генерирует сигналы состояния, управления и времени, которые необходимы для нормальной работы устройств вводавывода и памяти.
Операционный блок работает существенно быстрее блока управления для того, чтобы минимизировать простой операционного блока и тем самым повысить быстродействие процессора. Множество команд, реализуемых в МП, образуют систему команд. Выбор системы команд является сложнейшей и важной задачей проектирования микропроцессора, так как система команд определяет область и эффективность его применения. Теоретически ограничения на число команд ЭВМ нет: при введении большего числа команд можно выделить больше бит под код операции. Однако, как показывает практика программирования, при реализации обширной системы команд, программисты обычно начинают использовать только некоторое подмножество. Существует два подхода к созданию эффективной системы команд. Первый подход предполагает использование в МП сокращенногонабора команд –этот подход является основой разработки RISCкомпьютеров (Reduced Instruction Set Computer). С одной стороны RISCпроцессоры, имеющие более простую внутреннюю архитектуру, за счет меньшего числа запрограммированных инструкций (команд), более дешевы в изготовлении, более надежны и отличаются высокой производительностью. С другой стороны, перенесение времени обработки информации в RISCпроцессорах на программное обеспечение приводит к снижению быстродействия за счет увеличения длины программ,особенно за счет существенного усложнения трансляторов с языков высокого уровня. Второй подход базируется на МП с расширенным набором команд CISCпроцессорах (Complexed Instruction Set Computer). В эти микропроцессоры встраиваются дополнительные аппаратные средства, позволяющие реализовать многие десятки и сотни команд. Практически во всех современных микропроцессорных системах используются сложные развитые системы команд. Их ядро, состоящее из набора универсальных команд, реализуются аппаратным способомв центральном микропроцессоре. Кроме того, специализированные части набора системы команд реализуются вспомогательными или периферийными микропроцессорами. Эти расширяющие возможности обработки данных в специальных арифметических или логических микропроцессорах позволяют ускорить выполнение определенных команд и тем самым сократить время исполнения программ. Выполнение любой команды в МПУ можно разбить на два цикла: цикл выборки команды и цикл ее выполнения. В цикле выборки команды устройство управления (УУ) производит чтение кода операции и его декодирование. В цикле выполнения команды в соответствие с типом реализуемой команды осуществляется определение адресов операндов, участвующих в операции, непосредственно выполнение команды и сохранение результатовоперации. Любая команда, выполняемая операционным блоком, описывается некоторой микропрограммой и реализуется за определенное количество тактов, в каждом из которых выполняется одна или несколько микроопераций. При выполнении микропрограммы на соответствующие управляющие шины операционного блока подается определенным образом распределенная во времени последовательность управляющих функциональных сигналов (микроопераций). Порядок выполнения микроопераций может изменяться в зависимости от признаков операции,вырабатываемых в АЛУ и являющихся входными сигналами УУ.Основу операционной части МП образуют рабочие регистры. Регистры представляют собой сверхоперативное запоминающие устройства небольшой емкости. Данные в регистрах могут храниться до тех пор, пока шина или некоторый блок не будут готовы принять их, или пока они не потребуются по программе. Регистры, содержимое которых не изменяется под воздействием программы, позволяют сохранять данные для последующего использования. С помощью внутренних шин регистры связаны друг с другом, а с другими блоками системы связь осуществляется под управлением программы. Наличие большого числа внутри процессорных регистров приводит к расширению возможностей дешифрирования и адресации команд и данных и уменьшению числа операций обращения к памяти и формата команд, и поэтому их количество в основном ограничивается существующими технологическими возможностями. Регистры могут выполнять различные функции. В некоторых МП программно можно присваивать отдельным регистрам разнообразныечастные значения. В большинстве МП имеются несколько основных регистров: счетчик команд, регистр команд, регистр адреса памяти, указатель стека, аккумулятор, регистры общего назначения, регистр кода условий.Одним из основных компонентов МПУ, связанным непосредственно с обработкой данных, является арифметикологическое устройство –АЛУ. Выделяют следующие виды обработки данных в АЛУ: арифметическая и логическая обработка данных, выполнение операций сдвига, формирование признаков результатов операций. В микропроцессорах наибольшее распространение получили АЛУ, где основным типом данных являются целые числа, характеризующиеся простотой реализации и высокой скоростью обработки информации. Специализированные БИСы используются для обработки данных, представленных в виде чисел с плавающей запятой. Отметим, что основными типами данных, которые встречаются при обработке информации в микропроцессорах, являются числа, представленные в двоичной системе счисления, алфавитноцифровые символы, представленные последовательностями символов, и логические значения. Числовые значения могут быть двух типов: целое и действительное. Для представления целых значений и выполнения операций над ними используются целые двоичные числа, а для действительных значений –числа с фиксированной или плавающей запятой. Алгоритмы выполнения операций над целыми числами просты и при этом достигается высокая скорость обработки информации, поэтому этот тип чисел и реализуется, прежде всего, в микропроцессорах. В некоторых микропроцессорах заложена возможность обработки чисел, представленных в двоичнодесятичной системе счисления. Возможность выполнить арифметическую обработку десятичных чисел позволяет избежать потерь при обратном и прямом преобразовании чисел из одной системы счисления в другую и исключить потери в точности представления исходных чисел, которые могут иметь место при переходе от одной системы счисления к другой. Например, десятичное число 0,7 нельзя представить абсолютно точно в двоичной системе счисления. Поэтому для представления десятичных чисел используют специальные двоичнодесятичные коды с весами 8421. Для хранения многоразрядных десятичных чисел используется последовательно запоминание в ячейках памяти цифр десятичного числа. Для сложения и вычитания чисел в десятичной системе счисления в микропроцессоре используется не одна, а две команды: команда двоичного сложения и команда десятичной коррекции. Рассмотрим особенности реализации типовой структуры МП для одной из удачных архитектур микропроцессоров, именно микропроцессоров Pentium фирмы Intel. Именно, рассмотрим типовую схему многоконвейерного процессора на процессора пятого поколения Pentium фирмы Intel. Одно из основных отличий микропроцессоров пятого поколения от предыдущих –суперскалярность. Она присуща не только Pentium, но и микропроцессорам других известных производителей: AMD K5, Cyrix M1. Поясним данную особенность процессоров пятого поколения более подробно.Главным достижением и главной особенностью микропроцессоров четвертого поколения являлось появление конвейера устройства, разбивающего процесс выполнения команды на несколько этапов; именно на следующие этапы: выборка команды, ее декодирование, вычисление адресов операндов, выполнение и, наконец, сохранение результата. В процессорах пятого уже два конвейера, что создало принципиально новую ситуацию –возможность выполнять сразу две инструкции. Расширение данной возможности по пути увеличения числа конвейеров в дальнейшем явилось основой разработки многоядерных микропроцессоров. Кроме того, наличие двух процессоров потребовало разработки специальных подсистем, обеспечивающих согласованное и эффективное функционирование конвейеров. Архитектура, при которой процессор имеет несколько конвейеров, получила название "суперскалярной", в противовес старой,одноконвейерной, т.е. "скалярной" архитектуре.Конвейеры работают с целочисленными значениями, они обозначены буквами u и v, и они не равноценны: главным считается uконвейер, он поддерживает весь набор основных инструкций (целочисленная арифметика, логические команды, команды перехода), и именно uконвейер работает с основным потоков инструкций. vконвейер лишь помогает uконвейеру. В связи с чем имеется ряд ограничений по работе. Например, он не может работать, если его действия зависят от результата выполнения команды, идущей по uконвейеру. Имеется набор правил (условий –их около десяти), при выполнении которых инструкции, обрабатываемые на обеих конвейерах, могут объединяться в один поток. В моменты, не удовлетворяющие этим правилами, vконвейер не берет новых команд, лишь продвигая по этапам те, за выполнение которых он уже взялся. Если нет команд, то он простаивает, ожидая благоприятной ситуации. Таким образом, на конвейерах в процессе рабы одновременно продвигаются 2 потока инструкций.Первый вопрос, который возникает при анализе описанной технологии работы конвейеров, следующий: как часто простаивает vконвейер, и как минимизировать время его простоя. Основная причина простоя связана с тем, что при выполнении команд, чтобы выбрать из памяти следующую, иногда нужно знать результат выполнения текущей. Это относится, прежде всего, к командам условного перехода (которые являются основой различных циклических процедур), которые нарушают порядок выполнения инструкций, приказывая процессору "перепрыгнуть" не на следующую по порядку команду, а на какуюто другую. Практически в любой содержательной программе команды условного перехода встречаются очень часто. Простейший способ решения данной проблемы, обеспечивающий согласованное взаимодействие конвейеров и реализованный в одноконвейерных МП, ждать выполнения команды, определяющей адрес следующей инструкции, и лишь затем приступит к выборке. Однако, как было отмечено выше, такая технология работы неприемлема, поскольку вызывает простой vконвейера. В МП Pentium 5 была реализована другая технология, что явилось вторым важным отличием и новшеством в МП пятого поколения: появился блок «предсказания ветви (продолжения)» branch prediction, предназначенный для предсказания возможных переходов на обработки статистики о последних 256 переходах. Особенно эффективно работает данный блок при выполнении циклических процедур, которых бывает достаточно много в большинстве программ. Если переход был предсказан верно, то удается избежать простоя, если же нет, то конвейер полностью очищается и начинает заполняться снова (на что тратится время).Еще одно достоинство Pentium пятого поколения –в ступени D2 обоих конвейеров были встроены многоканальные сумматоры. Сумматор используется не только при выполнении арифметических операций, но, что важнее, при вычислении многокомпонентных адресов (типа "EBX + ESI + смещение"), которые в процессе функционирования МП встречаются достаточно часто. Поэтому, внедрение многоканальных сумматоров значимо уменьшило задержки в МП.Проведенный выше анализ показал, что в основе функционирования МП основное внимание уделено обеспечению максимального быстродействия выполнения программ. Вопросы обеспечения безопасности обработки информации вообще не фигурируют в типовой схеме и в схемах процессоров Pentium. Следует отметить, что в процессорах Pentium предусмотрен специальный режим обработки данных, имеющий прямое отношение к вопросам обеспечения безопасности данных, защищенный режим. Но он решает только небольшую часть проблем, связанный с информационной безопасностью. Поэтому, как отмечалось в введении, целесообразно усовершенствовать архитектуру процессора, взяв за основу построения МП не быстродействие, а обеспечение безопасности обработки данных.
Структура защищенного микропроцессора на основе СОКВ данном разделе предлагаетсявозможныйподход к проектированию защищенных МПс использованием современных достижений в области микропроцессорных технологий и последних результатов в области систем остаточных классов (СОК)[5]. Более того, предлагается иная целевая установка по проектированию МП. Именно, предлагается в качестве основного критерия проектирования рассматривать обеспечение информационной безопасности пользователя –в отличие от принятых до настоящее время подходов к проектированию МУ, нацеленных на обеспечение их максимального быстродействия либо комбинации быстродействия с энергопотреблением, объемом используемой памяти. Появление многоконвейерных процессоров создает благоприятные условия для применения алгоритмов, основанных на СОК, которые, в свою очередь, имеют эффективные механизмы сокрытия данных в процессе их преобразования.Предлагается следующим образом модернизировать приведенную на рис. 1функциональную схему применительно к использованию СОК.
Рис.2. Структурная схема организации МУ на основе СОК.
В МПимеются две внутренние шины внутренние шины, связанные с внутренними регистрами; она шина предназначена для передачи и размещения адресных данных, а вторая –вычислительных данных.Вначале при активизацииМП формируется и запоминается база простых чисел в блоке «Формирование оснований СОК». Процесс функционирования МП, как в общем случае, разбивается на командные циклы, в течение каждого из которых выполняются следующие команды: 1) выбирается очередная порция данных и команда из буфера команд и данных;2) данные расшифровываются и размещаются во внутренних регистрах МП;3) команда анализируется и декодируется в блоке обработки команд;4) декодированная команда, если она связана с использованием АЛУ, также размещается во внутренних регистрах вместе с данными;5) АЛУ выбирает из внутренних регистров выполняемую команду, данные и организует соответствующие вычисления. Процесс вычислений в АЛУ реализован как обобщение двухконвейерной схемы процессора Pentium:uконвейер основной: он работает с основным потоков инструкций, в нем происходит обработка всего набора основных инструкций вычислительными и логическими командами, команд перехода, сборка всех промежуточных результатов, выполненных на vконвейерах, в частности, вычисления по отдельным модулям базы. Результат вычислений Шина адресаШина данныхБуфер данных и командРегистрыАЛУБлок обработки адресовБуфер адреса Блок обработки командУправлениеБлок управленияОперационный блокШина управленияВыборкакомандыДекодирование командыДекодирование операндовРасшифровка/шифровка данныхФормирование оснований СОКuконвейерFPUконвейерv1конвейерvkконвейерv2конвейер.
.
.Синхронизациясохраняется во внутренних регистрах МП, а затем после завершения всех вычислений происходит шифрование данных с помощью СОК и их размещение в буфере данных;6) в блоке обработки адресов по результатам работы блока обработки команд и, возможно, АЛУ (для команд условного перехода), с участием блока управления формируется адрес размещения результатов выполнения команды (он размещается в буфере адреса) и адрес следующей выполняемой команды (который может отличаться от порядкового при выполнении команд перехода). 7) по шине адреса устанавливается адрес, куда будут переданы результаты через шину данных, и по команде управления в определенный момент этот адрес передается через шину адресов; 8) блок управления, после формирования всех адресов и данных дает указание одновременно передать адрес размещения результатов через шину адреса и данные через шину данных;9) по шине управления выбирается следующая выполняемая команда. Для обеспечения тактовой синхронности выполнения всех операций блок управления использует синхронизатор.10) блок управления также следит за возможными управляющими сигналами от других МПУ, если таковые имеются, и сигналами, связанные с определенными ситуациями в вычислительной системе и процессоре, такими как прерывание, и реагирует соответствующим образом.При наличии многоядерных процессоров процесс обработки команд организовывается аналогичным образом. При загрузке в оперативную память очередного программного модуля вначале вырабатывается набор из n модулей, где n число ядер в процессоре, которые могут быть использованы для проведения вычислений. При этом диапазон изменения простых чисел зависит от того, используется ли многоядерный процессор для проведения параллельных независимых вычислений –в этом случае простые числа должны быть сравнимы с величинами обрабатываемых данных каждым ядром, или же проводятся арифметические вычисления в модульной арифметике с использованием китайской теоремы об остатках –в этом случае размеры простых чисел должны порядка величин остатков. Последний случай более подробно рассматривается ниже.
ЗаключениеОсновное отличие предлагаемой в работе архитектуры от рассматривавшихся ранее –нацеленность МП прежде всего на защиту обрабатываемых данных, обеспечивая условия для бесполезности их хищения в процессе обработки, так как их без знания оснований (которые находятся внутри МП) невозможно расшифровать. Путь от предлагаемой в работе архитектуры микропроцессора до рабочей схемы его достаточно большой. Автор предполагает в дальнейших работах детализировать содержание отдельных компонентов предлагаемого МП.
Ссылки на источники 1. Червяков Н.И., Дьяченко И.В. Принципы построения модулярных сумматоров и умножителей.//Материалы международной научной конференции «Модулярная арифметика». http://www.computermuseum.ru/histussr/sokconf0.htm2. Краснобаев В.А., Ирхин В.П. Алгоритм реализации операции модульного умножения в системе остаточных классов.//Электр. моделир., N 5, 1993., с.2027.3. Магомедов Ш.Г. Алгоритмы и структуры устройств преобразования числовой информации в системах обработки данных. –Диссертация на соискание ученой степени кандидата наук. Астрахань 2011г.4. Исмаилов ШМ.А., Магомедов Ш.Г. Разрядно параллельный алгоритм и структура устройства умножения двоичных чисел//Информационные и телекоммуникационные системы: информационные технологии в научных и образовательных процессах: материалы V Региональной научнотехнической конференции, 1820 сент. 2009 г.Махачкала: ДНЦ РАН, 2009 г. (0,65/0,32).5. Червяков Н.И., Ряднов С.А., Сахнюк П.А., Шапошников А.В., Модулярные параллельные вычислительные структуры нейропроцессорных систем. –М.: ФИЗМАТЛИТ, 2003. –288 с.
Magomedov ShamilGasanguseynovich, Ph.D.,senior lecturer in "Software Computer and Automated Systems"Federal State EducationalInstitution of Higher ProfessionalEducation"DagestanState Technical University", Makhachkalamsgg@list.ruHardware and software solution for specialized processors to meet the challenges of information security through the use of algorithms based on the value system of residual classes.The work is devoted to one of the possible approaches to the designof secure microprocessor (MD) with the use of modern advances in microprocessor technology and the latest results in the field of residual classes. Furthermore , it is proposed a different paradigm , a different target for the design of MD installation. It is proposed as the main design criteria to consider information security person unlike taken to current approaches to the design of MD designed to achieve their maximum performance or a combination of performance with power consumption , memory usage .Keywords:Microprocessor devices , the system of residual classes , the protection of information.
кандидат технических наук, старший преподаватель кафедры «Программное обеспечение вычислительной техники и автоматизированных систем» ФГБОУ ВПО«Дагестанский государственный технический университет», г.Махачкалаmsgg@list.ru
Аппаратнопрограммное решение для специализированных процессоров порешениюзадач информационной безопасности за счет применения алгоритмов, основанных на системе счисления остаточных классов
Аннотация. Работа посвящена рассмотрению одного из возможных подходов к проектированию защищенных микропроцессорных устройств (МУ) с использованием современных достижений в области микропроцессорных технологий и последних результатов в области систем остаточных классов. Более того, предлагается иная парадигма, иная целевая установка по проектированию МУ. Именно, предлагается в качестве основного критерия проектирования рассматривать обеспечение информационной безопасности пользователя –в отличие от принятых до настоящее время подходов к проектированию МУ, нацеленных на обеспечение их максимального быстродействия либо комбинации быстродействия с энергопотреблением, объемом используемой памяти.Ключевые слова:Микропроцессорные устройства, система остаточных классов, защита информации.
В последние годы обострилась проблема хищения персональных и других данных ограниченного доступа из различных сетевых структур передачи данных: сетей мобильной связи, интернет сетей, в том числе из социальных сетей. Руководство и ведущие политические партии многих стран остро ставят вопрос об обеспечении полного государственного контроля над сетевыми трафиками национального уровня, разработке своих программноаппаратных средств обработки данных. Ключевыми компонентами любых современных систем обработки и передачи данных являются операционные среды (то есть совокупность операционных систем и Bios) отдельных рабочих станций и узлов этих систем, которые контролируют все ресурсы этих станций и узлов, а также микропроцессорные устройства (МУ), которые непосредственно обрабатывают данные. К сожалению, сложность указанных двух компонентов –операционных системы и микропроцессорных устройств –в настоящее время возросла настолько, что, в условиях отсутствия исходных кодов программ и наборов схем микропроцессорных устройств, их практически невозможно контролировать даже на уровне национальных институтов развитых стран. Так, объем исполняемого кода последних версий операционных систем семейства Windows достигает 10 Гбт, а число транзисторов в чипе процессора Pentium Nehalem составляет порядка 200 миллионов. В таких огромных массивах объектов (текстов программного кода и схемах микропроцессоров) можно негласно поместить («спрятать») достаточно эффективные механизмы хищения данных и передачи их по желаемому адресу, и фактически за разумное время невозможно будет выявить эти закладки. Обострение противоборства в сфере информационных технологий и постепенное сползание противостояния между отдельными государствами и группами государств в сферу информационного противоборства склоняют к позиции, что если даже пока нет подобных закладок, то рано или поздно онимогут , появиться в программноаппаратных продуктах ведущих мировых производителей. Одним из возможных путей решения указанной проблемыявляется разработка национальных либо контролируемыоперационных систем и микропроцессорных устройств. Данная работа посвящена указанной тематике; именно, в работе предлагается возможный вариант архитектуры микропроцессора, в котором имеются механизмы защиты от возможного хищения обрабатываемых данных. В качествебазовой основы обработки данных в микропроцессоре предлагается использование систем остаточных классов. Работ по указанной тематике крайне мало [1, 2, 3, 4].
Архитектура микропроцессора.Проведем анализ существующей архитектуры типового микропроцессора (МП). Типовая схема современного МП приведена на рис.1. По функциональному назначению микропроцессор относится к классу операционных устройств, и поэтому в его структуре можно выделяют две части: управляющий блок (устройство управления) –УБ и операционный блок ОБ (см. рис.1). Операционный процессор служит для обработки данных. Управляющий процессор выполняет функции выборки, декодирования и вычисления адресов операндов, а также генерирует последовательности микрокоманд для каждой команды и каждого командного цикла.Процесс функционирования МП разбивается на командные циклы. В течение каждого цикла команды МП выполняет ряд управляющих функций:
1) помещает адрес команды в адресную шину памяти (через шину данных);2) получает команду из шины ввода данных и дешифрирует ее (в блоке обработки команд);3) выбирает адреса и данные, содержащиеся в команде. Адреса и данные могут находиться в памяти или в регистрах; 4) выполняет операцию, определенную в коде команды (по цепочке «блока обработки адресов» «регистры» «блок обработки команд»). Операцией может Шина адресаШина данныхБуфер данныхРегистрыАЛУБлок обработки адресовБуфер адресаБлок обработки командБлок управленияОперационный блокШина управленияСинхронизация и управлениеРис.1. Структурная организация типового МП
быть арифметическая или логическая функция, передача данных или функция управления;5) сохраняет результат выполнения операции в памяти или внутренних регистрах;6) следит за управляющими сигналами или сигналами, такими как прерывание, и реагирует соответствующим образом;7) генерирует сигналы состояния, управления и времени, которые необходимы для нормальной работы устройств вводавывода и памяти.
Операционный блок работает существенно быстрее блока управления для того, чтобы минимизировать простой операционного блока и тем самым повысить быстродействие процессора. Множество команд, реализуемых в МП, образуют систему команд. Выбор системы команд является сложнейшей и важной задачей проектирования микропроцессора, так как система команд определяет область и эффективность его применения. Теоретически ограничения на число команд ЭВМ нет: при введении большего числа команд можно выделить больше бит под код операции. Однако, как показывает практика программирования, при реализации обширной системы команд, программисты обычно начинают использовать только некоторое подмножество. Существует два подхода к созданию эффективной системы команд. Первый подход предполагает использование в МП сокращенногонабора команд –этот подход является основой разработки RISCкомпьютеров (Reduced Instruction Set Computer). С одной стороны RISCпроцессоры, имеющие более простую внутреннюю архитектуру, за счет меньшего числа запрограммированных инструкций (команд), более дешевы в изготовлении, более надежны и отличаются высокой производительностью. С другой стороны, перенесение времени обработки информации в RISCпроцессорах на программное обеспечение приводит к снижению быстродействия за счет увеличения длины программ,особенно за счет существенного усложнения трансляторов с языков высокого уровня. Второй подход базируется на МП с расширенным набором команд CISCпроцессорах (Complexed Instruction Set Computer). В эти микропроцессоры встраиваются дополнительные аппаратные средства, позволяющие реализовать многие десятки и сотни команд. Практически во всех современных микропроцессорных системах используются сложные развитые системы команд. Их ядро, состоящее из набора универсальных команд, реализуются аппаратным способомв центральном микропроцессоре. Кроме того, специализированные части набора системы команд реализуются вспомогательными или периферийными микропроцессорами. Эти расширяющие возможности обработки данных в специальных арифметических или логических микропроцессорах позволяют ускорить выполнение определенных команд и тем самым сократить время исполнения программ. Выполнение любой команды в МПУ можно разбить на два цикла: цикл выборки команды и цикл ее выполнения. В цикле выборки команды устройство управления (УУ) производит чтение кода операции и его декодирование. В цикле выполнения команды в соответствие с типом реализуемой команды осуществляется определение адресов операндов, участвующих в операции, непосредственно выполнение команды и сохранение результатовоперации. Любая команда, выполняемая операционным блоком, описывается некоторой микропрограммой и реализуется за определенное количество тактов, в каждом из которых выполняется одна или несколько микроопераций. При выполнении микропрограммы на соответствующие управляющие шины операционного блока подается определенным образом распределенная во времени последовательность управляющих функциональных сигналов (микроопераций). Порядок выполнения микроопераций может изменяться в зависимости от признаков операции,вырабатываемых в АЛУ и являющихся входными сигналами УУ.Основу операционной части МП образуют рабочие регистры. Регистры представляют собой сверхоперативное запоминающие устройства небольшой емкости. Данные в регистрах могут храниться до тех пор, пока шина или некоторый блок не будут готовы принять их, или пока они не потребуются по программе. Регистры, содержимое которых не изменяется под воздействием программы, позволяют сохранять данные для последующего использования. С помощью внутренних шин регистры связаны друг с другом, а с другими блоками системы связь осуществляется под управлением программы. Наличие большого числа внутри процессорных регистров приводит к расширению возможностей дешифрирования и адресации команд и данных и уменьшению числа операций обращения к памяти и формата команд, и поэтому их количество в основном ограничивается существующими технологическими возможностями. Регистры могут выполнять различные функции. В некоторых МП программно можно присваивать отдельным регистрам разнообразныечастные значения. В большинстве МП имеются несколько основных регистров: счетчик команд, регистр команд, регистр адреса памяти, указатель стека, аккумулятор, регистры общего назначения, регистр кода условий.Одним из основных компонентов МПУ, связанным непосредственно с обработкой данных, является арифметикологическое устройство –АЛУ. Выделяют следующие виды обработки данных в АЛУ: арифметическая и логическая обработка данных, выполнение операций сдвига, формирование признаков результатов операций. В микропроцессорах наибольшее распространение получили АЛУ, где основным типом данных являются целые числа, характеризующиеся простотой реализации и высокой скоростью обработки информации. Специализированные БИСы используются для обработки данных, представленных в виде чисел с плавающей запятой. Отметим, что основными типами данных, которые встречаются при обработке информации в микропроцессорах, являются числа, представленные в двоичной системе счисления, алфавитноцифровые символы, представленные последовательностями символов, и логические значения. Числовые значения могут быть двух типов: целое и действительное. Для представления целых значений и выполнения операций над ними используются целые двоичные числа, а для действительных значений –числа с фиксированной или плавающей запятой. Алгоритмы выполнения операций над целыми числами просты и при этом достигается высокая скорость обработки информации, поэтому этот тип чисел и реализуется, прежде всего, в микропроцессорах. В некоторых микропроцессорах заложена возможность обработки чисел, представленных в двоичнодесятичной системе счисления. Возможность выполнить арифметическую обработку десятичных чисел позволяет избежать потерь при обратном и прямом преобразовании чисел из одной системы счисления в другую и исключить потери в точности представления исходных чисел, которые могут иметь место при переходе от одной системы счисления к другой. Например, десятичное число 0,7 нельзя представить абсолютно точно в двоичной системе счисления. Поэтому для представления десятичных чисел используют специальные двоичнодесятичные коды с весами 8421. Для хранения многоразрядных десятичных чисел используется последовательно запоминание в ячейках памяти цифр десятичного числа. Для сложения и вычитания чисел в десятичной системе счисления в микропроцессоре используется не одна, а две команды: команда двоичного сложения и команда десятичной коррекции. Рассмотрим особенности реализации типовой структуры МП для одной из удачных архитектур микропроцессоров, именно микропроцессоров Pentium фирмы Intel. Именно, рассмотрим типовую схему многоконвейерного процессора на процессора пятого поколения Pentium фирмы Intel. Одно из основных отличий микропроцессоров пятого поколения от предыдущих –суперскалярность. Она присуща не только Pentium, но и микропроцессорам других известных производителей: AMD K5, Cyrix M1. Поясним данную особенность процессоров пятого поколения более подробно.Главным достижением и главной особенностью микропроцессоров четвертого поколения являлось появление конвейера устройства, разбивающего процесс выполнения команды на несколько этапов; именно на следующие этапы: выборка команды, ее декодирование, вычисление адресов операндов, выполнение и, наконец, сохранение результата. В процессорах пятого уже два конвейера, что создало принципиально новую ситуацию –возможность выполнять сразу две инструкции. Расширение данной возможности по пути увеличения числа конвейеров в дальнейшем явилось основой разработки многоядерных микропроцессоров. Кроме того, наличие двух процессоров потребовало разработки специальных подсистем, обеспечивающих согласованное и эффективное функционирование конвейеров. Архитектура, при которой процессор имеет несколько конвейеров, получила название "суперскалярной", в противовес старой,одноконвейерной, т.е. "скалярной" архитектуре.Конвейеры работают с целочисленными значениями, они обозначены буквами u и v, и они не равноценны: главным считается uконвейер, он поддерживает весь набор основных инструкций (целочисленная арифметика, логические команды, команды перехода), и именно uконвейер работает с основным потоков инструкций. vконвейер лишь помогает uконвейеру. В связи с чем имеется ряд ограничений по работе. Например, он не может работать, если его действия зависят от результата выполнения команды, идущей по uконвейеру. Имеется набор правил (условий –их около десяти), при выполнении которых инструкции, обрабатываемые на обеих конвейерах, могут объединяться в один поток. В моменты, не удовлетворяющие этим правилами, vконвейер не берет новых команд, лишь продвигая по этапам те, за выполнение которых он уже взялся. Если нет команд, то он простаивает, ожидая благоприятной ситуации. Таким образом, на конвейерах в процессе рабы одновременно продвигаются 2 потока инструкций.Первый вопрос, который возникает при анализе описанной технологии работы конвейеров, следующий: как часто простаивает vконвейер, и как минимизировать время его простоя. Основная причина простоя связана с тем, что при выполнении команд, чтобы выбрать из памяти следующую, иногда нужно знать результат выполнения текущей. Это относится, прежде всего, к командам условного перехода (которые являются основой различных циклических процедур), которые нарушают порядок выполнения инструкций, приказывая процессору "перепрыгнуть" не на следующую по порядку команду, а на какуюто другую. Практически в любой содержательной программе команды условного перехода встречаются очень часто. Простейший способ решения данной проблемы, обеспечивающий согласованное взаимодействие конвейеров и реализованный в одноконвейерных МП, ждать выполнения команды, определяющей адрес следующей инструкции, и лишь затем приступит к выборке. Однако, как было отмечено выше, такая технология работы неприемлема, поскольку вызывает простой vконвейера. В МП Pentium 5 была реализована другая технология, что явилось вторым важным отличием и новшеством в МП пятого поколения: появился блок «предсказания ветви (продолжения)» branch prediction, предназначенный для предсказания возможных переходов на обработки статистики о последних 256 переходах. Особенно эффективно работает данный блок при выполнении циклических процедур, которых бывает достаточно много в большинстве программ. Если переход был предсказан верно, то удается избежать простоя, если же нет, то конвейер полностью очищается и начинает заполняться снова (на что тратится время).Еще одно достоинство Pentium пятого поколения –в ступени D2 обоих конвейеров были встроены многоканальные сумматоры. Сумматор используется не только при выполнении арифметических операций, но, что важнее, при вычислении многокомпонентных адресов (типа "EBX + ESI + смещение"), которые в процессе функционирования МП встречаются достаточно часто. Поэтому, внедрение многоканальных сумматоров значимо уменьшило задержки в МП.Проведенный выше анализ показал, что в основе функционирования МП основное внимание уделено обеспечению максимального быстродействия выполнения программ. Вопросы обеспечения безопасности обработки информации вообще не фигурируют в типовой схеме и в схемах процессоров Pentium. Следует отметить, что в процессорах Pentium предусмотрен специальный режим обработки данных, имеющий прямое отношение к вопросам обеспечения безопасности данных, защищенный режим. Но он решает только небольшую часть проблем, связанный с информационной безопасностью. Поэтому, как отмечалось в введении, целесообразно усовершенствовать архитектуру процессора, взяв за основу построения МП не быстродействие, а обеспечение безопасности обработки данных.
Структура защищенного микропроцессора на основе СОКВ данном разделе предлагаетсявозможныйподход к проектированию защищенных МПс использованием современных достижений в области микропроцессорных технологий и последних результатов в области систем остаточных классов (СОК)[5]. Более того, предлагается иная целевая установка по проектированию МП. Именно, предлагается в качестве основного критерия проектирования рассматривать обеспечение информационной безопасности пользователя –в отличие от принятых до настоящее время подходов к проектированию МУ, нацеленных на обеспечение их максимального быстродействия либо комбинации быстродействия с энергопотреблением, объемом используемой памяти. Появление многоконвейерных процессоров создает благоприятные условия для применения алгоритмов, основанных на СОК, которые, в свою очередь, имеют эффективные механизмы сокрытия данных в процессе их преобразования.Предлагается следующим образом модернизировать приведенную на рис. 1функциональную схему применительно к использованию СОК.
Рис.2. Структурная схема организации МУ на основе СОК.
В МПимеются две внутренние шины внутренние шины, связанные с внутренними регистрами; она шина предназначена для передачи и размещения адресных данных, а вторая –вычислительных данных.Вначале при активизацииМП формируется и запоминается база простых чисел в блоке «Формирование оснований СОК». Процесс функционирования МП, как в общем случае, разбивается на командные циклы, в течение каждого из которых выполняются следующие команды: 1) выбирается очередная порция данных и команда из буфера команд и данных;2) данные расшифровываются и размещаются во внутренних регистрах МП;3) команда анализируется и декодируется в блоке обработки команд;4) декодированная команда, если она связана с использованием АЛУ, также размещается во внутренних регистрах вместе с данными;5) АЛУ выбирает из внутренних регистров выполняемую команду, данные и организует соответствующие вычисления. Процесс вычислений в АЛУ реализован как обобщение двухконвейерной схемы процессора Pentium:uконвейер основной: он работает с основным потоков инструкций, в нем происходит обработка всего набора основных инструкций вычислительными и логическими командами, команд перехода, сборка всех промежуточных результатов, выполненных на vконвейерах, в частности, вычисления по отдельным модулям базы. Результат вычислений Шина адресаШина данныхБуфер данных и командРегистрыАЛУБлок обработки адресовБуфер адреса Блок обработки командУправлениеБлок управленияОперационный блокШина управленияВыборкакомандыДекодирование командыДекодирование операндовРасшифровка/шифровка данныхФормирование оснований СОКuконвейерFPUконвейерv1конвейерvkконвейерv2конвейер.
.
.Синхронизациясохраняется во внутренних регистрах МП, а затем после завершения всех вычислений происходит шифрование данных с помощью СОК и их размещение в буфере данных;6) в блоке обработки адресов по результатам работы блока обработки команд и, возможно, АЛУ (для команд условного перехода), с участием блока управления формируется адрес размещения результатов выполнения команды (он размещается в буфере адреса) и адрес следующей выполняемой команды (который может отличаться от порядкового при выполнении команд перехода). 7) по шине адреса устанавливается адрес, куда будут переданы результаты через шину данных, и по команде управления в определенный момент этот адрес передается через шину адресов; 8) блок управления, после формирования всех адресов и данных дает указание одновременно передать адрес размещения результатов через шину адреса и данные через шину данных;9) по шине управления выбирается следующая выполняемая команда. Для обеспечения тактовой синхронности выполнения всех операций блок управления использует синхронизатор.10) блок управления также следит за возможными управляющими сигналами от других МПУ, если таковые имеются, и сигналами, связанные с определенными ситуациями в вычислительной системе и процессоре, такими как прерывание, и реагирует соответствующим образом.При наличии многоядерных процессоров процесс обработки команд организовывается аналогичным образом. При загрузке в оперативную память очередного программного модуля вначале вырабатывается набор из n модулей, где n число ядер в процессоре, которые могут быть использованы для проведения вычислений. При этом диапазон изменения простых чисел зависит от того, используется ли многоядерный процессор для проведения параллельных независимых вычислений –в этом случае простые числа должны быть сравнимы с величинами обрабатываемых данных каждым ядром, или же проводятся арифметические вычисления в модульной арифметике с использованием китайской теоремы об остатках –в этом случае размеры простых чисел должны порядка величин остатков. Последний случай более подробно рассматривается ниже.
ЗаключениеОсновное отличие предлагаемой в работе архитектуры от рассматривавшихся ранее –нацеленность МП прежде всего на защиту обрабатываемых данных, обеспечивая условия для бесполезности их хищения в процессе обработки, так как их без знания оснований (которые находятся внутри МП) невозможно расшифровать. Путь от предлагаемой в работе архитектуры микропроцессора до рабочей схемы его достаточно большой. Автор предполагает в дальнейших работах детализировать содержание отдельных компонентов предлагаемого МП.
Ссылки на источники 1. Червяков Н.И., Дьяченко И.В. Принципы построения модулярных сумматоров и умножителей.//Материалы международной научной конференции «Модулярная арифметика». http://www.computermuseum.ru/histussr/sokconf0.htm2. Краснобаев В.А., Ирхин В.П. Алгоритм реализации операции модульного умножения в системе остаточных классов.//Электр. моделир., N 5, 1993., с.2027.3. Магомедов Ш.Г. Алгоритмы и структуры устройств преобразования числовой информации в системах обработки данных. –Диссертация на соискание ученой степени кандидата наук. Астрахань 2011г.4. Исмаилов ШМ.А., Магомедов Ш.Г. Разрядно параллельный алгоритм и структура устройства умножения двоичных чисел//Информационные и телекоммуникационные системы: информационные технологии в научных и образовательных процессах: материалы V Региональной научнотехнической конференции, 1820 сент. 2009 г.Махачкала: ДНЦ РАН, 2009 г. (0,65/0,32).5. Червяков Н.И., Ряднов С.А., Сахнюк П.А., Шапошников А.В., Модулярные параллельные вычислительные структуры нейропроцессорных систем. –М.: ФИЗМАТЛИТ, 2003. –288 с.
Magomedov ShamilGasanguseynovich, Ph.D.,senior lecturer in "Software Computer and Automated Systems"Federal State EducationalInstitution of Higher ProfessionalEducation"DagestanState Technical University", Makhachkalamsgg@list.ruHardware and software solution for specialized processors to meet the challenges of information security through the use of algorithms based on the value system of residual classes.The work is devoted to one of the possible approaches to the designof secure microprocessor (MD) with the use of modern advances in microprocessor technology and the latest results in the field of residual classes. Furthermore , it is proposed a different paradigm , a different target for the design of MD installation. It is proposed as the main design criteria to consider information security person unlike taken to current approaches to the design of MD designed to achieve their maximum performance or a combination of performance with power consumption , memory usage .Keywords:Microprocessor devices , the system of residual classes , the protection of information.