RU2566253C1 - Data block processing method - Google Patents

Data block processing method Download PDF

Info

Publication number
RU2566253C1
RU2566253C1 RU2014123493/08A RU2014123493A RU2566253C1 RU 2566253 C1 RU2566253 C1 RU 2566253C1 RU 2014123493/08 A RU2014123493/08 A RU 2014123493/08A RU 2014123493 A RU2014123493 A RU 2014123493A RU 2566253 C1 RU2566253 C1 RU 2566253C1
Authority
RU
Russia
Prior art keywords
data block
cryptographic
gos
hypervisor
operating system
Prior art date
Application number
RU2014123493/08A
Other languages
Russian (ru)
Inventor
Дмитрий Петрович Зегжда
Алексей Валерьевич Никольский
Денис Вячеславович Шкиря
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 RU2014123493/08A priority Critical patent/RU2566253C1/en
Application granted granted Critical
Publication of RU2566253C1 publication Critical patent/RU2566253C1/en

Links

Abstract

FIELD: information technology.
SUBSTANCE: data block processing method, which includes shutting down a guest operating system (GOS) with a hypervisor at the onset of an intercept event and processing the intercept event based on a given virtual machine external monitor (VMEM) program, wherein the hypervisor shuts down the GOS when a GOS application accesses the GOS cryptographic subsystem and instructs the VMEM to perform a cryptographic operation for encrypting a data block; based on said instruction, the VMEM requests through an external device an access code for cryptographic keys and if the access code matches, loads the cryptographic keys into memory, loads the encrypted data block into memory and displays said data block on the external device, and after confirmation from the external device of the correctness of said data block, encrypts said data block using cryptographic keys loaded into memory; the VMEM then returns the encrypted information to the GOS, after which the hypervisor resumes operation of the GOS.
EFFECT: safer data block processing by preventing unauthorised access during cryptographic processing of said block.
1 dwg

Description

Изобретение относится к области вычислительной техники и может найти применение при обработке данных в виртуальной вычислительной среде.The invention relates to the field of computer technology and may find application in processing data in a virtual computing environment.

Известен способ обработки данных, включающий создание документа и его шифрование в операционной системе компьютера (Б. Шнайер "Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке Си", издательство "Триумф", 2002 г., с. 8).There is a method of data processing, including the creation of a document and its encryption in the computer operating system (B. Schneier "Applied Cryptography. Protocols, Algorithms, C Source Texts", Triumph Publishing House, 2002, p. 8).

Недостаток такого способа заключается в том, что конфиденциальность шифруемого документа может быть нарушена вредоносными программами.The disadvantage of this method is that the privacy of the encrypted document can be compromised by malware.

Известен способ обработки данных гостевой операционной системой компьютера, управляемой гипервизором (RU 2412468 C2, 20.02.2011 г.).A known method of processing data by a guest operating system of a computer controlled by a hypervisor (RU 2412468 C2, 02.20.2011).

Использование гипервизора позволяет обеспечить защиту от вирусных кибератак только корневой операционной системы. При этом вредоносное программное обеспечение, внедряемое в гостевую операционную систему в результате вирусных кибератак, может негативно влиять на работу гостевой операционной системы, вследствие чего конфиденциальность обрабатываемого блока данных может быть нарушена.Using a hypervisor allows you to provide protection against viral cyber attacks only on the root operating system. In this case, malicious software introduced into the guest operating system as a result of virus cyber attacks can adversely affect the operation of the guest operating system, as a result of which the confidentiality of the processed data block may be compromised.

Задача, на решение которой направлено предлагаемое изобретение, заключается в повышении безопасности обработки блока данных за счет предотвращения несанкционированного доступа в процессе криптографической обработки этого блока.The problem to which the invention is directed, is to increase the security of processing a data block by preventing unauthorized access during cryptographic processing of this block.

Для решения этой задачи, в отличие от известного способа обработки блока данных, включающего остановку гипервизором работы гостевой операционной системы при наступлении события перехвата и обработку события перехвата по заданной программе внешним монитором виртуальной машины, в предлагаемом способе гипервизор останавливает работу гостевой операционной системы при выполнении безусловно перехватываемой инструкции, формируемой криптопровайдером криптографической подсистемы гостевой операционной системы и инициируемой обращением прикладного программного обеспечения к криптографической подсистеме, затем гипервизор дает команду внешнему монитору виртуальной машины на выполнение криптографической операции шифрования блока данных, по этой команде внешний монитор виртуальной машины через внешнее устройство запрашивает код доступа к криптографическим ключам и при соответствии кода доступа загружает криптографические ключи в память, загружает в память шифруемый блок данных и отображает его на внешнем устройстве, а после подтверждения с внешнего устройства корректности этого блока данных осуществляет его шифрование с использованием загруженных в память криптографических ключей, затем внешний монитор виртуальной машины возвращает зашифрованную информацию в гостевую операционную систему, после чего гипервизор возобновляет работу гостевой операционной системы.To solve this problem, in contrast to the known method of processing a data block, which includes the hypervisor stopping the guest operating system when an interception event occurs and processing the interception event for a given program by an external virtual machine monitor, in the proposed method, the hypervisor stops the guest operating system when unconditionally intercepted instructions generated by the cryptographic provider of the cryptographic subsystem of the guest operating system and initiated by the appeal application software to the cryptographic subsystem, then the hypervisor gives the command to the external monitor of the virtual machine to perform the cryptographic operation of encrypting the data block, by this command the external monitor of the virtual machine requests the access code for the cryptographic keys through the external device and, if the access code matches, loads the cryptographic keys into memory, loads an encrypted data block into memory and displays it on an external device, and after confirmation from an external device ktnosti this data block performs its encryption using cryptographic keys loaded into memory, then external monitor virtual machine returns the encrypted information to the guest operating system, hypervisor and then restarts the guest operating system.

Выполнение криптографических операций при остановленной работе гостевой операционной системы позволяет исключить влияние вредоносных программ, присутствующих в гостевой операционной системе, на процесс осуществления криптографических операций, исключить несанкционированный доступ к криптографическим ключам в процессе их передачи в криптографическую подсистему, а также исключить некорректность шифруемого блока данных перед выполнением криптографических операций.Performing cryptographic operations when the guest operating system is stopped allows eliminating the influence of malicious programs present in the guest operating system on the cryptographic operations, eliminating unauthorized access to cryptographic keys during their transfer to the cryptographic subsystem, and also eliminating the incorrectness of the encrypted data block before execution cryptographic operations.

Сущность предлагаемого изобретения поясняется графическими материалами, где фиг. 1 - структурная схема, представляющая компьютерную систему, обеспечивающую передачу обработки события перехвата внешнему монитору виртуальных машин.The essence of the invention is illustrated by graphic materials, where FIG. 1 is a block diagram representing a computer system for transmitting the processing of an interception event to an external virtual machine monitor.

На структурной схеме фиг. 1 представлены гипервизор 1 с внешним монитором 2 виртуальной машины 3. Гипервизор 1 управляет гостевой операционной системой (ГОС) 4, которая содержит прикладное программное обеспечение (ППО) 5, криптографическую подсистему 6 с криптопровайдером 7 и модулем шифрования 8. В качестве ГОС 4 используется Windows 7. Под криптопровайдером 7 понимается дополнительный криптопровайдер по отношению к стандартным криптопровайдерам, используемым в ГОС 4. В качестве ППО 5 могут быть использованы MS Office Word, Excel, Power Point и др. Внешний монитор 2 содержит ядро 9, управляющее блоком шифрования 10 и криптографической подсистемой 11. Связь ядра 9 с виртуальной машиной 3 осуществляется через модуль доступа 12, а с системной шиной 13 - через драйвер 14 внешнего устройства, драйвер 15 периферийного ввода и драйвер 16 периферийного вывода. Системная шина 13, драйверы 14, 15 и16 обеспечивают взаимосвязь ядра 9 с устройством ввода 17, устройством вывода 18 и с внешним носителем 19, содержащим криптографические ключи.In the block diagram of FIG. 1 shows hypervisor 1 with an external monitor 2 of virtual machine 3. Hypervisor 1 controls the guest operating system (GOS) 4, which contains application software (POS) 5, cryptographic subsystem 6 with cryptographic provider 7 and encryption module 8. Windows is used as GOS 4 7. Cryptographic provider 7 is understood as an additional cryptographic provider with respect to the standard cryptographic providers used in GOS 4. As Office 5, MS Office Word, Excel, Power Point, etc. can be used. External monitor 2 contains a core 9, managing The present encryption block 10 and encryption subsystem 11. Communications core 9 with the virtual machine 3 via the access module 12 and the system bus 13 - 14 through the driver of the external device driver 15 of peripheral input and output peripheral driver 16. The system bus 13, drivers 14, 15 and 16 provide the relationship of the core 9 with the input device 17, the output device 18 and with an external medium 19 containing cryptographic keys.

Для реализации предлагаемого способа может быть использован процессор Intel IA-32 с поддержкой технологии аппаратной виртуализации VT-x. Вначале пользователь загружает гипервизор 1 с внешним монитором 2. После загрузки гипервизора 1 он запускает виртуальную машину 3 с гостевой операционной системой 4. В ГОС 4 пользователь создает конфиденциальный документ. Для обеспечения конфиденциальности этого документа пользователь инициирует обращение прикладной программы 5 к криптографической подсистеме 6 ГОС 4. На основании этого обращения криптографическая подсистема 6 дает команду криптопровайдеру 7 на формирование данных (структур в памяти RAM и значения регистров CPU) для связи с внешним монитором 2 и на выполнение безусловно перехватываемой инструкции. При выполнении этой инструкции гипервизор 1 останавливает работу ГОС 4 и передает управление внешнему монитору 2. Внешний монитор 2 осуществляет управление обработкой перехвата посредством ядра 9. После получения управления от гипервизора 1 ядро 9 дает команду модулю доступа 12 на считывание блока данных из криптопровайдера 7. Затем с помощью драйвера 16 периферийного вывода выводит полученный блок данных на периферийное устройство вывода 18, например LCD-монитор. После получения подтверждения о целостности от пользователя с внешнего устройства ввода 17, например клавиатуры, через драйвер 15 периферийного ввода ядро 9 передает блок данных в криптографическую подсистему 11, которая запрашивает код доступа к криптографическим ключам у пользователя, находящимся на внешнем носителе 19. По команде ядра 9 драйвер 16 периферийного вывода выводит запрос кода доступа на LCD-монитор и считывает код введенный пользователем через клавиатуру 17. При корректности кода доступа ядро 9 дает команду на получение ключей криптографической подсистемой 11 с внешнего носителя 19. Затем ядро дает команду блоку шифрования 10 на шифрование блока данных. После шифрования блок данных передается модулю доступа 12, который передает их криптопровайдеру 7, что является событием перехвата для гипервизора 1. На основании этого события гипервизор 1 возобновляет работу ГОС 4.To implement the proposed method, an Intel IA-32 processor with support for VT-x hardware virtualization technology can be used. First, the user downloads the hypervisor 1 with an external monitor 2. After loading the hypervisor 1, it starts the virtual machine 3 with the guest operating system 4. In GOS 4, the user creates a confidential document. To ensure the confidentiality of this document, the user initiates a call from the application program 5 to the cryptographic subsystem 6 of the CRP 4. Based on this call, the cryptographic subsystem 6 instructs the cryptographic provider 7 to generate data (structures in RAM memory and CPU register values) for communication with external monitor 2 and execution of an unconditionally intercepted instruction. When executing this instruction, hypervisor 1 stops the operation of GOS 4 and transfers control to external monitor 2. External monitor 2 controls the processing of interception by means of core 9. After receiving control from hypervisor 1, core 9 instructs access module 12 to read the data block from cryptographic provider 7. Then using the driver 16 peripheral output displays the resulting data block to the peripheral output device 18, for example, an LCD monitor. After receiving a confirmation of the integrity from the user from an external input device 17, for example, a keyboard, through the peripheral input driver 15, the kernel 9 transmits a data block to the cryptographic subsystem 11, which requests an access code for cryptographic keys from a user located on an external medium 19. At the command of the kernel 9, the peripheral output driver 16 displays an access code request to the LCD monitor and reads the code entered by the user through the keyboard 17. If the access code is correct, the kernel 9 gives the command to receive the keys iptographic subsystem 11 from an external medium 19. Then, the kernel instructs the encryption block 10 to encrypt the data block. After encryption, the data block is transmitted to access module 12, which transmits them to the cryptographic provider 7, which is an interception event for hypervisor 1. Based on this event, hypervisor 1 resumes operation of GOS 4.

Claims (1)

Способ обработки блока данных, включающий остановку гипервизором работы гостевой операционной системы при наступлении события перехвата и обработку события перехвата по заданной программе внешним монитором виртуальной машины, отличающийся тем, что гипервизор останавливает работу гостевой операционной системы при обращении прикладной программы гостевой операционной системы к криптографической подсистеме гостевой операционной системы и дает команду внешнему монитору виртуальной машины на выполнение криптографической операции шифрования блока данных, по этой команде внешний монитор виртуальной машины через внешнее устройство запрашивает код доступа к криптографическим ключам и при соответствии кода доступа загружает криптографические ключи в память, загружает в память шифруемый блок данных и отображает его на внешнем устройстве, а после подтверждения с внешнего устройства корректности этого блока данных осуществляет его шифрование с использованием загруженных в память криптографических ключей, затем внешний монитор виртуальной машины возвращает зашифрованную информацию в гостевую операционную систему, после чего гипервизор возобновляет работу гостевой операционной системы.  A method of processing a data block, including stopping the guest operating system by the hypervisor upon an interception event and processing the interception event according to the specified program by the external monitor of the virtual machine, characterized in that the hypervisor stops the guest operating system when the guest operating system application accesses the guest operating system cryptographic subsystem system and gives the command to the external monitor of the virtual machine to perform cryptographic operation shea According to this command, the external monitor of the virtual machine through an external device requests an access code for cryptographic keys and, if the access code matches, loads cryptographic keys into memory, loads the encrypted data block into memory and displays it on an external device, and after confirmation from an external device the correctness of this data block carries out its encryption using cryptographic keys loaded into memory, then the external monitor of the virtual machine returns the encryption fixed information in the guest operating system, hypervisor and then restarts the guest operating system.
RU2014123493/08A 2014-06-09 2014-06-09 Data block processing method RU2566253C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2014123493/08A RU2566253C1 (en) 2014-06-09 2014-06-09 Data block processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2014123493/08A RU2566253C1 (en) 2014-06-09 2014-06-09 Data block processing method

Publications (1)

Publication Number Publication Date
RU2566253C1 true RU2566253C1 (en) 2015-10-20

Family

ID=54327679

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2014123493/08A RU2566253C1 (en) 2014-06-09 2014-06-09 Data block processing method

Country Status (1)

Country Link
RU (1) RU2566253C1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2406128C2 (en) * 2004-12-30 2010-12-10 Майкрософт Корпорейшн System and method of virtualising graphic subsystems
RU2412468C2 (en) * 2005-03-11 2011-02-20 Майкрософт Корпорейшн Systems and methods for multilevel processing of interceptions in virtual machine environment
US8607013B2 (en) * 2007-10-30 2013-12-10 Vmware, Inc. Providing VMM access to guest virtual memory

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2406128C2 (en) * 2004-12-30 2010-12-10 Майкрософт Корпорейшн System and method of virtualising graphic subsystems
RU2412468C2 (en) * 2005-03-11 2011-02-20 Майкрософт Корпорейшн Systems and methods for multilevel processing of interceptions in virtual machine environment
US8607013B2 (en) * 2007-10-30 2013-12-10 Vmware, Inc. Providing VMM access to guest virtual memory

Similar Documents

Publication Publication Date Title
EP3792805B1 (en) Data transmission with obfuscation for a data processing (dp) accelerator
US10366237B2 (en) Providing a trusted execution environment using a processor
US9690947B2 (en) Processing a guest event in a hypervisor-controlled system
EP3242241B1 (en) Information assurance system for secure program execution
JP6055561B2 (en) A starting point of trust for measuring virtual machines
US20180165224A1 (en) Secure encrypted virtualization
US10810138B2 (en) Enhanced storage encryption with total memory encryption (TME) and multi-key total memory encryption (MKTME)
US10536274B2 (en) Cryptographic protection for trusted operating systems
JP6556864B2 (en) System and method for verifying integrity of electronic device
US10691627B2 (en) Avoiding redundant memory encryption in a cryptographic protection system
CN105389513A (en) Trusted execution method and apparatus for virtual trusted platform module (vTPM)
CN103177212B (en) A kind of computer security input system based on light weight monitor of virtual machine and method
JP2018511956A (en) Technology to enhance data encryption using secure enclaves
US10250595B2 (en) Embedded trusted network security perimeter in computing systems based on ARM processors
US9734325B1 (en) Hypervisor-based binding of data to cloud environment for improved security
Cheng et al. Virtualization based password protection against malware in untrusted operating systems
US11954234B2 (en) System and method for protecting browser data
RU2566253C1 (en) Data block processing method
KR102565414B1 (en) Data transmission with obfuscation using an obfuscation unit for a data processing(dp) accelerator
Zhang et al. Enabling trusted data-intensive execution in cloud computing
US11960737B2 (en) Self-deploying encrypted hard disk, deployment method thereof, self-deploying encrypted hard disk system and boot method thereof
US20240089259A1 (en) Remote authorization control system, resource access apparatus, authentication apparatus, remote authorization control method and program
Biedermann et al. Systemwall: An isolated firewall using hardware-based memory introspection
Zegzhda et al. Ensuring Secure Data Input/Output Operations for SGX ENCLAVE
Frenn Towards a Trustworthy Thin Terminal for Securing Enterprise Networks

Legal Events

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

Effective date: 20180610

NF4A Reinstatement of patent

Effective date: 20200420

MM4A The patent is invalid due to non-payment of fees

Effective date: 20210610

NF4A Reinstatement of patent

Effective date: 20220425