[go: up one dir, main page]

RU2248608C1 - Processor - Google Patents

Processor Download PDF

Info

Publication number
RU2248608C1
RU2248608C1 RU2003123178/09A RU2003123178A RU2248608C1 RU 2248608 C1 RU2248608 C1 RU 2248608C1 RU 2003123178/09 A RU2003123178/09 A RU 2003123178/09A RU 2003123178 A RU2003123178 A RU 2003123178A RU 2248608 C1 RU2248608 C1 RU 2248608C1
Authority
RU
Russia
Prior art keywords
input
output
program
decryption
processor
Prior art date
Application number
RU2003123178/09A
Other languages
Russian (ru)
Other versions
RU2003123178A (en
Inventor
В.П. Павлов (RU)
В.П. Павлов
Original Assignee
Павлов Владимир Павлович
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Павлов Владимир Павлович filed Critical Павлов Владимир Павлович
Priority to RU2003123178/09A priority Critical patent/RU2248608C1/en
Publication of RU2003123178A publication Critical patent/RU2003123178A/en
Application granted granted Critical
Publication of RU2248608C1 publication Critical patent/RU2248608C1/en

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)
  • Storage Device Security (AREA)

Abstract

FIELD: computers, data protection.
SUBSTANCE: processor has bus interface device, device for selection/decoding of commands, device for dispatching/execution, program string decoding device, which string is selected from program and loaded in first levels command cash, which contains a set of N two-input elements XOR, keys memory, storing different N-bit decoding keys.
EFFECT: higher efficiency.
2 dwg

Description

Изобретение относится к области вычислительной техники, а также к области средств защиты информации в компьютерных системах и может быть использовано для защиты программ и данных от несанкционированного (“пиратского”) копирования и использования, а также для защиты компьютерных систем от компьютерных вирусов (KB) и программных закладок (ПЗ), результатом вредоносного воздействия которых является нарушение целостности (искажение или уничтожение) информации.The invention relates to the field of computer technology, as well as to the field of information protection in computer systems and can be used to protect programs and data from unauthorized (“pirated”) copying and use, as well as to protect computer systems from computer viruses (KB) and software bookmarks (PZ), the result of the harmful effect of which is a violation of the integrity (distortion or destruction) of information.

Известны средства защиты программ и данных от несанкционированного копирования (НСК), в которых используются различные приемы, затрудняющие установку и выполнение копий программ в электронно-вычислительных машинах (ЭВМ). (Спесивцев А.В., Вегнер В.А., Крутяков А.Ю. и др. Защита информации в персональных ЭВМ. - М.: Радио и связь, 1992).Known means of protecting programs and data from unauthorized copying (NSC), which use various techniques that make it difficult to install and execute copies of programs in electronic computers (computers). (Spesivtsev A.V., Wegner V.A., Krutyakov A.Yu. et al. Information security in personal computers. - M.: Radio and communications, 1992).

Однако все они достаточно просто “взламываются” путем анализа программы и встроенной системы защиты с помощью программ-отладчиков в процессе исполнения программы, а также путем анализа текста программы и встроенной системы защиты, полученного в результате дизассемблирования кода программы. Успешный “взлом” системы защиты объясняется тем, что известна информация о системе машинных команд (форматах и кодах команд), доступен для анализа текст программы, полученный путем дизассемблирования, возможно пошаговое исполнение программы и анализ результатов после каждого шага.However, they are all quite “cracked” by analyzing the program and the built-in security system using debugging programs during the execution of the program, as well as by analyzing the text of the program and the built-in security system obtained by disassembling the program code. The successful “hacking” of the protection system is explained by the fact that information about the system of machine instructions (formats and codes of commands) is known, the program text obtained by disassembly is available for analysis, step-by-step execution of the program and analysis of the results after each step are possible.

Известны средства защиты ЭВМ от KB и ПЗ (Безруков Н.Н. Компьютерная вирусология. - Киев: КИИГА, 1990), которые путем тестирования кода программы обеспечивают обнаружение известных KB и ПЗ и их уничтожение.Known means of protecting computers against KB and PZ (Bezrukov NN Computer Virology. - Kiev: KIIGA, 1990), which by testing the program code ensure the detection of known KB and PZ and their destruction.

Однако до сих пор не найдено метода, обеспечивающего полную гарантию защиты ЭВМ от KB и ПЗ. Кроме того, возможность создания новых KB и ПЗ базируется на открытости и доступности системы машинных команд для использования.However, until now no method has been found that provides a full guarantee of computer protection against KB and PZ. In addition, the ability to create new KB and PZ is based on the openness and accessibility of the machine instruction system for use.

Известны криптографические методы и средства защиты информации, применение которых может обеспечить требуемый уровень защиты в процессе передачи и хранения информации. (Введение в криптографию. / Под ред. В.В.Ященко. - СПб.: Питер, 2001).Cryptographic methods and means of information protection are known, the use of which can provide the required level of protection during the transmission and storage of information. (Introduction to cryptography. / Ed. By V.V. Yashchenko. - St. Petersburg: Peter, 2001).

Однако на этапе обработки информации в процессоре применению криптографических методов препятствует открытость системы машинных команд. Тем самым нарушается известное условие надежной работы системы защиты - требование непрерывности процесса защиты.However, at the information processing stage in the processor, the use of cryptographic methods is hindered by the openness of the machine instruction system. This violates the well-known condition for reliable operation of the protection system - the requirement of continuity of the protection process.

Известны устройства, использующие методы криптографии на этапе исполнения программы, в которых применяются специальные схемы, напримерKnown devices that use cryptography methods at the stage of program execution, in which special schemes are used, for example

криптомикропроцессор (патент US №4465901, МПК G 06 K 5/00, H 04 L 9/00, 1984 г.; патент US №5666411, МПК H 04 L 9/00, 1997 г.);cryptomicroprocessor (US patent No. 4465901, IPC G 06 K 5/00, H 04 L 9/00, 1984; US patent No. 56666411, IPC 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 г.);the decoder (US patent No. 4246638, IPC G 06 F 013/00, H 04 K 001/00, 1981, US patent No. 4433207, H 04 L 009/00, 1984);

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

Эти схемы подключаются к стандартному оборудованию извне и обеспечивают расшифрование предварительно зашифрованной программы или ее части перед выполнением или в процессе ее выполнения.These schemes are connected to standard equipment from the outside and provide decryption of the pre-encrypted program or its part before execution or during its execution.

Основные недостатки известных устройств:The main disadvantages of the known devices:

- сохранение режима исполнения и незашифрованных программ приводит к нарушению требования непрерывности процесса защиты;- the preservation of the execution mode and unencrypted programs leads to a violation of the continuity of the protection process;

- необходимость внешнего подключения специальной для каждой ЭВМ схемы к стандартному компьютеру приводит к усложнению его использования и препятствует массовому применению.- the need for external connection of a circuit specific for each computer to a standard computer complicates its use and prevents mass use.

Известен также цифровой компьютер (патент US №4306289, G 06 F 005/00, 1981 г.), использующий методы криптографии на этапе исполнения программы, содержащий схему для расшифрования кода зашифрованной программы. Эта схема располагается в процессоре между регистром команд и дешифратором команд, изменяя тем самым стандартную архитектуру процессора. Процессор работает в двух режимах:A digital computer is also known (US patent No. 4306289, G 06 F 005/00, 1981), using cryptography methods at the program execution stage, containing a circuit for decrypting the code of the encrypted program. This circuit is located in the processor between the instruction register and the command decoder, thereby changing the standard processor architecture. The processor operates in two modes:

1) режим исполнения незашифрованной программы;1) execution mode of an unencrypted program;

2) режим исполнения предварительно зашифрованной программы.2) the execution mode of the pre-encrypted program.

Переключение из одного режима в другой осуществляется по специальным командам, размещаемым в начале и в конце зашифрованного участка программы. В результате исполнение зашифрованной программы (“пиратской” копии) на другом компьютере становится невозможным.Switching from one mode to another is performed by special commands placed at the beginning and at the end of the encrypted section of the program. As a result, the execution of the encrypted program (“pirated” copy) on another computer becomes impossible.

Недостатки устройства:The disadvantages of the device:

- необходимость использования режима исполнения открытых программ не удовлетворяет требованию непрерывности процесса защиты;- the need to use the open program execution mode does not satisfy the requirement of the continuity of the protection process;

- программное переключение режима работы процессора по специальной команде позволяет легко обнаружить зашифрованные участки программы и путем их анализа “взломать” ключ шифрования, так как его длина небольшая - всего 8 бит;- software switching of the processor operating mode by a special command makes it easy to detect encrypted program sections and, by analyzing them, “crack” the encryption key, since its length is small - only 8 bits;

- для зашифрования различных программ используется фактически один ключ. Однако в современных компьютерах используются лицензионные программы различных производителей, поэтому применение одного ключа не защищает другие программы от расшифрования раскрытым на другой программе ключом.- To encrypt various programs, virtually one key is used. However, modern computers use licensed programs from various manufacturers, so the use of one key does not protect other programs from decryption with the key opened on another program.

В силу указанных недостатков криптографические средства в современных серийно выпускаемых процессорах не применяются.Due to these shortcomings, cryptographic tools are not used in modern mass-produced processors.

Наиболее близким по технической сущности и достигаемому результату к заявляемому устройству является процессор Pentium Pro фирмы Intel (Pentiun Pro Family Developer's Manual. Intel Corporation, 1996), включающийThe closest in technical essence and the achieved result to the claimed device is a Pentium Pro processor from Intel (Pentiun Pro Family Developer's Manual. Intel Corporation, 1996), including

устройство шинного интерфейса (Bus Interface Unit), обеспечивающее связь процессора с системной шиной (System Bus) и кэш-памятью второго уровня (L2 Cache);a bus interface unit (Bus Interface Unit) that provides the processor with a system bus (System Bus) and a second-level cache memory (L2 Cache);

устройство выборки/декодирования команд (Fetch/Decode Unit), обеспечивающее выборку команд из памяти по порядку (in order);device fetch / decode units (Fetch / Decode Unit), providing a selection of commands from memory in order (in order);

устройство диспетчеризации/исполнения (Despatch/Execute Unit), обеспечивающее исполнение команд в беспорядке (out of order) и запись результатов в память по порядку.a dispatch / execution unit (Despatch / Execute Unit), providing the execution of commands in a mess (out of order) and recording the results in memory in order.

Процессор имеет два режима работы: режим реальной адресации (Real Address Mode) и защищенный режим виртуальной адресации (Protected Virtual Address Mode). На основе второго режима создаются различные программные системы защиты, включаемые в состав операционных систем, обеспечивающие защиту информации от несанкционированного использования и искажения.The processor has two modes of operation: the Real Address Mode and the Protected Virtual Address Mode. On the basis of the second mode, various software protection systems are created, which are included in the operating systems that protect information from unauthorized use and distortion.

Недостатком прототипа является использование режима исполнения открытых, то есть незашифрованных программ, что не удовлетворяет требованию непрерывности процесса защиты, поэтому системы защиты, построенные на основе защищенного режима процессора Pentium Pro, не гарантируют защиты программ от НСК, а компьютер - от вредоносного воздействия KB и ПЗ.The disadvantage of the prototype is the use of the open execution mode, that is, unencrypted programs, which does not satisfy the requirement of the continuity of the protection process, therefore protection systems built on the basis of the protected mode of the Pentium Pro processor do not guarantee protection of the programs from the NSC, and the computer against the harmful effects of KB and PP .

Поставлена задача - разработать процессор с закрытой системой команд (ПЗСК), в котором будет достигнута возможность исполнения только зашифрованных программ, каждая из которых зашифрована индивидуальным секретным ключом, причем процесс расшифрования осуществляется внутри процессора и расшифрованный код фрагмента программы недоступен для человека.The task is to develop a processor with a closed instruction system (CCD), in which it will be possible to execute only encrypted programs, each of which is encrypted with an individual secret key, the decryption process being carried out inside the processor and the decrypted code of the program fragment is not accessible to humans.

Поставленная задача решается за счет того, что в процессор, содержащий устройство шинного интерфейса, устройство выборки/декодирования команд, устройство диспетчеризации/исполнения, согласно изобретению, введено устройство расшифрования строки программы, выбираемой из памяти и загружаемой в кэш-команд первого уровня, при этом первый и второй входы/выходы устройства шинного интерфейса являются входами/выходами ПЗСК, к первому из которых подсоединена системная шина, а ко второму - кэш-память второго уровня, третий вход/выход соединен со входом/выходом устройства диспетчеризации/исполнения, а выход подсоединен к первому входу устройства расшифрования строки программы, второй вход которого соединен с первым выходом устройства выборки/декодирования команд, а выход - с первым входом устройства выборки/декодирования, второй выход которого соединен с входом устройства шинного интерфейса, а третий выход - со входом устройства диспетчеризации/исполнения, выход которого соединен со вторым входом устройства выборки/декодирования команд, причем устройство расшифрования строки программы содержит набор из N двухвходовых элементов XOR - "исключающее или", память ключей, хранящую различные N-битные ключи расшифрования, при этом все первые входы элементов XOR соединены с первым входом устройства расшифрования строки программы, а выходы элементов XOR соединены с выходом устройства расшифрования строки программы, а вторые входы элементов XOR соединены с выходом памяти ключей, вход которой соединен со вторым входом устройства расшифрования строки программы.The problem is solved due to the fact that a device for decrypting a program line selected from the memory and loaded into the first level command cache is introduced into the processor containing the bus interface device, the command fetch / decode device, the dispatch / execution device, according to the invention, the first and second inputs / outputs of the bus interface device are CCD inputs / outputs, the first of which is connected to the system bus, and the second is the second level cache memory, the third input / output is connected to the dispatch / execution device’s progress / output, and the output is connected to the first input of the program line decryption device, the second input of which is connected to the first output of the command sample / decode device, and the output is connected to the first input of the sample / decode device, the second output of which is connected to the device input the bus interface, and the third output is connected to the input of the dispatch / execution device, the output of which is connected to the second input of the command fetch / decode device, and the line decryption device The program contains a set of N two-input XOR elements - "exclusive or", a key memory that stores various N-bit decryption keys, while all the first inputs of XOR elements are connected to the first input of the program line decryption device, and the outputs of XOR elements are connected to the output of the decryption device program lines, and the second inputs of XOR elements are connected to the key memory output, the input of which is connected to the second input of the program line decryption device.

Проведенный заявителем поиск по научно-технической и патентной информации и выбранный прототип позволил выявить в заявленном техническом решении отличительные признаки, следовательно, заявленное устройство удовлетворяет критерию изобретения “новизна”.A search by the applicant for scientific, technical and patent information and the selected prototype made it possible to identify distinctive features in the claimed technical solution, therefore, the claimed device meets the criteria of the invention of “novelty”.

Проведенный заявителем дополнительный поиск известных технических решений с целью обнаружения в них признаков, сходных с отличительными признаками заявленного технического решения, показал, что у заявленного решения проявляются свойства, не совпадающие со свойствами, проявляемыми указанными признаками в известных технических решениях, следовательно, заявленное техническое решение удовлетворяет критерию изобретения “изобретательский уровень”.An additional search by the applicant for known technical solutions in order to detect features similar to the distinguishing features of the claimed technical solution showed that the claimed solution has properties that do not coincide with the properties shown by the indicated features in the known technical solutions, therefore, the claimed technical solution satisfies the criteria of the invention is “inventive step”.

Сущность изобретения поясняется чертежами, где на фиг.1 представлена блок-схема процессора (ПЗСК), а на фиг.2 представлена схема устройства расшифрования строки программы.The invention is illustrated by drawings, where figure 1 shows a block diagram of a processor (CCD), and figure 2 presents a diagram of a device for decrypting a program line.

Процессор содержит устройство шинного интерфейса 1, устройство расшифрования строки программы 2, устройство выборки/декодирования команд 3, устройство диспетчеризации/исполнения 4. Устройство шинного интерфейса 1 имеет три входа/выхода, при этом первый вход/выход соединен с системной шиной, второй - с кэш-памятью второго уровня, а третий подсоединен к входу/выходу устройства диспетчеризации/исполнения и служит для чтения данных из памяти, а также для записи результатов в память. Выход устройства шинного интерфейса 1 соединен с первым входом устройства расшифрования строки программы 2, второй вход которого соединен с первым выходом устройства выборки/декодирования 3, а выход устройства расшифрования строки программы 2 соединен с первым входом устройства выборки/декодирования 3, второй выход которого соединен с входом устройства шинного интерфейса 1, а третий выход - со входом устройства диспетчеризации/исполнения 4, выход которого соединен со вторым входом устройства выборки/декодирования 3.The processor contains a bus interface device 1, a program line decryption device 2, an instruction fetch / decoder 3, a dispatch / execution device 4. The bus interface device 1 has three inputs / outputs, with the first input / output connected to the system bus and the second to cache memory of the second level, and the third is connected to the input / output of the dispatch / execution device and serves to read data from the memory, as well as to write the results to the memory. The output of the bus interface device 1 is connected to the first input of the program line decryption device 2, the second input of which is connected to the first output of the sampling / decoding device 3, and the output of the program 2 line decryption device is connected to the first input of the sampling / decoding device 3, the second output of which is connected to the input of the bus interface device 1, and the third output is with the input of the dispatch / execution device 4, the output of which is connected to the second input of the sampling / decoding device 3.

Устройство расшифрования строки программы 2 содержит набор из N двухвходовых элементов XOR (“исключающее или”) 2.11,...,2.1N, память ключей 2.2 расшифрования строки программы, при этом все первые входы элементов XOR соединены с первым входом устройства шинного интерфейса 1, а выходы всех элементов XOR соединены с выходом устройства расшифрования строки программы 2, а вторые входы элементов XOR соединены с выходом памяти ключей 2.2 расшифрования строки программы, адресный вход которой соединен со вторым входом устройства расшифрования строки программы 2.The program line decryption device 2 contains a set of N two-input XOR elements (“exclusive or”) 2.1 1 , ..., 2.1 N , key memory 2.2 of the program line decryption, while all the first inputs of the XOR elements are connected to the first input of the bus interface device 1 and the outputs of all XOR elements are connected to the output of the program line decryption device 2, and the second inputs of XOR elements are connected to the memory output of the program line decryption keys 2.2, the address input of which is connected to the second input of the program line decryption device s 2.

Память ключей 2.2, хранящая N-разрядные ключи расшифрования, выполнена по схеме ППЗУ типа EEPROM с последовательным входным интерфейсом, который используется для записи индивидуальных для процессора ключей. После записи ключей входы интерфейса уничтожаются путем их пережигания. Такой способ позволяет записывать ключи в память ключей 2.2 после изготовления БИС ПЗСК.Key memory 2.2, which stores N-bit decryption keys, is made according to the EEPROM type ROM with a serial input interface, which is used to write individual keys for the processor. After writing the keys, the inputs of the interface are destroyed by burning them. This method allows you to write keys to the memory of keys 2.2 after manufacturing BIS PZSK.

Работает процессор с закрытой системой команд (ПЗСК) следующим образом. В памяти компьютера (в ОЗУ или на жестких дисках) все программы хранятся в зашифрованном индивидуальными ключами виде. Предварительное шифрование каждой программы осуществляется N-разрядным ключом, одним из набора ключей, записанных в память ключей 2.2. ПЗСК. Длина N ключа шифрования совпадает с разрядностью шины данных устройства шинного интерфейса 1 (в процессоре Pentium Pro N=64), через которую осуществляется выборка строки программы и запись ее в кэш-команд первого уровня, расположенную в устройстве выборки/декодирования 3. В процессе шифрования программа разбивается на N-разрядные строки. Шифрование строки осуществляется путем ее сложения по модулю два с ключом шифрования, номер которого становится атрибутом программы.The processor operates with a closed instruction system (CCD) as follows. In the computer's memory (in RAM or on hard drives), all programs are stored in an encrypted form with individual keys. The preliminary encryption of each program is carried out by an N-bit key, one of the set of keys recorded in the key memory 2.2. PZSK. The length N of the encryption key coincides with the width of the data bus of the device of the bus interface 1 (in the Pentium Pro processor N = 64), through which the program line is fetched and written to the first level cache commands located in the fetch / decode device 3. During encryption the program is split into N-bit lines. The line is encrypted by adding it modulo two with the encryption key, the number of which becomes an attribute of the program.

Расшифрование каждой N-разрядной строки программы в устройстве расшифрования 2 осуществляется после ее выборки из памяти и перед записью в кэш-команд первого уровня устройства выборки/декодирования 3. Расшифрование осуществляется ключом, извлеченным из памяти ключей 2.2 по номеру, который соответствует исполняемой программе и подается на ее адресный вход из устройства выборки/декодирования 3. Номер ключа расшифрования размещается в поле атрибутов дескрипторного регистра кодового сегмента, селектор которого загружен в сегментный регистр CS. Номер ключа расшифрования загружается в него одновременно с передачей управления программе, то есть сразу после загрузки нового селектора в регистр CS в дескрипторный регистр загружается дескриптор и номер ключа как атрибут программы.The decryption of each N-bit line of the program in the decryption device 2 is carried out after it is fetched from the memory and before being written to the cache of the first level of the sampling / decoding device 3. Decryption is performed with the key extracted from the key memory 2.2 by the number that corresponds to the executable program and is supplied to its address input from the sampling / decoding device 3. The number of the decryption key is placed in the attribute field of the descriptor register of the code segment, the selector of which is loaded into the segment register CS. The decryption key number is loaded into it simultaneously with the transfer of control to the program, that is, immediately after loading the new selector into the CS register, the descriptor and key number are loaded into the descriptor register as an attribute of the program.

Расшифрованная строка программы заносится в кэш команд первого уровня устройства выборки/декодирования 3, откуда затем она извлекается и используется традиционным способом.The decrypted line of the program is recorded in the command cache of the first level of the sampling / decoding device 3, from where it is then extracted and used in the traditional way.

Таким образом, строка программы в расшифрованном виде находится только внутри процессора и поэтому недоступна для анализа. Попытка исполнения программы, зашифрованной другим ключом или незашифрованной совсем, приводит к некорректной работе процессора, что обеспечивает защиту от KB и ПЗ. Кроме того, использование различных ключей для шифрования разных программ практически исключает их раскрытие и НСК.Thus, the program line in decrypted form is only inside the processor and therefore is not available for analysis. Attempting to execute a program encrypted with another key or completely unencrypted leads to incorrect processor operation, which provides protection against KB and PZ. In addition, the use of various keys to encrypt different programs virtually eliminates their disclosure and NSC.

Массовое использование заявленного устройства позволит обеспечить достижение следующих технико-экономических преимуществ:Massive use of the claimed device will ensure the achievement of the following technical and economic advantages:

- распространить использование криптографических методов на этап обработки информации, которая в этом случае осуществляется путем исполнения зашифрованной уникальным секретным ключом программы, что сделает непрерывным процесс защиты информации в ЭВМ;- to extend the use of cryptographic methods to the stage of information processing, which in this case is carried out by executing a program encrypted with a unique secret key, which will make the process of protecting information in computers continuous;

- исключить возможность исполнения незашифрованных программ, что обеспечит защиту программ от НСК, а компьютерных систем - от вредоносного воздействия KB и ПЗ;- exclude the possibility of executing unencrypted programs, which will protect the programs from the NSC, and computer systems - from the harmful effects of KB and PZ;

- криптостойкость защиты, которая обеспечивается большой разрядностью N ключа шифрования (в современных процессорах она лежит в пределах от 64 до 256), разной длиной команд в CISC-процессорах, поэтому при постоянной длине N строки программы одни и те же по смыслу команды оказываются зашифрованными различными полями ключа шифрования, что фактически равносильно шифрованию различными ключами.- cryptographic strength of protection, which is ensured by the large capacity of the N encryption key (in modern processors, it ranges from 64 to 256), different lengths of instructions in CISC processors, therefore, with a constant length N of the program line, the same commands are encrypted in meaning encryption key fields, which is practically equivalent to encryption with different keys.

Claims (1)

Процессор, содержащий устройство шинного интерфейса, устройство выборки/декодирования команд, устройство диспетчеризации/исполнения, отличающийся тем, что в него введено устройство расшифрования строки программы, выбираемой из памяти и загружаемой в кэш-команд первого уровня, при этом первый и второй входы/выходы устройства шинного интерфейса являются входами/выходами процессора, к первому из которых подсоединена системная шина, а ко второму - кэш-память второго уровня, третий вход/выход соединен со входом/выходом устройства диспетчеризации/исполнения, а выход подсоединен к первому входу устройства расшифрования строки программы, второй вход которого соединен с первым выходом устройства выборки/декодирования команд, а выход - с первым входом устройства выборки/декодирования, второй выход которого соединен с входом устройства шинного интерфейса, а третий выход - со входом устройства диспетчеризации/исполнения, выход которого соединен со вторым входом устройства выборки/декодирования команд, причем устройство расшифрования строки программы содержит набор из N двухвходовых элементов "исключающее или", память ключей, хранящую различные N-битные ключи расшифрования, при этом все первые входы двухвходовых элементов "исключающее или" соединены с первым входом устройства расшифрования строки программы, а выходы двухвходовых элементов "исключающее или" соединены с выходом устройства расшифрования строки программы, а вторые входы двухвходовых элементов "исключающее или" соединены с выходом памяти ключей, вход которой соединен со вторым входом устройства расшифрования строки программы.A processor comprising a bus interface device, a command fetch / decode device, a dispatch / execution device, characterized in that a device for decrypting a program line selected from the memory and loaded into the first level command cache is inserted into it, the first and second inputs / outputs devices of the bus interface are inputs / outputs of the processor, the first of which is connected to the system bus, and the second is the cache of the second level, the third input / output is connected to the input / output of the device manager performance / execution, and the output is connected to the first input of the program line decryption device, the second input of which is connected to the first output of the sample / decode device, and the output is connected to the first input of the sample / decode device, the second output of which is connected to the input of the bus interface device, and the third output is with the input of the dispatch / execution device, the output of which is connected to the second input of the command fetch / decode device, the program line decryption device containing a set of N two of the exclusive or elements, a key memory that stores various N-bit decryption keys, while all the first inputs of the two-way exclusive or are connected to the first input of the program line decryption device, and the outputs of the two-input exclusive or are connected to the output of the device decryption of the program line, and the second inputs of the two-input elements "exclusive or" are connected to the output of the key memory, the input of which is connected to the second input of the device to decrypt the program line.
RU2003123178/09A 2003-07-22 2003-07-22 Processor RU2248608C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2003123178/09A RU2248608C1 (en) 2003-07-22 2003-07-22 Processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2003123178/09A RU2248608C1 (en) 2003-07-22 2003-07-22 Processor

Publications (2)

Publication Number Publication Date
RU2003123178A RU2003123178A (en) 2005-02-10
RU2248608C1 true RU2248608C1 (en) 2005-03-20

Family

ID=35208321

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2003123178/09A RU2248608C1 (en) 2003-07-22 2003-07-22 Processor

Country Status (1)

Country Link
RU (1) RU2248608C1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2427895C2 (en) * 2006-02-03 2011-08-27 Рассел Х. ФИШ III Multiprocessor architecture optimised for flows
RU2497189C2 (en) * 2008-08-29 2013-10-27 Авг Текнолоджиз Сз, С.Р.О. System and method to detect malicious software

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4306289A (en) * 1980-02-04 1981-12-15 Western Electric Company, Inc. Digital computer having code conversion apparatus for an encrypted program
US4465901A (en) * 1979-06-04 1984-08-14 Best Robert M Crypto microprocessor that executes enciphered programs
RU2137185C1 (en) * 1998-01-09 1999-09-10 Насыпный Владимир Владимирович Method for complex protection of information processing in computer against unauthorized acs, inspection bookmarks and viruses

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4465901A (en) * 1979-06-04 1984-08-14 Best Robert M Crypto microprocessor that executes enciphered programs
US4306289A (en) * 1980-02-04 1981-12-15 Western Electric Company, Inc. Digital computer having code conversion apparatus for an encrypted program
RU2137185C1 (en) * 1998-01-09 1999-09-10 Насыпный Владимир Владимирович Method for complex protection of information processing in computer against unauthorized acs, inspection bookmarks and viruses

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
PENTIUM PRO FAMILIY DEVELOPERS MANUAL. INTEL CORPORATION 1996. *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2427895C2 (en) * 2006-02-03 2011-08-27 Рассел Х. ФИШ III Multiprocessor architecture optimised for flows
RU2497189C2 (en) * 2008-08-29 2013-10-27 Авг Текнолоджиз Сз, С.Р.О. System and method to detect malicious software

Also Published As

Publication number Publication date
RU2003123178A (en) 2005-02-10

Similar Documents

Publication Publication Date Title
TWI564797B (en) A method for encrypting a program and a computer program product thereof
KR101863143B1 (en) Memory integrity
TWI460604B (en) Secure microcontroller,hardware cipher,and method for securing content within a microcontroller
JP5648209B2 (en) Storage system having encryption key selection device and encryption key selection method
US20070162964A1 (en) Embedded system insuring security and integrity, and method of increasing security thereof
US7451327B2 (en) Method for securing software via late stage processor instruction decryption
CN105843776B (en) Microprocessor and method for safely executing instruction therein
CN106650327A (en) so file dynamic recovery-based Android application reinforcement method
JPWO2008010508A1 (en) Instruction generator
US20050198526A1 (en) Static and run-time anti-disassembly and anti-debugging
TW201918923A (en) Secure logic system and method for operating a secure logic system
CA1147823A (en) Crypto microprocessor for executing enciphered programs
US8479014B1 (en) Symmetric key based secure microprocessor and its applications
CN107102843B (en) Microprocessor and method for safely executing instructions therein
RU2248608C1 (en) Processor
KR20180059217A (en) Apparatus and method for secure processing of memory data
EP4202748A1 (en) Data oblivious cryptographic computing
Khan et al. A Comparative Analysis of Software Protection Schemes.
CN1065346C (en) Software protection method and device
CN120561897B (en) Method, system, equipment and medium for protecting probe code
JP4847827B2 (en) Access control device
CN119808171B (en) Data integrity verification method and system for encrypted file system
CN100347628C (en) Data protection system
McNamara Object-Level Hardware Tracking for Out-of-Bounds Read and Write Protection
CN119377999A (en) x86 processor and instruction level encryption and decryption method thereof

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20090723