Смекни!
smekni.com

Криптографические методы защиты информации (стр. 7 из 9)

7. Блок ввода ключевой информации. Обеспечивает защищенный прием ключей с ключевого носителя, через него также вводится информация о пользователе для решения вопроса «свой/чужой».

8. Блок коммутаторов. Помимо перечисленных выше основных функций, УКЗД может по велению администратора безопасности отключать возможность работы со внешними устройствами: дисководами, CD-ROM, параллельными и последовательными портами, шиной USB и т.д. Если пользователь работает с настолько важной информацией, что ее нельзя ни печатать, ни копировать, УКЗД при входе на компьютер заблокирует все внешние устройства, включая даже сетевую карту.

5.3 Шифропроцессор

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

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

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

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

5.4 Быстродействие

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

Возможно применение и нескольких УКЗД на одном компьютере, например на криптографическом маршрутизаторе: один шифрует отправляемую в Интернет информацию, второй принимаемую. Производительность такой системы не вносит задержек в работу локальной сети FastEthernet (100 Мбит/с).

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

V = F x K / n,

где F - тактовая частота,

K – размер стандартного блока шифрования,

n - число тактов, требующееся на преобразование стандартного блока.

Например, отечественный алгоритм ГОСТ 28147-89 имеет быстродействие 32 такта на 8-байтовый блок, а значит, теоретически скорость шифрования должна стремиться к 25 Мбайт/с при тактовой частоте 100 Мгц. Однако скорости аппаратной реализации этого алгоритма - 8-9 Мбайт/с. Ограничения являются чисто технологическими: отсутствие необходимого уровня разработок или элементной базы. Хотелось бы отметить, что программная реализация криптоГОСТа на ПК при тактовой частоте процессора 1 Ггц достигает 12-16 Мбайт/с. Хотя в этом случае аппаратная скорость шифрования теоретически могла бы быть около 250 Мбайт/с.

5.5 Шифраторы для защиты сетей

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

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

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

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

Разработчики аппаратных шифраторов и программного обеспечения для них, полагают, что уже скоро будут созданы УКЗД, осуществляющие управление не только работой дисководов, CD-ROM и портов ввода-вывода, но и всеми ресурсами ПК, т.е. компьютеру останется только передавать данные между процессором и оперативной памятью и обрабатывать их, все остальное сделает само УКЗД. Ясно, что абсолютному большинству пользователей это не потребуется. Но там, где ведется работа с важными и конфиденциальными документами, информация должна быть серьезна защищена.

5.6 Загрузка ключей шифрования

Есть еще одна особенность, касающаяся безопасности: чтобы у злоумышленника не было совсем никаких шансов, необходимо ключи загружать в шифратор, минуя оперативную память компьютера, где их теоретически можно перехватить и даже подменить. Для этого УКЗД дополнительно содержит порты ввода-вывода, например COM или USB, к которым напрямую подключаются разные устройства чтения ключевых носителей. Это могут быть любые смарт-карты, специальные USB-ключи или электронные таблетки TouchMemory (их очень часто используют, например, для домофонов).

Помимо прямого ввода ключей в УКЗД, многие из таких носителей обеспечивают и их надежное хранение – даже украв USB-ключ, без специального кода доступа к его содержимому не подобраться.

5.7 Как программы используют шифратор

Установленный на компьютер шифратор может использоваться сразу несколькими программами, например программой прозрачного шифрования, «прогоняющей» данные сквозь шифратор, и программой электронной подписи, использующей для вычисления подписи получаемые от шифратора случайные числа.

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

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

· после загрузки, например, Windows — команды, поступающие через модуль управления шифраторами: шифровать данные, перезагружать ключи, вычислять случайные числа и т.д.

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

Еще одно назначение ПО управления шифраторами — обеспечить возможность замены одного шифратора на другой (скажем на более «продвинутый» или быстрый), не меняя программного обеспечения. Это происходит аналогично, например, смене сетевой карты: шифратор поставляется вместе с драйвером, который позволяет программам выполнять стандартный набор функций. Те же программы шифрования и не заметят такой подмены, но будут работать в несколько раз быстрее.