ПРОЦЕССОР Российский патент 2005 года по МПК G06F15/00 G06F12/14 

Описание патента на изобретение RU2248608C1

Изобретение относится к области вычислительной техники, а также к области средств защиты информации в компьютерных системах и может быть использовано для защиты программ и данных от несанкционированного (“пиратского”) копирования и использования, а также для защиты компьютерных систем от компьютерных вирусов (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 строки программы одни и те же по смыслу команды оказываются зашифрованными различными полями ключа шифрования, что фактически равносильно шифрованию различными ключами.

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

название год авторы номер документа
СПОСОБЫ И СИСТЕМЫ ДЛЯ АУТЕНТИФИКАЦИИ КОМПОНЕНТОВ В ГРАФИЧЕСКОЙ СИСТЕМЕ 2003
  • Инглэнд Пол
  • Пейнадо Маркус
  • Уилт Николас П.
RU2310227C2
КОМАНДА И ЛОГИКА ДЛЯ ОБЕСПЕЧЕНИЯ ФУНКЦИОНАЛЬНЫХ ВОЗМОЖНОСТЕЙ ЦИКЛА ЗАЩИЩЕННОГО ХЕШИРОВАНИЯ С ШИФРОМ 2014
  • Гопал Виндох
  • Фегхали Важди К.
RU2637463C2
ИСПОЛЬЗОВАНИЕ АУТЕНТИФИЦИРОВАННЫХ МАНИФЕСТОВ ДЛЯ ОБЕСПЕЧЕНИЯ ВНЕШНЕЙ СЕРТИФИКАЦИИ МНОГОПРОЦЕССОРНЫХ ПЛАТФОРМ 2014
  • Скарлата Винсент Р.
  • Джонсон Саймон П.
  • Бекер Владимир
  • Уолкер Джесс
  • Сэнтони Эми Л.
  • Анати Иттай
  • Макарам Рагхунандан
  • Маккин Фрэнсис Кс.
  • Розас Карлос В.
  • Савагаонкар Удай Р.
RU2599340C2
СПОСОБЫ И СИСТЕМЫ ДЛЯ КРИПТОГРАФИЧЕСКОЙ ЗАЩИТЫ ОХРАНЯЕМОГО СОДЕРЖИМОГО 2002
  • Инглэнд Пол
  • Пейнадо Маркус
  • Уилт Николас П.
RU2308077C2
Устройство симметричного шифрования данных с использованием алгоритма строгой аутентификации 2020
  • Ливенцев Владимир Алексеевич
  • Филимонков Андрей Александрович
  • Парамонов Илья Борисович
RU2765406C1
СРЕДСТВО ДЛЯ УСТАНОВКИ КЛЮЧА БЕЗ ПЕРЕВОДА В ПАССИВНОЕ СОСТОЯНИЕ 2010
  • Тимоти Слиджл
  • Дан Грейнер
  • Чун-Лун Кевин Шум
  • Кристиан Якоби
RU2542953C2
ИНИЦИАЛИЗАЦИЯ, ПОДДЕРЖАНИЕ, ОБНОВЛЕНИЕ И ВОССТАНОВЛЕНИЕ ЗАЩИЩЕННОГО РЕЖИМА РАБОТЫ ИНТЕГРИРОВАННОЙ СИСТЕМЫ, ИСПОЛЬЗУЮЩЕЙ СРЕДСТВО УПРАВЛЕНИЯ ДОСТУПОМ К ДАННЫМ 2003
  • Фостер Эрик М.
  • Холл Уилльям Э.
  • Росу Марсель-Каталин
RU2295834C2
ИСПОЛЬЗОВАНИЕ АППАРАТНО-ОБЕСПЕЧИВАЕМОЙ ЗАЩИЩЕННОЙ ИЗОЛИРОВАННОЙ ОБЛАСТИ ДЛЯ ПРЕДОТВРАЩЕНИЯ ПИРАТСТВА И МОШЕННИЧЕСТВА В ЭЛЕКТРОННЫХ УСТРОЙСТВАХ 2017
  • Чэнь, Лин Тони
RU2744849C2
СПОСОБ И СИСТЕМА БЕЗОПАСНОГО УПРАВЛЕНИЯ РЕЗЕРВНЫМИ КОПИЯМИ СОСТОЯНИЙ УДАЛЕННЫХ ВЫЧИСЛИТЕЛЬНЫХ УСТРОЙСТВ, С ФУНКЦИЕЙ ШИФРОВАНИЯ ОПЕРАТИВНОЙ ПАМЯТИ НА ЦЕНТРАЛЬНОМ ПРОЦЕССОРЕ, С ПОМОЩЬЮ КВАНТОВОГО РАСПРЕДЕЛЕНИЯ КЛЮЧЕЙ 2020
  • Гурин Олег Дмитриевич
RU2739135C1
СПОСОБ ОБРАБОТКИ ФАЙЛА, ХРАНЯЩЕГОСЯ ВО ВНЕШНЕЙ ПАМЯТИ 2022
  • Юй, Хунцзянь
  • Ли, Шуан
  • Ван, Фэй
RU2809740C2

Иллюстрации к изобретению RU 2 248 608 C1

Реферат патента 2005 года ПРОЦЕССОР

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

Формула изобретения RU 2 248 608 C1

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

Документы, цитированные в отчете о поиске Патент 2005 года RU2248608C1

PENTIUM PRO FAMILIY DEVELOPERS MANUAL
Предохранительное устройство для паровых котлов, работающих на нефти 1922
  • Купцов Г.А.
SU1996A1
СПОСОБ КОМПЛЕКСНОЙ ЗАЩИТЫ ПРОЦЕССА ОБРАБОТКИ ИНФОРМАЦИИ В ЭВМ ОТ НЕСАНКЦИОНИРОВАННОГО ДОСТУПА, ПРОГРАММНЫХ ЗАКЛАДОК И ВИРУСОВ 1998
  • Насыпный В.В.
RU2137185C1
СПОСОБ И МИКРОКОМПЬЮТЕРНАЯ СИСТЕМА ДЛЯ АВТОМАТИЧЕСКОЙ БЕЗОПАСНОЙ И ПРЯМОЙ ПЕРЕДАЧИ ДАННЫХ 1996
  • Брабанд Мартин
RU2170494C2
US 4306289 A, 15.12.1981
US 4465901 A, 14.08.1984.

RU 2 248 608 C1

Авторы

Павлов В.П.

Даты

2005-03-20Публикация

2003-07-22Подача