Правильная ссылка на эту страницу
http://az-design.ru/Support/HardWare/Intel/D19790802Elc034.shtml

Устройство шифрования данных—БИС с прямым обращением к ЗУ

УДК 681.327.67:621.3.049.77

Джон Бистон (John Beaston)
Фирма Intel Corp. (Санта-Клара, шт.Калифорния)

John Beaston. One-chip data-encryption unit accessesmemory directly, pp.126—129.

Вторая статья, посвященная интегральной реализации алгоритма НБС. Первая статья помещена в №15.

Описана структура и работа БИС 8294 для шифрования данных. Отмечены ее преимущества и области применения. Схема реализует алгоритм Национального бюро стандартов при сравнительно низкой скорости передачи 640 бит/с.

Устройства шифрования данных — последнеер достижение технологии БИС — являются новейшими изделиями, поступившими в распоряжение промышленности средств связи и вычислительной техники. Разработанные в результате введения правительством США стандарта шифрования данных (СШД) для безопасной передачи конфеденциальной, но формально не имеющей грифа секретности информации, эти устройства (их можно приобрести в виде БИС, съемных плат или автономных блоков) перспективы к применению в любой информационной системе, разглашение данных из которой недопустимо.

Устройства шифрования-дешифрования данных (УШД) реализуют алгоритм, разработанный Национальным бюро стандартов2{Электроника, 1979, №13}. Алгоритм НБС, по мнению большинства специалистов, достаточно надежен для большинства практических целей. Это означает, что для манипуляции коммерческой информацией или для обработки цифровых речевых сигналов, которые встречаются в таких областях, как пользование ЭВМ, банковские операции и телефонная связь, коды, генерируемые в соответствии с этим алгоритмом, невозможно раскрыть за практически допустимое время без необычно больших усилий.

Многие из крупнейших полупроводниковых фирм уже вышли на быстро расширяющийся рынок УШД — Western Digital и Fairchild Camera and Instruments — две из них. Третья — Texas Instruments, которая недавно приступила к выпуску БИС, предназначенной для использования в качестве специализированной периферийной микро-ЭВМ для выполнения операций шифрования и дешифрования1{Электроника, 1979, №15}.

Фирма Intel выпустила дешевое УШД, реализованное в виде одной БИС. Изделие 8294 (рис.1), на которое НБС уже выдало сертификат, является единственным однокристальным устройством, обладающим к тому же прямым обращением к ЗУ и совместимым со всем рядом микропроцессорных устройств фирмы Intel. С точки зрения применения это устройство особенно пригодно для обеспечения безопасности неречевой информации, когда не требуется высокая скорость передачи.

Совместимость. БИС 8294 фирмы Intel для шифрования данных идеально подходит для работы с любым микропроцессором или периферийным устройством выпускаем
Рис.1. Совместимость. БИС 8294 фирмы Intel для шифрования данных идеально подходит для работы с любым микропроцессором или периферийным устройством выпускаемого этой фирмой семейства. Эта БИС рассчитана на области применения, где требуется сравнительно низкая скорость — до 640 бит/с, хотя этот предел легко можно повысить в п раз, если соединить параллельно n таких БИС.
1 — интерфейс с ЗУ с непосредственной выборкой; 2 —постоянное ЗУ (ПЗУ); 3 — ЗУ с произвольной выборкой; 4 — счетчик команд; 5 — адресный регистр ПЗУ; 6 —различные триггеры; 7 — генератор обратного смещения; 8 — генератор с самовозбуждением и генератор тактового сигнала; 9 — арифметический и логический блок; 10 — дешифратор команд; 11 — схема управления арифметического и логического блока АЛБ; 12 — логика прерывания; 13 — управление вводом-выводом данных (ПЗУ/ЗУПВ); 14 — буферный регистр тактового сигнала; 35 — предварительный делитель частоты; 16 — генератор сигнала синхронизации состояний; 17 — логическая схема внешнего управления; 18 — буферный регистр информационной кодовой шины»

Включение УШД

5-вольтовая 40-штырьковая БИС 8294 преобразует данные со скоростью 640 бит/с, используя 64-разрядные блоки информации и 64-разрядный шифрключ (включающий восемь разрядов проверки на четность). Она имеет три прерываемых выхода для облегчения ввода и вывода данных и работает в режиме шифрования или дешифрования или в обоих режимах. Управление УШД 8294 осуществляется при помощи внешнего процессора через ряд логических схем управления и прерывания (рис.2). Для удобства в осуществлении требуемых операций предусмотрено семь вспомогательных выходных линий, функции которых определяются пользователем.

Простая реализация процесса шифрования. Для работы 5-вольтовой 40-штырьковой БИС 8294 необходимо управление со стороны внешнего микропроцессора. К чис
Рис.2. Простая реализация процесса шифрования. Для работы 5-вольтовой 40-штырьковой БИС 8294 необходимо управление со стороны внешнего микропроцессора. К числу удобных особенностей этой БИС относятся наличие семи выходных линий (назначение которых определяется пользователем) и интерфейса с ЗУ с непосредственной выборкой. Данные шифруются и дешифруются в соответствии со стандартом шифрования данных (CLLJD) НБС.

Преобразование информации — от открытого текста к шифртексту — при помощи УШД 8294 осуществляется особенно просто и производится тремя шагами. Сначала вырабатывается команда установки режима, приводящая в рабочее состояние необходимые выводы прерывания или интерфейс прямого обращения к внешнему ЗУ, если это необходимо. Затем вырабатывается команда ввода нового шифрключа, вслед за которой выдается 64-разрядная ключевая последовательность. Ключевая последовательность вводится 8-разрядными байтами. Каждый из этих байтов должен иметь нечетную сумму по модулю 2, как представляется наименее значащим (младшим) разрядом. Наконец, вырабатывается команда шифрования или дешифрования данных, служащая для перевода (установки) БИС в требуемый режим.

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

Перечисленные три шага включения БИС осуществляются под программным управлением центрального процессора (ЦП), с которым УШД сопрягается. Например, команда установки режима вырабатывается при помощи соответствующей команды для приведения в действие требуемых выводов прерывания. Если пользователь желает ввести новый ключ, то прежде чем будет выдана команда ввода нового ключа, должно быть проверено состояние устройства. Отказ при надлежащей проверке может привести к прекращению работы УШД, и тогда его придется вновь вводить в режим. Собственно процедура ввода ключа не сложная.

После выработки команды ввода нового ключа восемь информационных байтов, представляющих этот новый ключ, записываются во входной буферный регистр кодовой шины последовательно байт за байтом, начиная с наиболее значащего. Маркер заполнения входного буферного регистра (ЗВБ) устанавливается в состояние 1, когда записывается новый байт, и сбрасывается в состояние 0, когда УШД 8294 принимает этот байт.

Перед записью новой информации ЦП должен ждать, пока маркер ЗВБ не примет значения 0. После приема УШД восьмого байта маркерный разряд окончания (МО) принимает значение 1. В этот момент времени УШД 8294 про-веряет подлинность (точность) ключа и сбрасывает МО в состояние 0. В результате сброса МО происходит включение ЦП на проверку разряда ошибки в позиции ключа (ОПК), чтобы определить, что ключ был введен, запомнен и проверен на точность до ввода собственно информационных байтов.

Использование разряда МО для индикации истинности маркера ОПК делает невозможным использование значения МО=1 для маркирования окончания ввода 8-байтового сообщения. Поэтому необходимо использование счетчика. МО тогда можно зарезервировать для проверки точности маркера ОПК.

Для передачи данных с управлением посредством ЦП процессор записывает во входной буферный регистр данных УШД восемь информационных байтов, которые должны быть зашифрованы или дешифрованы. Когда будет принят восьмой байт, МО примет более высокое значение, что служит признаком приема блока данных. Этот последний шаг включает ЦП на проверку того, чтобы ЭВБ имел значение 0, а МО—1 для окончания режима ввода.

Когда шифрование или дешифрование завершается, включаются выводы прерывания «окончание преобразования» (ОП) и «выходные данные готовы» (ВДГ) и маркер «заполнения выходного буферного регистра» (ЗВБР) устанавливается в истинное состояние (состояние 1). Маркеры ВДГ и ЗВБР вновь сбрасываются в ложное состояние после считывания ЦП каждого из байтов преобразованных данных. Маркер прерывания ОП принимает ложное состояние в результате первого считывания ЦП и остается в этом состоянии.

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

Передача данных между УШД и ЦП может производиться и по-иному, с использованием прямого обращения к ЗУ. В этом случае контроль за фактическими передачами данных осуществляет внешнее устройство управления непосредственной выборкой из ЗУ, а не ЦП. Единственной операцией с участием ЦП является ввод адресов буферных ЗУ в устройство управления непосредственной выборкой и сообщение УШД 8294 информации о том, сколько 64-разрядных блоков должно быть зашифровано или дешифровано.

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

Структура УШД

Все функции УШД 8294 осуществляются внутри схемы при помощи микрокода, запомненного в программируемых постоянных ЗУ этой БИС. Использование микрокода приводит к снижению пропускной способности схемы по сравнению с достигнутой в других устройствах— например в устройствах защиты информации 2845 фирмы IBM и 3846 фирмы Motorola — из-за аппаратной реализации алгоритма НБС. Однако УШД 8294 дешевле. Кроме того, оно не требует дополнительных ИС при использовании в операциях под управлением ЦП, а требует лишь вспомогательные аппаратные средства непосредственной выборки из ЗУ, если используется в этом режиме.

Хотя большинство из 40 выводов УШД 8294 имеет очевидные назначения, относительно некоторых необходимо дать пояснения. Например, штырек 9 (А0) используется для выбора регистра, обращение к которому необходимо для следующей операции. Буферный регистр данных выбирается посредством подачи 0 в эту линию, а регистр команд/состояний выбирается посредством состояния 1. В сочетании с линиями «несчитывания» (RD) и «не-записи» (WR) (штырьки 8 и 10 соответственно) этот сигнал выбирает надлежащий регистр. Если триплет RD, WR и Ао имеет значение 100, 010, 101 или 011, то выбранными регистрами будут соответственно входное буферное ЗУ данных, выходное буферное ЗУ данных, входное буферное ЗУ команд или выходное буферное ЗУ состояния. Соединения штырьков «не-подтверждения прямого обращения к ЗУ» (DACK) и «запрос о прямом обращении к ЗУ» (DRQ) используются для реализации прямого обращения к ЗУ — первый для подачи сигнала подтверждения из устройства управления непосредственной выборкой из ЗУ (БИС 8257 фирмы Intel или эквивалентная ей БИС) о том, что запрашиваемый цикл непосредственной выборки из ЗУ был разрешен, а второй — для подачи сигнала, используемого для запроса цикла непосредственной выборки из ЗУ.

Назначение линий Ро—Р6 задается пользователем как 7-разрядный вход, который можно использовать, например, для пропускания дополнительной информации между ЦП и УШД 8294. К функции шифрования эти линии не имеют никакого отношения.

Области применения

В экспериментальной установке, созданной фирмой Intel в процессе разработки БИС 8294, данная БИС использовалась для шифрования и дешифрования текстового массива информации, хранимого в ЗУ на миниатюрных магнитных дисках экспериментального микрокомпьютера Intellec. Легко произвести расширение этой конструкции с тем, чтобы БИС можно было использовать в более сложных областях применения. В этом случае БИС монтируется на плате печатного монтажа (рис.3) вместе с соответствующими вспомогательными схемными элементами и узлами.

Экспериментальная установка. Если БИС 8294смонтировать на плате печатного монтажа вместе с вспомогательными и взаимодействующими БИС, то такое устройс
Рис.3. Экспериментальная установка. Если БИС 8294смонтировать на плате печатного монтажа вместе с вспомогательными и взаимодействующими БИС, то такое устройство можно использовать в качестве съемного блока шифрования для диска экспериментальной вычислительной системы. В данном применении реализуется прямое обрьщение к ЗУ, хотя оно не всегда необходимо. 1 — выбор режима; 2 — интерфейс с ЗУ с непосредственной выборкой; 3 — многошинный интерфейс.

Для этой системы необходима только одна БИС 8294 с возможностью прямого обращения к ЗУ, включая генерацию адреса для 16-разрядных адресов (обрабатываемых БИС 8212), работу в буферном режиме с информационной шиной микрокомпьютера Intellec (функция БИС 8226) и логику выбора БИС.

Для обеспечения режима прерывания используется переключатель с двухрядным расположением выводов. В этом случае ЦП может запрашивать УШД 8294 и управлять им непосредственно для каждой операции передачи данных. Независимо от того, в каком режиме работает система — под контролем ЦП или при прямом обращении к ЗУ, — в ней используется сигнал окончания преобразования ОП (со штырька 24 БИС 8294) для уведомления ЦП о том, когда УШД закончило операцию передачи данных.

Для запуска системы эта плата вставляется в гнездо микрокомпьютера Intellec. Затем пользователь печатает команду, состоящую из наименования массива (файла). Это наименование файла ISIS-II, который должен быть зашифрован или дешифрован, а символы D или Е обозначают, что должно быть произведено — дешифрование или шифрование. Восемь символов (знаков) кода АБСП — это ключевая последовательность, используемая УШД 8294 при кодировании или декодировании данных или текста упомянутого файла.

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

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

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

Прочие дополнительные аппаратные средства, необходимые для реализации прямого обращения к ЗУ, включают модуль выбора БИС или модуль декодирования. Эта логика используется для определения того, обращается или нет ЦП к УШД 8294 в процессе запуска и обработки.

Использование режима прямого обращения к ЗУ оказывает двойное влияние — некоторое увеличение пропускной способности УШД 8294 и уменьшение объема операций по контролю УШД со стороны ЦП. Однако участие ЦП в процессах шифрования и дешифрования данных ограничивается считыванием восьми байтов из выходного буферного регистра и вводом еще восьми байтов во входной буферный регистр, причем время, которое ЦП затрачивает на контроль и обработку данных в УШД 8294, также довольно ограничено.

С другой стороны, реализация прямого обращения к ЗУ на БИС 8294 делает возможным включение нескольких таких устройств параллельно вместе со связанными с каждым из них соответствующими устройствами управления непосредственной выборкой из ЗУ. Такая параллельная обработка значительно увеличивает пропускную способность процесса шифрования и дешифрования. Вероятно, ее можно использовать вплоть до скоростей передачи данных около 19200 бит/с. При более высоких скоростях предпочтительнее аппаратная реализация.

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

Программные средства

Поскольку БИС 8294 работает под управлением программных средств микропроцессора, процессор должен, как минимум, запустить ее — ввести в исходный режим, установить устройство управления прямым обращением к ЗУ на обработку блока памяти, подлежащего шифрованию или дешифрованию, и среагировать на команду прерывания, когда обработка будет закончена. При построении УШД по минимальному варианту (т.е. без прямого обращения к ЗУ) процессор должен также ввести 8 байт в буферный регистр ввода данных УШД. Между моментом ввода 8 байт во входной буферный регистр и моментом, когда они будут зашифрованы или расшифрованы и поступят в буферный регистр ввода данных, обычно существует задержка 100 мс; в течение этого интервала времени ЦП может выполнять другие функции.

Программные средства, используемые в описанной выше схеме экспериментальной системы, относительно просты. Заметим, впрочем, что цикл программы устанавливается после того, как будут установлены наименования входного и выходного файлов. Этот цикл необходим для того, чтобы программа могла обеспечить прием команды, поданной в УШД (признаком чего является наличие 1 в разрядной ячейке 0 во входном буферном регистре команд).

Имеется несколько тонкостей в программе, которые необходимо знать и учитывать. Например, поскольку БИС 8294 рассчитана на кодирование 8 байт за один прием и объем файла может и не быть четно-кратным 8 байт, последний блок считываемых данных должен заполняться нулями до тех пор, пока его длина не станет равной 8 байт.

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

Когда вся работа по подготовке программных средств произведена, преобразование данных протекает просто и надежно. В прикладной программе, рассмотренной выше, данные считы-ваются с блока ЗУ на миниатюрных магнитных дисках блоками по 1024 байт, преобразуются и записываются во временное ЗУ блоками такого же размера. После окончания преобразования данных (в предположении, что оно прошло успешно, т.е. не было ошибок при вводе-выводе и при считывании данных с дисков) старый файл заменяется новым. Старый файл сначала закрывается, а затем содержащиеся в нем данные стираются.

Выходные данные:

Журнал "Электроника" том 52, No.16 (568), 1979г - пер. с англ. М.: Мир, 1979, стр.54

Electronics Vol.52 No.16 August 02, 1979 A McGraw-Hill Publication

John Beaston. One-chip data-encryption unit accessesmemory directly, pp.126—129.

Раздел: МЕТОДЫ, СХЕМЫ, АППАРАТУРА

Тема:     Защита данных





Дата последнего изменения:
Thursday, 21-Aug-2014 09:10:44 MSK


Постоянный адрес статьи:
http://az-design.ru/Support/HardWare/Intel/D19790802Elc034.shtml