Российский стандарт на шифрование информации гост 28147-89 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Российский стандарт на шифрование информации гост 28147-89



В Российской Федерации установлен государственный стандарт (ГОСТ 28147-89 [9]) на алгоритмы криптографического преобразования информации в ЭВМ, вычислительных комплексах и вычислительных сетях. Эти алгоритмы допускается использовать без ограничений для шифрования информации любого уровня секретности. Алгоритмы могут быть реализованы аппаратными и программными способами.

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

  • простая замена;
  • гаммирование;
  • гаммирование с обратной связью;
  • выработка имитовставки.

Общим для всех алгоритмов шифрования является использование ключа размерностью 256 бит, разделенного на восемь 32-разрядных двоичных слов, и разделение исходной шифруемой двоичной последовательности на блоки по 64 бита.

Сущность алгоритма простой замены состоит в следующем. Блок из 64-х бит исходной последовательности разбивается два двоичных слова А и В по 32 разряда. Слова А образуют младшие биты, а слово В - старшие биты блока. Эти слова подвергаются итерационной обработке с числом итераций равным i=32. Слово, находящееся на месте младших бит блока, (А на первой итерации) суммируется по mod 232 с 32-разрядным словом ключа; разбивается на части по 4 бита в каждой (4-х разрядные входные векторы); с помощью специальных узлов замены каждый вектор заменятся на другой вектор (4 бита); полученные векторы объединяются в 32-разрядное слово, которое циклически сдвигается влево на 32 разряда и суммируется по mod 2 с другим 32-Разрядным словом из 64-разрядного блока (слово В на первой итерации).

После выполнения первой итерации в блоке на месте младших бит будет расположено слово В, а слева преобразованное слово А. На следующих итерациях операции над словами повторяются.

На каждой итерации i 32-разрядное слово ключа j (всего их 8) выбирается по следующему правилу:

Блок замены состоит из 8 узлов замены, которые выбираются поочередно. Узел замены представляет собой таблицу из шестнадцати строк, в каждой из которых находятся векторы замены (4 бита). Входной вектор определяет адрес строки в таблице, число из которой является выходным вектором замены. Информация в таблицы замены заносится заранее и изменяется редко.

Алгоритм гаммирования предусматривает сложение по mod 2 исходной последовательности бит с последовательностью бит гаммы. Гамма получается в соответствии с алгоритмом простой замены. При выработке гаммы используются две специальные константы, заданные в ГОСТ 28147-89, а также 64-разрядная двоичная последовательность - синхропосылка. Расшифрование информации возможно только при наличии синхропосылки, которая не является секретной и может в открытом виде храниться в памяти ЭВМ или передаваться по каналам связи.

Алгоритм гаммирования с обратной связью очень схож с алгоритмом гаммирования. Они различаются лишь действиями на первом шаге итерационного процесса шифрования.

В ГОСТ 28147-89 определен алгоритм выработки имитовставки. Она используется для защиты от навязывания ложной информации. Имитовставка является функцией преобразования исходной информации и секретного ключа. Она представляет собой двоичную последовательность длиной k бит. Значение параметра k выбирается с учетом вероятности навязывания ложной информации Pн, которая связана с параметром k соотношением:

Рн = 1/2k.

Алгоритм выработки имитовставки может быть представлен следующей последовательностью действий. Открытая информация разбивается на блоки Т(i) (i=1, 2,..., m), где m определяется объемом шифруемой информации. Объем каждого блока - 64 бита. Первый блок Т(1) подвергается преобразованию в соответствии с первыми 16-ю итерациями алгоритма простой замены. В качестве ключа используется ключ, по которому будет шифроваться исходная информация. Полученное 64-битовое двоичное слово суммируется по mod 2 со вторым блоком Т(2). Результат суммирования подвергается тем же итерационным преобразованиям, что и блок Т(1), а на завершающем этапе суммируется по mod 2 с третьим блоком Т(3). Эти действия повторяются для m-1 блоков исходной информации. Если последний блок Т(m) не полный, то он дополняется соответствующим числом нулей до 64 разрядов. Этот блок суммируется по mod 2 с результатом, полученным при обработке Т(m-1) блока, и подвергается преобразованию в соответствии с первыми 16-ю итерациями алгоритма простой замены. Из полученного 64-разрядного блока выделяется слово длиной k бит, которое и является имитовставкой.

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

 

30. Понятие надежности функционирования КС. Случайные неисправности, отказы и сбои.

Повышение надежности КС

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

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

Поскольку алгоритмы в КС реализуются за счет выполнения программ или аппаратным способом, то надежность алгоритмов отдельно не рассматривается. В этом случае считается, что надежность КС обеспечивается надежностью программных и аппаратных средств.

Надежность КС достигается на этапах:

  • разработки;
  • производства;
  • эксплуатации.

Для программных средств рассматриваются этапы разработки и эксплуатации. Этап разработки программных средств является определяющим при создании надежных компьютерных систем.

На этом этапе основными направлениями повышения надежности программных средств являются:

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

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

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

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

На этапе эксплуатации программные средства дорабатываются, в них устраняются замеченные ошибки, поддерживается целостность программных средств и актуальность данных, используемых этими средствами.

Надежность технических средств (ТС) КС обеспечивается на всех этапах. На этапе разработки выбираются элементная база, технология производства и структурные решения, обеспечивающие максимально достижимую надежность КС в целом.

Велика роль в процессе обеспечения надежности ТС и этапа производства. Главными условиями выпуска надежной продукции являются высокий технологический уровень производства и организация эффективного контроля качества выпускаемых ТС.

Удельный вес этапа эксплуатации ТС в решении проблемы обеспечения надежности КС в последние годы значительно снизился. Для определенных видов вычислительной техники, таких как персональные ЭВМ, уровень требований к процессу технической эксплуатации снизился практически до уровня эксплуатации бытовых приборов. Особенностью нынешнего этапа эксплуатации средств вычислительной техники является сближение эксплуатации технических и программных средств (особенно средств общего программного обеспечения). Тем не менее, роль этапа эксплуатации ТС остается достаточно значимой в решении задачи обеспечения надежности КС и, прежде всего, надежности сложных компьютерных систем.

 

31. Методы обеспечения надежности КС. Программный и аппаратный методы контроля.

 

 

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

В качестве разновидностей программного контроля, позволяющих контролировать правильность решения задач на ЭВМ, можно привести контроль повторным счётом, двойной счёт по различным программам и двойной счёт на различных устройствах.

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

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

В системах, которые имеют несколько однотипных устройств переработки информации (например, многопроцессорные ЭВМ), может быть использована следующая модификация метода повторного счёта. Одна и та же программа реализуется одновременно на двух различных устройствах. Полученные результаты сравниваются между собой. В случае их совпадения результат считается верным и происходит переход к следующему участку программы. При несовпадении результатов процесс повторяется. Затем необходимо осуществить сравнение полученных результатов и принять решение о их правильности.

 

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

Техническая реализация контроля по модулю заключается в разработке специальных схем, которые в технической литературе получили название "свертки". Эффективность контроля повышается с увеличением модуля. Однако с увеличением модуля непропорционально возрастает количество дополнительного оборудования и усложняются схемы контроля.

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

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

 

 

32. Программно – логический и тестовый формы контроля.

ПРОграммнолоический смотреть предыдущий билет

Проверяющие тесты. Проверяющие тесты предназначены для проверки правильности функционирования аппаратуры ЭВМ. Принцип работы тестового контроля состоит в том, что на вход контролируемого устройства подают специально подобранную совокупность входных воздействий и наблюдают реакцию на выходе. Сравнивая полученную реакцию с эталонной, судят о правильности функционирования устройства.

Тестовый контроль обеспечивает проверку пребывания устройств ЭВМ в работоспособном состоянии на момент контроля. В отличие от аппаратурного и аппаратурно-микропрограммного контроля он не может быть использован для проверки состояния устройств в процессе выполнения ими основной задачи, но может применяться периодически в процессе функционирования ЭВМ между решениями основных задач.

Рассмотрим особенности тест-программного контроля различных устройств.

Поскольку процессоры предназначены для выполнения различных операций, то тест-программная проверка процессора должна предусматривать выполнение всех возможных операций с различными операндами и проверку правильности полученных результатов. Код выполняемой операции и операнды здесь нужно рассматривать как входное слово, а результат операции - как выходное.

Тест-программный контроль памяти включает в себя проверку оперативной, постоянной и внешней памяти. Суть контроля этих видов памяти состоит в записи определённых слов в отдельные ячейки, считывании и сравнении с эталонами. Однако проверка для каждого вида памяти имеет свою специфику.

Отметим, что сама тест-программа проверки оперативной памяти расположена в ней же, следовательно, проверить ячейки, где находится программа, непосредственно невозможно. Поэтому оперативную память делят на две части и контролируют их поочерёдно, располагая тест-программу в неконтролируемой части памяти. Суть контроля оперативной памяти состоит в том, что в ячейки записываются слова, которые затем считываются и сравниваются с эталонами. Для того чтобы проверить оперативную память с полнотой охвата, равной единице, нужно проверить каждую ячейку на правильность хранения хотя бы двух поразрядно неравнозначных слов. В частном случае первое слово может иметь единицы во всех разрядах, а второе - нули.

ПЗУ контролируется только на правильность считывания информации. Следовательно, вначале нужно ввести в оперативную память эталоны, а затем последовательно из отдельных ячеек ПЗУ произвести считывание слов и сравнение их с эталонами.

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

Нарушения работы управляющего автомата ведёт к полному нарушению процесса вычислений. Поэтому проверка работоспособности УА является важным элементом контроля вычислительной машины. Контроль сводится к тому, что программным способом создаётся некоторая эталонная обстановка (ОА выдаёт различные осведомительные сигналы). УА реагирует на эти сигналы, а тест проверяет соответствие этой реакции эталону. Если УА неверно вырабатывает последовательность микрокоманд, то принимается решение о неверной работе управляющего автомата. Такой метод проверки целесообразно применять для контроля микропрограмм, хранящихся в ПЗУ.

Диагностические тесты. Диагностические тесты служат для отыскания места отказа в аппаратуре. Основные задачи, возлагаемые на диагностические тесты, следующие:

- получение информации, необходимой для локализации места отказа;

- обработка полученной информации и определение места отказа;

- индикация отказавшего элемента (при автоматической диагностике) на устройствах отображения.

Между проверяющими и диагностическими тестами нет четкой границы. Как правило, диагностические тесты строятся на базе проверяющих, т.е. используются сведения о состоянии устройства, полученные в результате применения проверяющих тестов.

Рассмотрим общий подход к построению диагностических тестов. Устройство, подлежащее диагностике, рассматривается как конечный автомат с известной внутренней структурой. Суть диагностики состоит в исследовании реакции автомата при подаче на его вход последовательности входных слов. Так как структура автомата известна, то для каждой входной последовательности известны элементы, участвующие в выработке последовательности выходных слов. Совпадение выходной последовательности с эталоном свидетельствует о том, что соответствующие элементы работают правильно. Несовпадение с эталоном показывает, что среди соответствующих элементов имеются отказавшие. Подачей на вход новых последовательностей стремятся сузить область находящихся под подозрением элементов до пределов требуемой. Данная методика построения диагностических тестов может обеспечить локализацию отказов с любой требуемой точностью. Однако количество испытаний и время их выполнения будут чрезвычайно велики.

 

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



Поделиться:


Последнее изменение этой страницы: 2017-02-07; просмотров: 291; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.146.105.137 (0.034 с.)