Процессор

Изобретение относится к средствам защиты информации в компьютерных системах. Техническим результатом является обеспечение защиты программ и данных от несанкционированного копирования и обеспечение целостности информации путем защиты от компьютерных вирусов и программных закладок. Процессор содержит устройство шинного интерфейса, устройство выборки/декодирования команд, устройство диспетчеризации/исполнения, устройство расшифрования строки программы, выбираемой из памяти и загружаемой в кэш-команд первого уровня, которое содержит набор из N двухвходовых элементов "исключающее или", память ключей, хранящую различные N-битные ключи расшифрования. 2 ил.

 

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

Известны средства защиты программ и данных от несанкционированного копирования (НСК), в которых используются различные приемы, затрудняющие установку и выполнение копий программ в электронно-вычислительных машинах (ЭВМ). (Спесивцев А.В., Вегнер В.А., Крутяков А.Ю. и др. Защита информации в персональных ЭВМ. - М.: Радио и связь, 1992).

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

Известны средства защиты ЭВМ от KB и ПЗ (Безруков Н.Н. Компьютерная вирусология. - Киев: КИИГА, 1990), которые путем тестирования кода программы обеспечивают обнаружение известных KB и ПЗ и их уничтожение.

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

Известны криптографические методы и средства защиты информации, применение которых может обеспечить требуемый уровень защиты в процессе передачи и хранения информации. (Введение в криптографию. / Под ред. В.В.Ященко. - СПб.: Питер, 2001).

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

Известны устройства, использующие методы криптографии на этапе исполнения программы, в которых применяются специальные схемы, например

криптомикропроцессор (патент US №4465901, МПК G 06 K 5/00, H 04 L 9/00, 1984 г.; патент US №5666411, МПК H 04 L 9/00, 1997 г.);

дешифратор (патент US №4246638, МПК G 06 F 013/00, Н 04 К 001/00, 1981 г., патент US №4433207, H 04 L 009/00, 1984 г.);

сопроцессор (патент US №4903296, H 04 L 009/00, 1990 г.).

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

Основные недостатки известных устройств:

- сохранение режима исполнения и незашифрованных программ приводит к нарушению требования непрерывности процесса защиты;

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

Известен также цифровой компьютер (патент US №4306289, G 06 F 005/00, 1981 г.), использующий методы криптографии на этапе исполнения программы, содержащий схему для расшифрования кода зашифрованной программы. Эта схема располагается в процессоре между регистром команд и дешифратором команд, изменяя тем самым стандартную архитектуру процессора. Процессор работает в двух режимах:

1) режим исполнения незашифрованной программы;

2) режим исполнения предварительно зашифрованной программы.

Переключение из одного режима в другой осуществляется по специальным командам, размещаемым в начале и в конце зашифрованного участка программы. В результате исполнение зашифрованной программы (“пиратской” копии) на другом компьютере становится невозможным.

Недостатки устройства:

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

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

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

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

Наиболее близким по технической сущности и достигаемому результату к заявляемому устройству является процессор Pentium Pro фирмы Intel (Pentiun Pro Family Developer's Manual. Intel Corporation, 1996), включающий

устройство шинного интерфейса (Bus Interface Unit), обеспечивающее связь процессора с системной шиной (System Bus) и кэш-памятью второго уровня (L2 Cache);

устройство выборки/декодирования команд (Fetch/Decode Unit), обеспечивающее выборку команд из памяти по порядку (in order);

устройство диспетчеризации/исполнения (Despatch/Execute Unit), обеспечивающее исполнение команд в беспорядке (out of order) и запись результатов в память по порядку.

Процессор имеет два режима работы: режим реальной адресации (Real Address Mode) и защищенный режим виртуальной адресации (Protected Virtual Address Mode). На основе второго режима создаются различные программные системы защиты, включаемые в состав операционных систем, обеспечивающие защиту информации от несанкционированного использования и искажения.

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

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

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

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

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

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

Процессор содержит устройство шинного интерфейса 1, устройство расшифрования строки программы 2, устройство выборки/декодирования команд 3, устройство диспетчеризации/исполнения 4. Устройство шинного интерфейса 1 имеет три входа/выхода, при этом первый вход/выход соединен с системной шиной, второй - с кэш-памятью второго уровня, а третий подсоединен к входу/выходу устройства диспетчеризации/исполнения и служит для чтения данных из памяти, а также для записи результатов в память. Выход устройства шинного интерфейса 1 соединен с первым входом устройства расшифрования строки программы 2, второй вход которого соединен с первым выходом устройства выборки/декодирования 3, а выход устройства расшифрования строки программы 2 соединен с первым входом устройства выборки/декодирования 3, второй выход которого соединен с входом устройства шинного интерфейса 1, а третий выход - со входом устройства диспетчеризации/исполнения 4, выход которого соединен со вторым входом устройства выборки/декодирования 3.

Устройство расшифрования строки программы 2 содержит набор из N двухвходовых элементов XOR (“исключающее или”) 2.11,...,2.1N, память ключей 2.2 расшифрования строки программы, при этом все первые входы элементов XOR соединены с первым входом устройства шинного интерфейса 1, а выходы всех элементов XOR соединены с выходом устройства расшифрования строки программы 2, а вторые входы элементов XOR соединены с выходом памяти ключей 2.2 расшифрования строки программы, адресный вход которой соединен со вторым входом устройства расшифрования строки программы 2.

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

Работает процессор с закрытой системой команд (ПЗСК) следующим образом. В памяти компьютера (в ОЗУ или на жестких дисках) все программы хранятся в зашифрованном индивидуальными ключами виде. Предварительное шифрование каждой программы осуществляется N-разрядным ключом, одним из набора ключей, записанных в память ключей 2.2. ПЗСК. Длина N ключа шифрования совпадает с разрядностью шины данных устройства шинного интерфейса 1 (в процессоре Pentium Pro N=64), через которую осуществляется выборка строки программы и запись ее в кэш-команд первого уровня, расположенную в устройстве выборки/декодирования 3. В процессе шифрования программа разбивается на N-разрядные строки. Шифрование строки осуществляется путем ее сложения по модулю два с ключом шифрования, номер которого становится атрибутом программы.

Расшифрование каждой N-разрядной строки программы в устройстве расшифрования 2 осуществляется после ее выборки из памяти и перед записью в кэш-команд первого уровня устройства выборки/декодирования 3. Расшифрование осуществляется ключом, извлеченным из памяти ключей 2.2 по номеру, который соответствует исполняемой программе и подается на ее адресный вход из устройства выборки/декодирования 3. Номер ключа расшифрования размещается в поле атрибутов дескрипторного регистра кодового сегмента, селектор которого загружен в сегментный регистр CS. Номер ключа расшифрования загружается в него одновременно с передачей управления программе, то есть сразу после загрузки нового селектора в регистр CS в дескрипторный регистр загружается дескриптор и номер ключа как атрибут программы.

Расшифрованная строка программы заносится в кэш команд первого уровня устройства выборки/декодирования 3, откуда затем она извлекается и используется традиционным способом.

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

Массовое использование заявленного устройства позволит обеспечить достижение следующих технико-экономических преимуществ:

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

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

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

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



 

Похожие патенты:

Изобретение относится к автоматике и вычислительной технике и может быть использовано в адаптерах локальной вычислительной сети Ethernet. .

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

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

Изобретение относится к средствам, обеспечивающим создание множественных двунаправленных ссылок в рамках гипертекстового языка (HTML). .

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

Изобретение относится к информатике и вычислительной технике. .

Изобретение относится к системам связи, использующим расширенный протокол сообщения сети области управления и осуществляющим маршрутизацию сообщений в коммуникационной сети управления лифтами, имеющей множество узлов.

Изобретение относится к системам обработки данных. .
Изобретение относится к способу присвоения адресов работающим в системном режиме компьютерам. .

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

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

Изобретение относится к области защиты информации при криптографических преобразованиях информационных данных. .

Изобретение относится к области аутентификации объектов. .

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

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

Изобретение относится к устройствам обмена данными с установлением разрешения на обмен данными. .

Изобретение относится к способу контроля выполнения компьютерных программ в соответствии с их назначением. .

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

Изобретение относится к способу аутентификации информации, воспроизводимой с носителя типа диска
Наверх