[go: up one dir, main page]

RU2580014C2 - System and method for changing mask of encrypted region during breakdown in computer system - Google Patents

System and method for changing mask of encrypted region during breakdown in computer system Download PDF

Info

Publication number
RU2580014C2
RU2580014C2 RU2014121017/08A RU2014121017A RU2580014C2 RU 2580014 C2 RU2580014 C2 RU 2580014C2 RU 2014121017/08 A RU2014121017/08 A RU 2014121017/08A RU 2014121017 A RU2014121017 A RU 2014121017A RU 2580014 C2 RU2580014 C2 RU 2580014C2
Authority
RU
Russia
Prior art keywords
mask
disk
encrypted
encryption
data blocks
Prior art date
Application number
RU2014121017/08A
Other languages
Russian (ru)
Other versions
RU2014121017A (en
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 RU2014121017/08A priority Critical patent/RU2580014C2/en
Publication of RU2014121017A publication Critical patent/RU2014121017A/en
Application granted granted Critical
Publication of RU2580014C2 publication Critical patent/RU2580014C2/en

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

FIELD: physics.
SUBSTANCE: system comprises indicators determining whether a data unit is encrypted or decrypted. The system includes a security log necessary for storing encrypted data units. Conversion means are used to store data units in the security log, store a mask of an encrypted region from random access memory onto a disk and change the encryption indicator in the mask of the encrypted region for each stored encrypted data unit. The system includes mask changing means designed to read from the disk the stored mask of the encrypted region into random access memory, determine data units for which the encryption indicator indicates that the data units are encrypted, and the mask changing means is also designed to change the value of the encryption indicator to an opposite value.
EFFECT: protecting the mask of the encrypted region during breakdown in the system during full-disk encryption by recovering the mask of the encrypted region using the security log.
10 cl, 7 dwg

Description

Область техникиTechnical field

Изобретение относится к компьютерным системам и более конкретно - к системам и способам защиты компьютерных устройств и данных конечных пользователей от несанкционированного доступа.The invention relates to computer systems and more particularly to systems and methods for protecting computer devices and end-user data from unauthorized access.

Уровень техникиState of the art

В современном обществе требования к сохранности конфиденциальных данных постоянно возрастают. Количество случаев краж и потерь данных постоянно возрастает. Тем не менее, даже в таких случаях шифрование данных позволяет предотвратить прочтение конфиденциальной информации. Одним из наиболее защищенных типов шифрования является полнодисковое шифрование, при котором все содержимое диска шифруется как единое целое. В таком случае доступ к отдельным файлам зашифрованного диска осуществляется с помощью расшифровки данных «на лету» - расшифровываются отдельные секторы диска, содержащие запрашиваемый файл, в то время как остальная часть диска остается зашифрованной. При завершении работы с файлом, его зашифровывают также «на лету» - файл разбивают на части, равные объему сектора диска, которые зашифровывают и сохраняют на диск.In modern society, the requirements for the preservation of confidential data are constantly increasing. The number of cases of theft and data loss is constantly increasing. However, even in such cases, data encryption prevents the reading of confidential information. One of the most secure types of encryption is full disk encryption, in which the entire contents of the disk is encrypted as a whole. In this case, access to individual files of the encrypted disk is performed by decrypting the data on the fly — individual sectors of the disk containing the requested file are decrypted, while the rest of the disk remains encrypted. When you finish working with a file, it is also encrypted “on the fly” - the file is divided into parts equal to the volume of the disk sector, which is encrypted and stored on the disk.

Процесс первичного шифрования всего диска требует значительных вычислительных ресурсов процессора, вызывает повышенный износ диска и может занимать продолжительное время (от нескольких часов до нескольких суток или даже недель). Данные диска разбиваются на блоки заданного размера, после чего каждый блок атомарно зашифровывается и сохраняется на диск. Для поддержания актуальной информации о зашифрованных блоках данных обычно используется битовая карта зашифрованной области. Каждый бит карты равен единице для зашифрованных блоков и нулю для расшифрованных. Для уменьшения износа диска битовая карта может сохраняться на диск периодически. В то же время в случае возникновения системного сбоя карта зашифрованной области должна соответствовать состоянию зашифрованных блоков данных на диске. Таким образом, возникает необходимость защиты маски зашифрованной области при возникновении сбоя системы при полнодисковом шифровании.The primary encryption process of the entire disk requires significant processor computing resources, causes increased disk wear and can take a long time (from several hours to several days or even weeks). Disk data is divided into blocks of a given size, after which each block is atomically encrypted and stored on the disk. To maintain up-to-date information about encrypted data blocks, an encrypted area bitmap is usually used. Each bit of the card is equal to one for encrypted blocks and zero for decrypted ones. To reduce disk wear, a bitmap can be saved to the disk periodically. At the same time, in the event of a system failure, the card of the encrypted area must correspond to the state of the encrypted data blocks on the disk. Thus, there is a need to protect the mask of the encrypted area in the event of a system failure during full disk encryption.

В патентной заявке US 20120173882 A1 описывается возможность возобновления операции шифрования/расшифрования при перезагрузке или случайном сбое системы. Авторы указывают, что пользователь может получить информацию о текущем статусе шифрования: количество зашифрованных блоков данных, битов информации, процент зашифрованной информации. Однако в заявке не уточняется, как используется данная информация при возобновлении шифрования после системного сбоя.In patent application US 20120173882 A1 describes the possibility of resuming the encryption / decryption operation upon reboot or accidental system failure. The authors indicate that the user can obtain information about the current encryption status: the number of encrypted data blocks, information bits, the percentage of encrypted information. However, the application does not specify how this information is used when resuming encryption after a system failure.

Анализ предшествующего уровня техники позволяет сделать вывод о неэффективности и в некоторых случаях о невозможности применения предшествующих технологий, недостатки которых решаются настоящим изобретением, а именно системой и способом изменения маски зашифрованной области при возникновении сбоя в компьютерной системе.An analysis of the prior art allows us to conclude about the inefficiency and, in some cases, the impossibility of using previous technologies, the disadvantages of which are solved by the present invention, namely, a system and method for changing the mask of an encrypted area in the event of a malfunction in a computer system.

Раскрытие изобретенияDisclosure of invention

Настоящее изобретение относится к системам и способам защиты компьютерных устройств и данных конечных пользователей от несанкционированного доступа.The present invention relates to systems and methods for protecting computer devices and end-user data from unauthorized access.

Технический результат настоящего изобретения заключается в обеспечении защиты маски зашифрованной области при возникновении сбоя системы в процессе полнодискового шифрования за счет восстановления маски зашифрованной области с использованием журнала защиты.The technical result of the present invention is to provide protection for the mask of the encrypted area in the event of a system failure during full disk encryption by restoring the mask of the encrypted area using the security log.

Согласно варианту реализации используется система изменения маски зашифрованной области, содержащей информацию о каждом блоке данных, является ли он зашифрованным, при возникновении сбоя в компьютерной системе, содержащая: по крайней мере один журнал защиты, содержащийся на диске и необходимый для хранения блоков данных; средство конверсии, связанное с журналом защиты и предназначенное для: сохранения в ходе процесса полнодискового шифрования зашифрованных блоков данных в журнал защиты; сохранения маски зашифрованной области на диск при выполнении заданных условий; изменения показателя шифрования в маске зашифрованной области для каждого сохраненного блока данных, при этом измененный показатель шифрования указывает, что сохраненный блок данный является зашифрованным; средство изменения маски, связанное со средством конверсии, с журналом защиты и предназначенное для: считывания с диска сохраненной маски зашифрованной области при возникновении сбоя системы в процессе шифрования; определения блоков данных, содержащихся в журнале защиты, для которых в маске зашифрованной области на диске показатель шифрования указывает, что упомянутые блоки данных являются расшифрованными; изменения значения показателя шифрования на противоположное значение для определенных блоков данных.According to an embodiment, a system is used to change the mask of the encrypted area, containing information about each data block, whether it is encrypted when a failure occurs in the computer system, containing: at least one protection log contained on the disk and necessary for storing data blocks; conversion tool associated with the protection log and intended for: storing during the process of full-disk encryption of encrypted data blocks in the protection log; save the mask of the encrypted area to disk when the specified conditions are met; changing the encryption metric in the mask of the encrypted area for each stored data block, while the modified encryption metric indicates that the stored block is encrypted; mask changing means associated with the conversion means, the protection log and intended for: reading from the disk the saved mask of the encrypted area when a system malfunction occurs during encryption; determining the data blocks contained in the protection log for which the encryption indicator in the mask of the encrypted area on the disk indicates that the data blocks are decrypted; changing the value of the encryption indicator to the opposite value for certain data blocks.

Согласно одному из частных вариантов реализации средство конверсии маски предназначено для сохранения на диск маски зашифрованной области при выполнении по крайней мере одного из следующих заданных условий с момента последнего сохранения упомянутой маски зашифрованной области на диск: в журнал защиты сохранили определенное количество зашифрованных блоков данных; по прошествии заданного промежутка времени.According to one particular embodiment, the mask conversion tool is designed to save the encrypted area mask to the disk when at least one of the following specified conditions is fulfilled since the last time the said encrypted area mask was last saved to disk: a certain number of encrypted data blocks were saved to the protection log; after a specified period of time.

Согласно другому частному варианту реализации средство изменения маски дополнительно предназначено для определения блоков данных, у которых последовательный номер изменения блока данных больше последовательного номера изменения маски, при этом: упомянутый последовательный номер изменения блока равен числу, итеративно возрастающему для каждого записанного на диск зашифрованного блока данных; упомянутый последовательный номер изменения маски равен максимальному значению среди последовательных номеров изменения блоков данных, для которых в последней маске зашифрованной области на диске показатель шифрования определяет, что упомянутый блок данных является зашифрованным.According to another particular embodiment, the mask changing means is additionally intended for determining data blocks for which the serial number of the data block is greater than the serial number of the mask, wherein: said serial number of the block is equal to an iteratively increasing number for each encrypted data block written to the disk; said sequential mask change number is equal to the maximum value among sequential change numbers of data blocks for which in the last mask of the encrypted area on the disk the encryption indicator determines that said data block is encrypted.

Согласно еще одному частному варианту реализации средство конверсии дополнительно предназначено для сохранения последовательного номера изменения блока в журнал защиты.According to another particular embodiment, the conversion means is further provided for storing the sequence number of the block change in the protection log.

Согласно одному из частных вариантов реализации средство конверсии дополнительно предназначено для сохранения последовательного номера изменения маски на диск.According to one particular embodiment, the conversion tool is further intended to store a sequential mask change number to disk.

Согласно другому частному варианту реализации маска зашифрованной области является: битовой картой; деревом двоичного поиска; интервальным графом.According to another particular embodiment, the mask of the encrypted area is: a bitmap; binary search tree; interval graph.

Согласно варианту реализации используется способ изменения маски зашифрованной области, содержащей информацию о каждом блоке данных, является ли он зашифрованным, при возникновении сбоя в компьютерной системе, в котором: с помощью средства конверсии сохраняют в ходе процесса полнодискового шифрования зашифрованные блоки данных в журнал защиты; с помощью средства конверсии изменяют показатель шифрования в маске зашифрованной области для каждого сохраненного блока данных, при этом измененный показатель шифрования указывает, что сохраненный блок данный является зашифрованным; с помощью средства конверсии сохраняют маску зашифрованной области на диск при выполнении заданных условий; с помощью средства изменения маски считывают с диска сохраненную маску зашифрованной области при возникновении сбоя системы в процессе шифрования; с помощью средства изменения маски определяют блоки данных, содержащиеся в журнале защиты, для которых в маске зашифрованной области на диске показатель шифрования указывает, что упомянутые блоки данных являются расшифрованными; с помощью средства изменения маски изменяют значение показателя шифрования на противоположное значение для определенных на предыдущем шаге блоков данных.According to an embodiment, a method is used to change the mask of the encrypted area containing information about each data block, whether it is encrypted when a malfunction occurs in a computer system, in which: using the conversion tool, the encrypted data blocks are stored in the protection log during the full-disk encryption process; using the conversion means, the encryption indicator in the mask of the encrypted area is changed for each stored data block, while the changed encryption indicator indicates that the stored block is encrypted; using the conversion tool, they save the mask of the encrypted area on the disk when the specified conditions are met; using the mask changing tool, the saved mask of the encrypted area is read from the disk when a system malfunction occurs during encryption; using the mask change tool, the data blocks contained in the protection log are determined for which the encryption indicator in the mask of the encrypted area on the disk indicates that the data blocks are decrypted; using the change tool, the masks change the value of the encryption metric to the opposite value for the data blocks defined in the previous step.

Согласно одному из частных вариантов реализации с помощью средства конверсии маску зашифрованной области сохраняют на диск при выполнении по крайней мере одного из следующих заданных условий с момента последнего сохранения упомянутой маски зашифрованной области на диск: в журнал защиты сохранили определенное количество зашифрованных блоков данных; по прошествии заданного промежутка времени.According to one particular embodiment, using the conversion tool, the mask of the encrypted area is saved to disk when at least one of the following specified conditions is fulfilled since the last time the said mask of the encrypted area was saved to disk: a certain number of encrypted data blocks were saved to the protection log; after a specified period of time.

Согласно другому частному варианту реализации с помощью средства изменения маски определяют блоки данных, у которых последовательный номер изменения блока данных больше последовательного номера изменения маски, при этом: упомянутый последовательный номер изменения блока равен числу, итеративно возрастающему для каждого записанного на диск зашифрованного блока данных; упомянутый последовательный номер изменения маски равен максимальному значению среди последовательных номеров изменения блоков данных, для которых в маске зашифрованной области на диске показатель шифрования определяет, что упомянутый блок данных является зашифрованным.According to another particular embodiment, data blocks are determined using the mask change tool, in which the serial data block change number is greater than the mask change serial number, wherein: said block change serial number is equal to an iteratively increasing number for each encrypted data block written to the disk; said sequential mask change number is equal to the maximum value among sequential change numbers of data blocks for which the encryption indicator determines that said data block is encrypted in the mask of the encrypted area on the disk.

Согласно еще одному частному варианту реализации с помощью средства конверсии в журнал защиты дополнительно сохраняют последовательный номер изменения блока.According to another particular embodiment, by means of the conversion means, a sequential block change number is additionally stored in the security log.

Согласно одному из частных вариантов реализации с помощью средства конверсии на диск дополнительно сохраняют последовательный номер изменения маски.According to one particular embodiment, by means of a means of conversion to a disk, a sequential mask change number is additionally stored.

Согласно другому частному варианту реализации маска зашифрованной области является: битовой картой; деревом двоичного поиска; интервальным графом.According to another particular embodiment, the mask of the encrypted area is: a bitmap; binary search tree; interval graph.

Краткое описание чертежейBrief Description of the Drawings

Дополнительные цели, признаки и преимущества настоящего изобретения будут очевидными из прочтения последующего описания осуществления изобретения со ссылкой на прилагаемые чертежи, на которых:Additional objectives, features and advantages of the present invention will be apparent from reading the following description of an embodiment of the invention with reference to the accompanying drawings, in which:

На Фиг. 1 представлена общая схема системы шифрования.In FIG. 1 shows a general scheme of an encryption system.

На Фиг. 2 представлен возможный пример маски зашифрованной области.In FIG. 2 shows a possible example of an encrypted area mask.

На Фиг. 3 представлен вариант способа определения маски зашифрованной области.In FIG. 3 shows an embodiment of a method for determining a mask of an encrypted area.

На Фиг. 4 представлена общая схема процесса инициации полнодискового шифрования диска.In FIG. 4 shows a general diagram of the process of initiating full disk encryption of a disk.

На Фиг. 5 представлен вариант способа определения маски зашифрованной области в процессе полнодискового шифрования.In FIG. 5 shows an embodiment of a method for determining the mask of an encrypted area during full-disk encryption.

На Фиг. 6 представлен способ изменения маски зашифрованной области.In FIG. 6 shows a method for changing the mask of an encrypted area.

Фиг. 7 представляет пример компьютерной системы общего назначения.FIG. 7 is an example of a general purpose computer system.

Описание вариантов осуществления изобретенияDescription of Embodiments

Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Сущность, приведенная в описании, является ничем иным, как конкретными деталями, обеспеченными для помощи специалисту в области техники в исчерпывающем понимании изобретения, и настоящее изобретение определяется в объеме приложенной формулы.The objects and features of the present invention, methods for achieving these objects and features will become apparent by reference to exemplary embodiments. However, the present invention is not limited to the exemplary embodiments disclosed below, it can be embodied in various forms. The essence described in the description is nothing more than the specific details provided to assist the specialist in the field of technology in a comprehensive understanding of the invention, and the present invention is defined in the scope of the attached claims.

В общем случае компьютерная система шифрования 100 может иметь вид, представленный на Фиг. 1. Компьютерная система 100 содержит запоминающее устройство 101 (для ясности далее будет использоваться термин «диск»), предназначенное для хранения данных. Диск 101 может быть любым известным из уровня техники носителем информации с произвольным доступом и возможностью многократной перезаписи содержимого носителя, как например: магнитный диск, твердотельный накопитель, магнитооптический диск. Диск 101 характеризуется параметрами диска, среди которых могут быть: размер диска, тип (например, магнитный диск, твердотельный накопитель, магнитооптический диск), количество дорожек и секторов диска, количество поврежденных секторов диска и пр. Диск 101 может содержать несколько логических разделов, на одном из которых может быть установлена операционная система (ОС), такая как: Microsoft Windows, Unix, Mac OS и пр.In general, the computer encryption system 100 may have the form shown in FIG. 1. The computer system 100 includes a storage device 101 (for clarity, the term “disk” will be used hereinafter) for storing data. The disk 101 may be any random access medium with the ability to repeatedly overwrite the contents of the medium, such as a magnetic disk, solid state drive, magneto-optical disk. Disk 101 is characterized by disk parameters, which may include: disk size, type (for example, magnetic disk, solid state drive, magneto-optical disk), the number of tracks and sectors of the disk, the number of damaged sectors of the disk, etc. Disk 101 can contain several logical partitions, one of which can be installed operating system (OS), such as: Microsoft Windows, Unix, Mac OS, etc.

Во время выполнения полнодискового шифрования для увеличения скорости шифрования и реализации отказоустойчивости системы шифрования диск разбивается на блоки данных равного размера. В то же время при выполнении процесса расшифрования полностью зашифрованного диска, он уже будет разделен на блоки данных. Стоит отметить, что система и методы, используемые как при шифровании, так и расшифровании, в большой степени совпадают. Поэтому далее, для краткости, при описании вариантов реализации будут описываться методы, применимые для полнодискового шифрования. При этом подразумевается, что для расшифрования используются аналогичные модули системы и шаги метода. Если же конкретные шаги способа или модули системы будут отличаться от метода расшифрования диска, об этом будет упомянуто при описании вариантов реализации.During full-disk encryption, to increase the encryption speed and implement the fault tolerance of the encryption system, the disk is divided into data blocks of equal size. At the same time, when decrypting a fully encrypted disk, it will already be divided into data blocks. It is worth noting that the system and methods used in both encryption and decryption are largely the same. Therefore, hereinafter, for brevity, when describing the implementation options, methods applicable for full disk encryption will be described. At the same time, it is implied that for decryption similar system modules and method steps are used. If the specific steps of the method or modules of the system will differ from the method of decryption of the disk, this will be mentioned in the description of the implementation options.

За определение размера блока данных отвечает модуль определения маски 102, кроме этого предназначенный для определения параметров диска. Например, в ОС Windows размер диска может быть определен с помощью кода управления IOCTL_DISK_GET_LENGTH_INFO функции DeviceloControl из Windows API (application programming interface). С целью обеспечения сохранности данных и возможности возобновления процесса шифрования после сбоя системы в начале процесса шифрования создается маска зашифрованной области, содержащая информацию о каждом блоке данных, является ли он зашифрованным. Примером сбоя системы может быть, например, отключение электропитания, возникновение ошибок в системе (например сбой при инициализации системы ввода-вывода) и пр. Для создания маски зашифрованной области также используется модуль определения маски 102. Ниже, в описании к Фиг. 2 приведен частный пример маски зашифрованной области.The mask definition module 102 is responsible for determining the size of the data block, which is also used to determine disk parameters. For example, on Windows, the disk size can be determined using the IOCTL_DISK_GET_LENGTH_INFO control code of the DeviceloControl function from the Windows API (application programming interface). In order to ensure data safety and the possibility of resuming the encryption process after a system failure, an encrypted area mask is created at the beginning of the encryption process, containing information about each data block, whether it is encrypted. An example of a system failure can be, for example, a power outage, errors in the system (for example, a failure when initializing the I / O system), etc. For mask creation of the encrypted area, the mask detection module 102 is also used. Below, in the description of FIG. 2 shows a particular example of an encrypted area mask.

В одном примере реализации система шифрования 100 содержит журнал защиты 103, необходимый для хранения данных пользователя в процессе шифрования. Данные пользователя могут включать, например, файлы и содержимое каталогов учетной записи пользователя. Данные пользователя также могут включать все данные, хранящиеся на диске. В предпочтительном примере реализации журнал защиты 103 может иметь структуру кольцевого буфера. Стоит отметить, что журнал защиты 103 может иметь любую другую структуру данных, известную из уровня техники, например связный список.In one example implementation, the encryption system 100 comprises a security log 103 necessary to store user data during the encryption process. User data may include, for example, files and directory contents of a user account. User data may also include all data stored on disk. In a preferred embodiment, the security log 103 may have a ring buffer structure. It is worth noting that the security log 103 may have any other data structure known in the art, for example a linked list.

В частном примере реализации в системе содержится журнал хранения маски 104, необходимый для хранения нескольких версий маски зашифрованной области во время выполнения шифрования диска. Каждая из масок зашифрованной области содержит информацию о зашифрованных блоках данных в разные моменты времени. В примере реализации система 100 содержит средство конверсии 105, связанное с модулем определения маски и предназначенное для загрузки с диска в оперативную память блоков данных, их последующего шифрования и записи зашифрованных блоков данных в журнал защиты 103. В еще одном примере реализации журнал хранения маски 104 может содержаться на диске в нескольких экземплярах с целью обеспечения дополнительной защиты маски зашифрованной области и возможности возобновления процесса шифрования при возникновении системного сбоя. В примере реализации несколько журналов хранения маски могут находиться в разных областях диска. Таким образом, если в одной области диска возникнет большое количество поврежденных секторов, вероятность одновременного возникновения аналогичной ситуации в другой области диска будет крайне мала. В другом примере реализации маски зашифрованной области разных версий могут содержаться непосредственно на диске 101.In a particular example implementation, the system contains a mask storage log 104 necessary to store several versions of the mask of the encrypted area during disk encryption. Each of the masks of the encrypted area contains information about the encrypted data blocks at different points in time. In an example implementation, the system 100 includes a conversion tool 105 associated with the mask definition module and designed to load data blocks from disk into RAM, then encrypt them and write encrypted data blocks to protection log 103. In yet another example implementation, mask storage log 104 may contained on the disk in several copies in order to provide additional protection for the mask of the encrypted area and the possibility of resuming the encryption process in the event of a system failure. In an example implementation, several mask storage logs may reside in different areas of the disk. Thus, if a large number of bad sectors occur in one area of the disk, the likelihood of a similar situation simultaneously occurring in another area of the disk will be extremely small. In another example implementation, masks of the encrypted area of different versions may be contained directly on disk 101.

В примере реализации система 100 содержит модуль шифрования 106, связанный со средством конверсии 105 и предназначенный для зашифровывания и расшифровывания данных пользователя, записываемых или читаемых из зашифрованной области диска, и создания на диске файла журнала защиты 103.In an example implementation, the system 100 comprises an encryption module 106 associated with the conversion means 105 and designed to encrypt and decrypt user data written to or read from the encrypted area of the disk and create a security log file 103 on the disk.

В частном примере реализации средство конверсии 105 дополнительно предназначено для записи зашифрованных блоков данных на диск 101 и в журнал защиты 103. В другом примере реализации средство конверсии 105 дополнительно предназначено для создания на диске файла маски зашифрованной области и помещения в него маски зашифрованной области, определенной модулем определения маски 102. В еще одном примере реализации средство конверсии 105 дополнительно предназначено для обновления маски зашифрованной области при записи на диск зашифрованных блоков данных. В частном примере реализации средство конверсии 105 дополнительно предназначено для сохранения маски зашифрованной области в журнал хранения маски 104.In a particular implementation example, the conversion tool 105 is additionally designed to write encrypted data blocks to a disk 101 and to the protection log 103. In another example implementation, the conversion tool 105 is further designed to create an encrypted area mask file on a disk and place an encrypted area mask in it defined by the module definitions of the mask 102. In another example implementation, the conversion tool 105 is additionally designed to update the mask of the encrypted area when writing encrypted blocks to disk OF DATA. In a particular embodiment, the conversion tool 105 is further intended to store the mask of the encrypted area in the mask storage log 104.

В другом примере реализации средство конверсии 105 дополнительно предназначено для сохранения маски зашифрованной области на диск при выполнении определенных условий. Например, маска может сохраняться из оперативной памяти на диск периодически, а также при частичном или полном обновлении журнала защиты 103.In another example implementation, the conversion tool 105 is further designed to save the mask of the encrypted area to disk when certain conditions are met. For example, a mask may be saved from random access memory to disk periodically, as well as during partial or full updating of protection log 103.

В одном примере реализации система 100 содержит средство изменения маски 107, предназначенное для считывания последней сохраненной маски зашифрованной области из журнала хранения маски 104. Средство изменения маски 107 также предназначено для изменения в маске зашифрованной области значения показателя, определяющего, что блоки данных являются зашифрованными, на противоположное значение. Далее, для краткости, показатели, определяющие, является ли блок данных зашифрованным, будут упоминаться как показатели шифрования. Кроме этого, средство изменения маски 107 служит для определения блоков данных, содержащихся в журнале защиты 103, для которых показатель шифрования в маске зашифрованной области отличается от состояния блоков данных на диске. В частном варианте реализации на диске может содержаться файл метаданных 108, в свою очередь содержащий указатели на журнал защиты 103 и на журнал хранения маски 104, а также показатель, определяющий, является диск зашифрованным или находится в процессе шифрования.In one embodiment, the system 100 comprises a mask changing means 107 for reading the last stored mask of the encrypted area from the mask storage log 104. Mask changing means 107 is also designed to change the value of the indicator in the mask of the encrypted area indicating that the data blocks are encrypted opposite meaning. Further, for brevity, indicators determining whether a data block is encrypted will be referred to as encryption indicators. In addition, the mask changing means 107 serves to determine the data blocks contained in the security log 103 for which the encryption rate in the mask of the encrypted area is different from the state of the data blocks on the disk. In a particular embodiment, the disk may contain a metadata file 108, which in turn contains pointers to the protection log 103 and to the mask storage log 104, as well as an indicator determining whether the disk is encrypted or is in the process of encryption.

В частном примере реализации для определения порядка, в котором происходит сохранение зашифрованных блоков данных на диск, используется последовательный номер изменения блока, равный числу, итеративно возрастающему для каждого записанного на диск зашифрованного блока данных. В примере реализации в журнал защиты 103 вместе с каждым блоком данных дополнительно сохраняется последовательный номер изменения блока с помощью средства конверсии 105. В частном примере реализации с помощью средства конверсии 105 в журнал защиты 103 может сохраняться дополнительная информация, например: указатель на начало зашифрованного блока данных на диске, контрольная сумма от этого блока данных вместе с дополнительной информацией, указанной выше. В примере реализации при сохранении на диск нового зашифрованного блока данных обновляется маска зашифрованной области, таким образом, создается новая маска зашифрованной области. Для отображения соответствия между маской зашифрованной области и последним зашифрованным и записанным на диск блоком данных может быть использован последовательный номер изменения маски. В частном варианте реализации значение последовательного номера изменения маски равно максимальному значению последовательного номера изменения среди блоков данных, для которых в маске зашифрованной области содержится измененный показатель шифрования.In a particular implementation example, to determine the order in which the encrypted data blocks are saved to disk, the sequential block change number is used, which is equal to the number iteratively increasing for each encrypted data block written to the disk. In the example implementation, the sequential change number of the block is additionally stored with each data block in the security log 103 using the conversion tool 105. In a particular implementation example, additional information can be stored using the conversion tool 105 in the security log 103, for example: a pointer to the beginning of the encrypted data block on disk, the checksum from this data block along with the additional information specified above. In the example implementation, when a new encrypted data block is saved to disk, the mask of the encrypted area is updated, thus creating a new mask of the encrypted area. To display the correspondence between the mask of the encrypted area and the last encrypted and written to the disk data block, a sequential mask change number can be used. In a particular embodiment, the value of the sequence number of the mask change is equal to the maximum value of the sequence number of the change among the data blocks for which the encrypted area mask contains the changed encryption index.

В частном примере реализации средство конверсии 105 дополнительно предназначено для сохранения последовательного номера изменения маски в журнал хранения маски 104. В примере реализации средство изменения маски 107 дополнительно предназначено для считывания последовательного номера изменения блока в журнале защиты 103, для считывания последовательного номера изменения маски в журнале хранения маски 104, а также для изменения значения показателя шифрования на противоположное значение.In a particular embodiment, the conversion tool 105 is further provided for storing the mask change sequence number in the mask storage log 104. In the example embodiment, the mask change tool 107 is further provided for reading the block change sequence number in the protection log 103, for reading the mask change sequence number in the storage log mask 104, as well as to change the value of the encryption indicator to the opposite value.

В примере реализации в журнал хранения маски 104 вместе с каждой маской зашифрованной области дополнительно сохраняется последовательный номер изменения маски. В частном примере реализации в журнал хранения маски 104 может сохраняться дополнительная информация, например: указатель на начало последнего сохраненного блока данных на диске, контрольная сумма от маски зашифрованной области вместе с дополнительной информацией, указанной выше.In an example implementation, a mask change number is additionally stored along with each mask of the encrypted area in the mask storage log 104. In a particular implementation example, additional information may be stored in the mask storage log 104, for example: a pointer to the beginning of the last saved data block on the disk, a checksum from the mask of the encrypted area along with the additional information indicated above.

В частном примере реализации на диске 101 содержится пользовательский образ MBR (master boot record - главная загрузочная запись для BIOS систем), отличающийся от основного MBR тем, что вместе с кодом, активирующим среду предзагрузочной аутентификации (preboot authentication), или в отсутствие такового может дополнительно содержать указатели на файл метаданных 108, агент предзагрузки, содержащийся на диске (на Фиг.1 не отображено), журнал защиты и указатель на журнал хранения маски 104. Пользовательский образ MBR может также содержать показатель, определяющий, является ли диск зашифрованным, или же диск находится в процессе шифрования.In a particular example of implementation, disk 101 contains a custom MBR image (master boot record - the main boot record for BIOS systems), which differs from the main MBR in that, together with the code that activates the preboot authentication environment, or in the absence of one, it can additionally contain pointers to the metadata file 108, the preload agent contained on the disk (not shown in FIG. 1), a protection log, and a pointer to a mask storage log 104. A custom MBR image may also contain a metric that determines and the encrypted disk, or the disk is in the process of encryption.

На Фиг. 2 представлен возможный пример маски зашифрованной области 201. В данном примере маска зашифрованной области 201 представлена в виде битовой карты. Каждому блоку данных диска 100 соответствует бит в маске зашифрованной области 201. При этом значение бита в маске зашифрованной области 201 определяет, является ли соответствующий блок данных зашифрованным (например бит может принимать значение 1, когда блок данных зашифрован, и 0 - когда блок данных находится в расшифрованном состоянии). В данном примере, блоки данных 1, 3, 6, 7 зашифрованы, в то время как блоки 2, 4, 5 расшифрованы. Для такого диска маска зашифрованной области будет принимать значение 1010011.In FIG. 2 shows a possible example of a mask of an encrypted area 201. In this example, a mask of an encrypted area 201 is represented as a bitmap. Each data block of the disk 100 corresponds to a bit in the mask of the encrypted area 201. In this case, the bit value in the mask of the encrypted area 201 determines whether the corresponding data block is encrypted (for example, the bit can take the value 1 when the data block is encrypted, and 0 when the data block is in decrypted state). In this example, data blocks 1, 3, 6, 7 are encrypted, while blocks 2, 4, 5 are decrypted. For such a disk, the mask of the encrypted area will take the value 1010011.

Для ясности представленная на Фиг. 2 структура маски зашифрованной области будет использоваться при описании вариантов реализации изобретения. Стоит отметить, что на Фиг. 2 представлен лишь предпочтительный пример маски зашифрованной области 201, и в общем случае маска зашифрованной области может иметь различное представление. В частном примере реализации маска зашифрованной области может быть представлена в виде дерева двоичного поиска, интервального графа, в виде многоуровневой битовой карты и пр.For clarity, shown in FIG. 2, the mask structure of the encrypted area will be used to describe embodiments of the invention. It should be noted that in FIG. 2 shows only a preferred example of a mask of an encrypted area 201, and in general, a mask of an encrypted area may have a different representation. In a particular implementation example, the mask of the encrypted area can be represented as a binary search tree, an interval graph, as a multi-level bitmap, etc.

На Фиг. 3 представлен вариант способа определения маски зашифрованной области. На первом шаге 301 с помощью модуля определения маски 102 определяют параметры диска, которые могут включать: размер диска, тип, количество поврежденных секторов диска и пр. Далее, на этапе 302, с помощью модуля определения маски 102 задают размер блока данных, который зависит от параметров диска. На последнем шаге 303 в зависимости от размера блока данных с помощью модуля определения маски 102 определяют маску зашифрованной области, содержащую показатель шифрования для каждого блока данных и изначально соответствующую незашифрованному состоянию для всего диска (все биты маски зашифрованной области могут равняться нулю). Размер маски зашифрованной области задают исходя из размера блока данных (например, размер диска, деленный на размер блока данных).In FIG. 3 shows an embodiment of a method for determining a mask of an encrypted area. At the first step 301, the disk parameters are determined using the mask definition module 102, which may include: disk size, type, number of damaged disk sectors, etc. Next, at step 302, the data block size is determined using the mask determination module 102, which depends on disk options. At the last step 303, depending on the size of the data block, the mask of the encrypted area containing the encryption index for each data block and initially corresponding to the unencrypted state for the entire disk is determined using the mask definition module 102 (all bits of the mask of the encrypted area can be zero). The size of the mask of the encrypted area is set based on the size of the data block (for example, the size of the disk divided by the size of the data block).

При шифровании блока данных на диске 101 он будет перезаписан единым целым. Таким образом, для обеспечения наилучшей производительности при шифровании диска размер блока данных будет кратен размеру физического сектора или размеру блока стирания (для твердотельного накопителя).When encrypting a data block on disk 101, it will be overwritten as a single unit. Thus, to ensure the best performance when encrypting a disk, the size of the data block will be a multiple of the size of the physical sector or the size of the erase block (for a solid state drive).

В частном примере реализации размер блока данных может быть равен квадратному корню от объема диска в байтах. Например, для диска объемом 1 терабайт размер блока данных будет равен 1 мегабайт. В этом случае размер маски зашифрованной области будет равен отношению объема диска к размеру блока данных и может составлять 128 килобайт для представления в виде линейной двоичной битовой карты.In a particular implementation example, the data block size may be equal to the square root of the disk capacity in bytes. For example, for a 1 terabyte disk, the data block size will be 1 megabyte. In this case, the size of the mask of the encrypted area will be equal to the ratio of the volume of the disk to the size of the data block and can be 128 kilobytes for presentation as a linear binary bitmap.

В другом примере реализации маска зашифрованной области может иметь структуру многоуровневой битовой карты. Например, для битовой карты в виде матрицы размер блока данных может быть сопоставим с кубическим корнем от объема диска в октетах. Таким образом, для диска объемом 1 терабайт размер блока данных может составлять 16 килобит.In another example implementation, the mask of the encrypted area may have the structure of a multi-level bitmap. For example, for a bitmap in the form of a matrix, the data block size may be comparable to the cubic root of the disk capacity in octets. Thus, for a 1 terabyte disk, the data block size can be 16 kilobits.

На Фиг. 4 представлена общая схема процесса инициации полнодискового шифрования. Вначале, на шаге 401, происходит инициация процесса шифрования - модуль шифрования 106 создает пустые файлы журнала защиты 103 и журнала хранения маски 104. В частном примере реализации процесс шифрования может быть также инициирован средством конверсии 105. Стоит отметить, что файлы журналов к этому моменту могут уже быть размещены на диске 101. В этом случае их содержимое будет очищено. Далее, на шаге 402, на компьютерной системе с помощью модуля шифрования 106 устанавливают средство конверсии 105 и набор системных программных компонентов, необходимых для выполнения полнодискового шифрования и для обеспечения выполнения аутентификации на этапе предзагрузки системы (РВА - pre-boot authentication). После этого может быть произведена перезагрузка компьютерной системы для проверки корректной работы драйверов. Например, если после перезагрузки возникли ошибки системы, при последующей загрузке система может быть восстановлена из последней точки восстановления системы, однако в этом случае полнодисковое шифрование может быть отменено.In FIG. 4 shows a general diagram of the process of initiating full disk encryption. Initially, at step 401, the encryption process is initiated - the encryption module 106 creates empty files of the protection log 103 and the mask storage log 104. In a particular implementation example, the encryption process can also be initiated by the conversion tool 105. It is worth noting that the log files at this point may already be placed on disk 101. In this case, their contents will be cleared. Next, at step 402, on the computer system using the encryption module 106, a conversion tool 105 and a set of system software components are needed to perform full-disk encryption and to ensure authentication at the pre-boot authentication stage (PBA). After that, a computer system may be rebooted to verify the correct operation of the drivers. For example, if a system error occurs after a reboot, the system can be restored from the last system restore point during subsequent boot, however, in this case, full disk encryption can be canceled.

На шаге 403 модуль шифрования 106 передает средству конверсии 105 команду о необходимости шифрования. В частном варианте реализации перед началом шифрования на диске может быть создан файл метаданных 108, который, в свою очередь, может содержать указатели на журнал защиты и на журнал хранения маски 104, а также показатель, определяющий, является диск зашифрованным, находится в процессе шифрования или шифрования диска еще не началось - диск расшифрован. В другом варианте реализации на диске может быть сохранено несколько копий файла метаданных 108 для обеспечения дополнительной надежности при возобновлении шифрования в случае возникновения системного сбоя.At step 403, the encryption module 106 transmits to the means of conversion 105 a command about the need for encryption. In a particular embodiment, before the start of encryption, a metadata file 108 can be created on the disk, which, in turn, can contain pointers to the protection log and to the mask storage log 104, as well as an indicator determining whether the disk is encrypted, is in the process of encryption, or disk encryption has not yet begun - the disk is decrypted. In another embodiment, multiple copies of the metadata file 108 may be stored on disk to provide additional security when resuming encryption in the event of a system failure.

Далее, на шаге 404, с помощью средства конверсии создают маску зашифрованной области. В частном примере реализации при выполнении процесса полнодискового шифрования все биты созданной маски зашифрованной области могут равняться нулю. В другом примере реализации при расшифровании зашифрованного диска все биты созданной маски зашифрованной области могут равняться единице. Далее маска зашифрованной области может быть сохранена в журнал хранения маски 104.Next, in step 404, an encrypted area mask is created using the conversion tool. In a particular implementation example, when performing the full-disk encryption process, all bits of the created mask of the encrypted area can be equal to zero. In another example implementation, when decrypting an encrypted disk, all bits of the created mask of the encrypted area can be equal to one. Further, the mask of the encrypted area can be stored in the storage log of the mask 104.

На шаге 405 с помощью модуля шифрования создают пользовательский образ MBR. После создания пользовательский образ MBR сохраняется на место исходного MBR, который обычно расположен в нулевом секторе диска. При загрузке компьютерной системы BIOS передает управление пользовательскому MBR, который обеспечивает загрузку агента предзагрузки и передачу ему выполнения. Копия основного MBR может быть сохранена в файле метаданных 108. Агент предзагрузки обеспечивает аутентификацию пользователя, загрузку основного MBR из файла метаданных 108, который в итоге передает управление операционной системе.In step 405, a custom MBR image is created using the encryption module. After creation, the custom MBR image is saved in place of the original MBR, which is usually located in the zero sector of the disk. When the computer system boots up, the BIOS transfers control to the user MBR, which ensures the loading of the preload agent and the transfer of execution to it. A copy of the main MBR can be stored in the metadata file 108. The preload agent provides user authentication, loading the main MBR from the metadata file 108, which ultimately transfers control to the operating system.

В итоге, на шаге 406, средство конверсии приступает к шифрованию диска. Более подробно процесс шифрования описывается ниже.As a result, at step 406, the conversion tool proceeds to encrypt the disk. The encryption process is described in more detail below.

На Фиг. 5 представлен вариант способа определения маски зашифрованной области в процессе полнодискового шифрования. При начале шифрования маска зашифрованной области может быть целиком заполнена нулями - все блоки данных диска не зашифрованы. Если же происходит расшифровывание диска, все биты маски зашифрованной области будут единичными - все блоки данных на диске зашифрованы.In FIG. 5 shows an embodiment of a method for determining the mask of an encrypted area during full-disk encryption. At the beginning of encryption, the mask of the encrypted area can be completely filled with zeros - all data blocks of the disk are not encrypted. If the disk decrypts, all mask bits of the encrypted area will be single — all data blocks on the disk are encrypted.

Таким образом, в начале шифрования диска средство конверсии с использованием маски зашифрованной области считывает незашифрованные блоки данных с диска (в маске зашифрованной области таким блокам данных соответствует нулевой бит). Далее средство конверсии 105 зашифровывает считанный блок данных, после чего, на шаге 501, блоки данных записываются в журнал защиты 103. В частном варианте реализации в журнал защиты 103 также может быть записан последовательный номер изменения блока и дополнительная информация (например, указатель на начало зашифрованного блока данных на диске, контрольная сумма).Thus, at the beginning of disk encryption, the conversion tool using the mask of the encrypted area reads unencrypted data blocks from the disk (in the mask of the encrypted area, such data blocks correspond to a zero bit). Further, the conversion means 105 encrypts the read data block, after which, at step 501, the data blocks are written to the protection log 103. In a particular embodiment, the sequential block change number and additional information (for example, a pointer to the beginning of the encrypted one) can also be written to the protection log 103. data block on disk, checksum).

В частном варианте реализации блок данных может быть зашифрован с использованием симметричного шифрования, например блочным шифром. Ключи шифрования могут быть созданы, например, средством шифрования 105, зашифрованы с использованием пароля пользователя компьютерной системы в качестве ключа шифрования и сохранены на диск. Далее, на этапе 502, в маску зашифрованной области добавляют показатели шифрования для зашифрованных блоков данных. Например, при использовании битовой карты в ней изменяют соответствующий зашифрованному блоку данных бит на единицу. В частном варианте реализации обновленная маска может быть сохранена на диск на следующем шаге 503. В другом варианте реализации маска зашифрованной области может сохраняться на диск каждый раз после записи блоков данных в журнал защиты.In a particular embodiment, the data block may be encrypted using symmetric encryption, for example, a block cipher. Encryption keys can be created, for example, by encryption tool 105, encrypted using the user password of the computer system as the encryption key, and saved to disk. Next, at step 502, encryption metrics for the encrypted data blocks are added to the mask of the encrypted area. For example, when using a bitmap, the corresponding bit to the encrypted data block is changed by one. In a particular embodiment, the updated mask can be saved to disk in the next step 503. In another embodiment, the mask of the encrypted area can be saved to disk each time data blocks are written to the protection log.

Однако частая перезапись содержимого журнала хранения маски 104 может увеличить износ диска. Поэтому в предпочтительном варианте реализации маска зашифрованной области сохраняется на диск в журнал хранения маски 104 при выполнении определенных условий, которые проверяются на шаге 504. В одном примере реализации маска зашифрованной области сохраняется на диск, если в журнал защиты было сохранено определенное количество зашифрованных блоков данных с момента последнего сохранения маски зашифрованной области в журнал хранения маски 104 (например при перезаписи журнала защиты 103 наполовину).However, frequent overwriting of the contents of the mask storage log 104 may increase disk wear. Therefore, in a preferred embodiment, the mask of the encrypted area is saved to disk in the mask storage log 104 under certain conditions, which are checked in step 504. In one example, the mask of the encrypted area is saved to disk if a certain number of encrypted data blocks have been stored in the protection log the moment the mask of the encrypted area was last saved to the mask storage log 104 (for example, when the protection log 103 is rewritten by half).

В другом примере реализации маска зашифрованной области может сохраняться на диск по истечению определенного промежутка времени (например каждые 10 секунд). В еще одном примере реализации сохранение маски зашифрованной области на диск происходит при запросе сквозной записи данных на диск.In another example implementation, the mask of the encrypted area can be saved to disk after a certain period of time (for example, every 10 seconds). In another example implementation, the mask of the encrypted area is saved to the disk when requesting write-through of data to the disk.

Так или иначе, условие сохранения маски зашифрованной области на диск будет таким, что при возникновении системного сбоя в произвольное время, зашифрованных блоков данных, сохраненных в журнал защиты 103, а также последней сохраненной маски зашифрованной области будет достаточно для восстановления (изменения) маски зашифрованной области для всех зашифрованных блоков данных, которые были сохранены на диск или в журнал защиты 103 к моменту сбоя системы. Более подробно вариант способа изменения маски зашифрованной области будет описан ниже, при описании Фиг. 6.One way or another, the condition for storing the mask of the encrypted area on the disk will be such that when a system failure occurs at any time, the encrypted data blocks stored in the protection log 103, as well as the last saved mask of the encrypted area, will be enough to restore (change) the mask of the encrypted area for all encrypted data blocks that were saved to disk or to the protection log 103 by the time the system crashed. In more detail, a variant of the method for changing the mask of the encrypted area will be described below, when describing FIG. 6.

В итоге, при выполнении условий, определенных на шаге 504, маска зашифрованной области сохраняется на диск на шаге 503, процесс шифрования продолжается. В противном случае процесс шифрования продолжается без сохранения на диск маски зашифрованной области. Т.к. маска зашифрованной области в общем случае сохраняется на диск реже, чем зашифрованные блоки данных, то при возникновении системного сбоя маска зашифрованной области, содержащаяся на диске, может не полностью соответствовать состоянию зашифрованных блоков данных на диске. В этом случае после перезагрузки системы 100 потребуется обновить маску зашифрованной области до новой версии, чтобы новая маска зашифрованной области полностью характеризовала состояние зашифрованных блоков данных на диске 101. Способ изменения маски зашифрованной области после системного сбоя и перезагрузки системы приводится ниже, в описании Фиг. 6.As a result, under the conditions defined in step 504, the mask of the encrypted area is stored on the disk in step 503, the encryption process continues. Otherwise, the encryption process continues without saving the encrypted area mask to the disk. Because If the mask of the encrypted area is generally stored on the disk less often than the encrypted data blocks, then when a system failure occurs, the mask of the encrypted area contained on the disk may not fully correspond to the state of the encrypted data blocks on the disk. In this case, after rebooting the system 100, it will be necessary to update the mask of the encrypted area to a new version so that the new mask of the encrypted area fully characterizes the state of the encrypted data blocks on the disk 101. The method for changing the mask of the encrypted area after a system failure and rebooting the system is described below in the description of FIG. 6.

После успешной записи в журнал защиты 103, блок данных записывается непосредственно на диск 101, на место исходного блока данных.After a successful write to the protection log 103, the data block is written directly to disk 101, in place of the original data block.

Процесс шифрования будет завершен, когда все блоки данных будут зашифрованы и сохранены на диск 101, а все биты маски зашифрованной области будут единичными.The encryption process will be completed when all data blocks are encrypted and stored on disk 101, and all bits of the mask of the encrypted area will be single.

В частном примере реализации после завершения процесса шифрования, маска зашифрованной области будет удалена из памяти, а также с диска. В другом примере реализации после завершения процесса шифрования журнал защиты также может быть очищен, что позволит освободить дополнительное место на диске.In a particular implementation example, after the encryption process is completed, the mask of the encrypted area will be deleted from the memory, as well as from the disk. In another example implementation, after the encryption process is completed, the protection log can also be cleared, which will free up additional disk space.

Стоит отметить, что в предпочтительном варианте реализации этап 503 выполняется без прерывания процесса шифрования блоков данных.It is worth noting that in a preferred embodiment, step 503 is performed without interrupting the process of encrypting data blocks.

На Фиг. 6 представлен способ изменения маски зашифрованной области. В процессе шифрования может возникнуть системный сбой, в результате которого компьютерная система будет перезагружена. Маска зашифрованной области сохраняется на диск реже, чем происходит сохранение на диск зашифрованных блоков данных. Таким образом, в маске зашифрованной области на диске для некоторых зашифрованных блоков данных могут отсутствовать показатели шифрования. Для возобновления процесса шифрования показатели шифрования, содержащиеся в маске зашифрованной области, должны соответствовать зашифрованным блокам данных на диске.In FIG. 6 shows a method for changing the mask of an encrypted area. During the encryption process, a system failure may occur, as a result of which the computer system will restart. The mask of the encrypted area is saved to the disk less often than the encrypted data blocks are saved to the disk. Thus, in the mask of the encrypted area on the disk for some encrypted data blocks, there may be no encryption metrics. To resume the encryption process, the encryption indicators contained in the mask of the encrypted area must correspond to the encrypted data blocks on the disk.

Для этого на шаге 601 с помощью средства изменения маски считывают последнюю сохраненную на диске маску зашифрованной области. Далее, на шаге 602, с помощью средства изменения маски определяют блоки данных, для которых показатель шифрования в маске зашифрованной области не соответствует состоянию блока данных в журнале защиты (например, диск зашифровывается, блок данных в журнале защиты присутствует, однако в маске зашифрованной области ему соответствует нулевой бит). Стоит отметить, что в частном варианте реализации средство конверсии может обращаться не к журналу защиты, а непосредственно к диску, чтобы определить, является ли блок данных на диске зашифрованным и соответствует ли эта информация показателю шифрования в маске зашифрованной области.To do this, at step 601, using the mask change tool, the last mask of the encrypted area stored on the disk is read. Next, at step 602, using the mask change tool, data blocks are determined for which the encryption index in the mask of the encrypted area does not match the state of the data block in the protection log (for example, the disk is encrypted, the data block in the protection log is present, but it is in the mask of the encrypted area corresponds to the zero bit). It is worth noting that in a particular embodiment, the conversion tool may not access the protection log, but directly to the disk to determine whether the data block on the disk is encrypted and whether this information matches the encryption value in the mask of the encrypted area.

В итоге, на этапе 603, с помощью средства изменения маски в маске зашифрованной области изменяют значения показателей шифрования для определенных блоков данных на противоположное. Таким образом, маска зашифрованной области будет соответствовать журналу защиты и, следовательно, состоянию блоков данных на диске. Новая маска зашифрованной области может быть сохранена на диск и загружена в память для продолжения прерванного процесса шифрования.As a result, at step 603, using the mask change tool in the mask of the encrypted area, the values of the encryption indicators for certain data blocks are reversed. Thus, the mask of the encrypted area will correspond to the protection log and, therefore, the state of the data blocks on the disk. A new mask of the encrypted area can be saved to disk and loaded into memory to continue the interrupted encryption process.

В частном варианте реализации для изменения маски зашифрованной области используется последовательный номер изменения блока, который содержится вместе с каждым зашифрованным блоком данных в журнале защиты пользователя 103, а также последовательный номер изменения маски, который содержится вместе с маской зашифрованной области на диске 101. Так, на шаге 601 дополнительно для каждого блока данных в журнале защиты 103 с помощью средства изменения маски 107 считывают последовательный номер изменения блока. На шаге 602 в журнале хранения маски 104 с помощью средства изменения маски 107 дополнительно считывают последовательный номер изменения маски, соответствующий последней сохраненной маски зашифрованной области. В итоге, на шаге 603, с помощью средства изменения маски 107 в маске зашифрованной области для блоков данных, у которых последовательный номер изменения блока данных больше последовательного номера изменения маски, дополнительно изменяют значение показателя шифрования на противоположное значение.In a particular embodiment, to change the mask of the encrypted area, the sequential block change number is used, which is contained with each encrypted data block in the user protection log 103, as well as the sequence number of the mask change, which is contained with the mask of the encrypted area on disk 101. So, on step 601 additionally for each data block in the security log 103 using the means of changing the mask 107 read the sequence number of the block change. At step 602, the mask change log 104 corresponding to the last stored mask of the encrypted area is additionally read in mask storage log 104 using mask change means 107. As a result, at step 603, using the mask change tool 107 in the mask of the encrypted area for data blocks in which the serial number of the data block is greater than the serial number of the mask change, the encryption value is further changed to the opposite value.

Фиг. 7 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер 20, содержащий центральный процессор 21, системную память 22 и системную шину 23, которая содержит разные системные компоненты, в том числе память, связанную с центральным процессором 21. Системная шина 23 реализована, как любая известная из уровня техники шинная структура, содержащая в свою очередь память шины или контроллер памяти шины, периферийную шину и локальную шину, которая способна взаимодействовать с любой другой шинной архитектурой. Системная память содержит постоянное запоминающее устройство (ПЗУ) 24, память с произвольным доступом (ОЗУ) 25. Основная система ввода/вывода (BIOS) 26, содержит основные процедуры, которые обеспечивают передачу информации между элементами персонального компьютера 20, например, в момент загрузки операционной системы с использованием ПЗУ 24.FIG. 7 is an example of a general purpose computer system, a personal computer or server 20 comprising a central processor 21, a system memory 22, and a system bus 23 that contains various system components, including memory associated with the central processor 21. The system bus 23 is implemented as any prior art bus structure comprising, in turn, a bus memory or a bus memory controller, a peripheral bus and a local bus that is capable of interacting with any other bus architecture. The system memory contains read-only memory (ROM) 24, random access memory (RAM) 25. The main input / output system (BIOS) 26, contains basic procedures that ensure the transfer of information between the elements of the personal computer 20, for example, at the time of loading the operating ROM systems 24.

Персональный компьютер 20 в свою очередь содержит жесткий диск 27 для чтения и записи данных, привод магнитных дисков 28 для чтения и записи на сменные магнитные диски 29 и оптический привод 30 для чтения и записи на сменные оптические диски 31, такие как CD-ROM, DVD-ROM и иные оптические носители информации. Жесткий диск 27, привод магнитных дисков 28, оптический привод 30 соединены с системной шиной 23 через интерфейс жесткого диска 32, интерфейс магнитных дисков 33 и интерфейс оптического привода 34 соответственно. Приводы и соответствующие компьютерные носители информации представляют собой энергонезависимые средства хранения компьютерных инструкций, структур данных, программных модулей и прочих данных персонального компьютера 20.The personal computer 20 in turn contains a hard disk 27 for reading and writing data, a magnetic disk drive 28 for reading and writing to removable magnetic disks 29, and an optical drive 30 for reading and writing to removable optical disks 31, such as a CD-ROM, DVD -ROM and other optical information carriers. The hard disk 27, the magnetic disk drive 28, the optical drive 30 are connected to the system bus 23 through the interface of the hard disk 32, the interface of the magnetic disks 33 and the interface of the optical drive 34, respectively. Drives and associated computer storage media are non-volatile means of storing computer instructions, data structures, software modules and other data of a personal computer 20.

Настоящее описание раскрывает реализацию системы, которая использует жесткий диск 27, сменный магнитный диск 29 и сменный оптический диск 31, но следует понимать, что возможно применение иных типов компьютерных носителей информации 56, которые способны хранить данные в доступной для чтения компьютером форме (твердотельные накопители, флеш-карты памяти, цифровые диски, память с произвольным доступом (ОЗУ) и т.п.), которые подключены к системной шине 23 через контроллер 55.The present description discloses an implementation of a system that uses a hard disk 27, a removable magnetic disk 29, and a removable optical disk 31, but it should be understood that other types of computer storage media 56 that can store data in a form readable by a computer (solid state drives, flash memory cards, digital disks, random access memory (RAM), etc.) that are connected to the system bus 23 through the controller 55.

Компьютер 20 имеет файловую систему 36, где хранится записанная операционная система 35, а также дополнительные программные приложения 37, другие программные модули 38 и данные программ 39. Пользователь имеет возможность вводить команды и информацию в персональный компьютер 20 посредством устройств ввода (клавиатуры 40, манипулятора «мышь» 42). Могут использоваться другие устройства ввода (не отображены): микрофон, джойстик, игровая консоль, сканнер и т.п. Подобные устройства ввода по своему обычаю подключают к компьютерной системе 20 через последовательный порт 46, который в свою очередь подсоединен к системной шине, но могут быть подключены иным способом, например при помощи параллельного порта, игрового порта или универсальной последовательной шины (USB). Монитор 47 или иной тип устройства отображения также подсоединен к системной шине 23 через интерфейс, такой как видеоадаптер 48. В дополнение к монитору 47, персональный компьютер может быть оснащен другими периферийными устройствами вывода (не отображены), например колонками, принтером и т.п.Computer 20 has a file system 36 where the recorded operating system 35 is stored, as well as additional software applications 37, other program modules 38, and program data 39. The user is able to enter commands and information into personal computer 20 via input devices (keyboard 40, keypad “ the mouse "42). Other input devices (not displayed) can be used: microphone, joystick, game console, scanner, etc. Such input devices are, as usual, connected to the computer system 20 via a serial port 46, which in turn is connected to the system bus, but can be connected in another way, for example, using a parallel port, a game port, or a universal serial bus (USB). A monitor 47 or other type of display device is also connected to the system bus 23 via an interface such as a video adapter 48. In addition to the monitor 47, the personal computer may be equipped with other peripheral output devices (not displayed), such as speakers, a printer, and the like.

Персональный компьютер 20 способен работать в сетевом окружении, при этом используется сетевое соединение с другим или несколькими удаленными компьютерами 49. Удаленный компьютер (или компьютеры) 49 являются такими же персональными компьютерами или серверами, которые имеют большинство или все упомянутые элементы, отмеченные ранее при описании существа персонального компьютера 20, представленного на Фиг. 7. В вычислительной сети могут присутствовать также и другие устройства, например маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.The personal computer 20 is capable of operating in a networked environment, using a network connection with another or more remote computers 49. The remote computer (or computers) 49 are the same personal computers or servers that have most or all of the elements mentioned earlier in the description of the creature the personal computer 20 of FIG. 7. Other devices, such as routers, network stations, peer-to-peer devices or other network nodes, may also be present on the computer network.

Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 50 и глобальную вычислительную сеть (WAN). Такие сети применяются в корпоративных компьютерных сетях, внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN-сетях персональный компьютер 20 подключен к локальной сети 50 через сетевой адаптер или сетевой интерфейс 51. При использовании сетей персональный компьютер 20 может использовать модем 54 или иные средства обеспечения связи с глобальной вычислительной сетью, такой как Интернет. Модем 54, который является внутренним или внешним устройством, подключен к системной шине 23 посредством последовательного порта 46. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, т.е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.Network connections can form a local area network (LAN) 50 and a wide area network (WAN). Such networks are used in corporate computer networks, internal networks of companies and, as a rule, have access to the Internet. In LAN or WAN networks, the personal computer 20 is connected to the local area network 50 via a network adapter or network interface 51. When using the networks, the personal computer 20 may use a modem 54 or other means of providing communication with a global computer network such as the Internet. The modem 54, which is an internal or external device, is connected to the system bus 23 via the serial port 46. It should be clarified that the network connections are only exemplary and are not required to display the exact network configuration, i.e. in reality, there are other ways to establish a technical connection between one computer and another.

В соответствии с описанием, компоненты, этапы исполнения, структура данных, описанные выше, могут быть выполнены, используя различные типы операционных систем, компьютерных платформ, программ.In accordance with the description, components, execution steps, data structure described above can be performed using various types of operating systems, computer platforms, programs.

В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой.In conclusion, it should be noted that the information provided in the description are examples that do not limit the scope of the present invention defined by the claims.

Claims (10)

1. Система изменения маски зашифрованной области в оперативной памяти, содержащей показатели, определяющие для каждого блока данных диска, является он зашифрованным или расшифрованным, при возникновении сбоя в компьютерной системе, содержащая
а) по крайней мере один журнал защиты, содержащийся на диске и необходимый для хранения зашифрованных блоков данных в процессе полнодискового шифрования;
б) средство конверсии, связанное с журналом защиты и предназначенное для:
- сохранения в ходе процесса полнодискового шифрования зашифрованных блоков данных в журнал защиты и на диск на место исходного блока данных;
- сохранения маски зашифрованной области из оперативной памяти на диск по меньшей мере в одном экземпляре при выполнении по крайней мере одного из следующих заданных условий с момента последнего сохранения упомянутой маски зашифрованной области на диск:
- в журнал защиты сохранили определенное количество зашифрованных блоков данных;
- по прошествии заданного промежутка времени;
- изменения показателя шифрования в маске зашифрованной области в оперативной памяти для каждого сохраненного зашифрованного блока данных на показатель, указывающий, что сохраненный блок данный является зашифрованным;
в) средство изменения маски, связанное со средством конверсии, с журналом защиты и предназначенное для:
- считывания с диска сохраненной маски зашифрованной области в оперативную память при возникновении сбоя системы в процессе полнодискового шифрования;
- определения блоков данных, содержащихся в журнале защиты, для которых в считанной маске зашифрованной области на диске показатель шифрования указывает, что упомянутые блоки данных являются расшифрованными;
- изменения значения показателя шифрования на противоположное значение для определенных блоков данных, содержащихся в журнале защиты, для которых в считанной маске зашифрованной области показатель шифрования указывает, что упомянутые блоки данных являются расшифрованными.
1. The system for changing the mask of the encrypted area in the RAM containing indicators defining for each data block of the disk is encrypted or decrypted, if a failure occurs in the computer system, containing
a) at least one protection log contained on the disk and necessary for storing encrypted data blocks in the process of full disk encryption;
b) a conversion tool associated with the protection log and intended for:
- saving during the process of full-disk encryption of encrypted data blocks in the protection log and on the disk in place of the original data block;
- save the mask of the encrypted area from the RAM to the disk in at least one instance when at least one of the following specified conditions is fulfilled since the last save of the mask of the encrypted area to the disk:
- a certain number of encrypted data blocks were saved in the protection log;
- after a specified period of time;
- changes in the encryption indicator in the mask of the encrypted area in the RAM for each stored encrypted data block by an indicator indicating that the stored data block is encrypted;
c) means of changing the mask associated with the means of conversion, with the protection log and intended for:
- reading from the disk of the saved mask of the encrypted area into RAM in the event of a system malfunction in the process of full disk encryption;
- definitions of data blocks contained in the protection log for which, in the read mask of the encrypted area on the disk, the encryption indicator indicates that the data blocks are decrypted;
- changing the value of the encryption indicator to the opposite value for certain data blocks contained in the protection log, for which in the read mask of the encrypted area the encryption indicator indicates that the data blocks are decrypted.
2. Система по п. 1, в которой средство изменения маски дополнительно предназначено для определения блоков данных, у которых последовательный номер изменения блока данных больше последовательного номера изменения маски, при этом:
- упомянутый последовательный номер изменения блока данных равен числу, итеративно возрастающему для каждого записанного на диск зашифрованного блока данных;
- упомянутый последовательный номер изменения маски равен максимальному значению среди последовательных номеров изменения блоков данных, для которых в последней маске зашифрованной области на диске показатель шифрования определяет, что упомянутый блок данных является зашифрованным.
2. The system of claim 1, wherein the mask changing means is further adapted to determine data blocks for which the sequential change number of the data block is greater than the sequential mask change number, wherein:
- said sequential change number of the data block is equal to a number iteratively increasing for each encrypted data block written to the disk;
- said sequential mask change number is equal to the maximum value among sequential change numbers of data blocks for which in the last mask of the encrypted area on the disk the encryption indicator determines that said data block is encrypted.
3. Система по п. 2, в которой средство конверсии дополнительно предназначено для сохранения последовательного номера изменения блока данных в журнал защиты.3. The system of claim 2, wherein the conversion means is further provided for storing a serial number of a change in a data block in a security log. 4. Система по п. 3, в которой средство конверсии дополнительно предназначено для сохранения последовательного номера изменения маски на диск.4. The system of claim 3, wherein the conversion means is further provided for storing a sequential mask change number to disk. 5. Система по п. 1, в которой маска зашифрованной области является
- битовой картой;
- деревом двоичного поиска;
- интервальным графом.
5. The system of claim 1, wherein the mask of the encrypted area is
- bitmap;
- binary search tree;
- interval graph.
6. Способ изменения маски зашифрованной области в оперативной памяти, содержащей показатели, определяющие для каждого блока данных диска, является он зашифрованным или расшифрованным, при возникновении сбоя в компьютерной системе, в котором
а) с помощью средства конверсии сохраняют в ходе процесса полнодискового шифрования зашифрованные блоки данных по меньшей мере в один журнал защиты и на диск на место исходного блока данных, при этом упомянутый журнал защиты содержится на диске и необходим для хранения зашифрованных блоков данных в процессе полнодискового шифрования;
б) с помощью средства конверсии изменяют показатель шифрования в маске зашифрованной области в оперативной памяти для каждого сохраненного зашифрованного блока данных на показатель указывающий, что сохраненный блок данный является зашифрованным;
в) с помощью средства конверсии сохраняют маску зашифрованной области из оперативной памяти на диск по меньшей мере в одном экземпляре при выполнении по крайней мере одного из следующих заданных условий с момента последнего сохранения упомянутой маски зашифрованной области на диск:
- в журнал защиты сохранили определенное количество зашифрованных блоков данных;
- по прошествии заданного промежутка времени;
г) с помощью средства изменения маски считывают в оперативную память с диска сохраненную маску зашифрованной области при возникновении сбоя системы в процессе полнодискового шифрования;
д) с помощью средства изменения маски определяют блоки данных, содержащиеся в журнале защиты, для которых в считанной маске зашифрованной области на диске показатель шифрования указывает, что упомянутые блоки данных являются расшифрованными;
е) с помощью средства изменения маски изменяют значение показателя шифрования на противоположное значение для определенных на предыдущем шаге блоков данных.
6. The way to change the mask of the encrypted area in the RAM, which contains indicators that determine for each block of disk data, is it encrypted or decrypted, if a failure occurs in a computer system in which
a) using the conversion tool, during the process of full-disk encryption, the encrypted data blocks are stored in at least one protection log and on a disk in place of the original data block, while the said protection log is stored on the disk and is necessary for storing the encrypted data blocks during the full-disk encryption ;
b) using the conversion tool, the encryption indicator in the mask of the encrypted area in the RAM for each stored encrypted data block is changed to an indicator indicating that the stored data block is encrypted;
c) using the conversion tool, save the mask of the encrypted area from the RAM to the disk in at least one instance when at least one of the following specified conditions is fulfilled since the last time the said mask of the encrypted area was saved to the disk:
- a certain number of encrypted data blocks were saved in the protection log;
- after a specified period of time;
d) using the mask change tool, the saved mask of the encrypted area is read into the RAM from the disk when a system malfunction occurs during the full-disk encryption process;
e) using the mask change tool, determine the data blocks contained in the protection log, for which the encryption indicator in the read mask of the encrypted area on the disk indicates that the data blocks are decrypted;
f) using the mask change tool, change the value of the encryption indicator to the opposite value for the data blocks defined in the previous step.
7. Способ по п. 6, в котором на шаге д) определяют блоки данных, у которых последовательный номер изменения блока данных больше последовательного номера изменения маски, при этом:
- упомянутый последовательный номер изменения блока данных равен числу, итеративно возрастающему для каждого записанного на диск зашифрованного блока данных;
- упомянутый последовательный номер изменения маски равен максимальному значению среди последовательных номеров изменения блоков данных, для которых в маске зашифрованной области на диске показатель шифрования определяет, что упомянутый блок данных является зашифрованным.
7. The method according to claim 6, in which, in step d), data blocks are determined for which the serial number of the data block is greater than the serial number of the mask change, wherein
- said sequential change number of the data block is equal to a number iteratively increasing for each encrypted data block written to the disk;
- said sequential mask change number is equal to the maximum value among sequential change numbers of data blocks for which the encryption indicator determines that said data block is encrypted in the mask of the encrypted area on the disk.
8. Способ по п. 7, в котором на шаге а) с помощью средства конверсии в журнал защиты дополнительно сохраняют последовательный номер изменения блока данных.8. The method according to p. 7, in which at step a) using the means of conversion to the protection log additionally save the sequential change number of the data block. 9. Способ по п. 7, в котором на шаге в) с помощью средства конверсии на диск дополнительно сохраняют последовательный номер изменения маски.9. The method according to claim 7, in which, in step c), the conversion number of the mask is additionally stored using the means of conversion to the disk. 10. Способ по п. 6, в котором маска зашифрованной области является
- битовой картой;
- деревом двоичного поиска; интервальным графом.
10. The method of claim 6, wherein the mask of the encrypted area is
- bitmap;
- binary search tree; interval graph.
RU2014121017/08A 2014-05-26 2014-05-26 System and method for changing mask of encrypted region during breakdown in computer system RU2580014C2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2014121017/08A RU2580014C2 (en) 2014-05-26 2014-05-26 System and method for changing mask of encrypted region during breakdown in computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2014121017/08A RU2580014C2 (en) 2014-05-26 2014-05-26 System and method for changing mask of encrypted region during breakdown in computer system

Publications (2)

Publication Number Publication Date
RU2014121017A RU2014121017A (en) 2015-12-10
RU2580014C2 true RU2580014C2 (en) 2016-04-10

Family

ID=54842990

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2014121017/08A RU2580014C2 (en) 2014-05-26 2014-05-26 System and method for changing mask of encrypted region during breakdown in computer system

Country Status (1)

Country Link
RU (1) RU2580014C2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2735721C1 (en) * 2017-03-09 2020-11-06 Сименс Мобилити Гмбх Method and apparatus for transmitting data between first and second rail vehicle network
RU2740110C1 (en) * 2017-04-05 2021-01-11 Сименс Мобилити Гмбх Method of configuring at least one device in a network and a computer-readable medium

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2273102C2 (en) * 1999-09-30 2006-03-27 Квэлкомм Инкорпорейтед Method and device for encoding transmissions in communication system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2273102C2 (en) * 1999-09-30 2006-03-27 Квэлкомм Инкорпорейтед Method and device for encoding transmissions in communication system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2735721C1 (en) * 2017-03-09 2020-11-06 Сименс Мобилити Гмбх Method and apparatus for transmitting data between first and second rail vehicle network
RU2740110C1 (en) * 2017-04-05 2021-01-11 Сименс Мобилити Гмбх Method of configuring at least one device in a network and a computer-readable medium

Also Published As

Publication number Publication date
RU2014121017A (en) 2015-12-10

Similar Documents

Publication Publication Date Title
CN102171704B (en) External encryption and recovery management with hardware encrypted storage devices
KR101699998B1 (en) Secure storage of temporary secrets
ES2380160T3 (en) Self-managed processing device
US9742564B2 (en) Method and system for encrypting data
US20100058066A1 (en) Method and system for protecting data
US8762431B2 (en) System and method for secure erase in copy-on-write file systems
US9690944B2 (en) System and method updating disk encryption software and performing pre-boot compatibility verification
EP2998903B1 (en) System and method for robust full-drive encryption
US9235532B2 (en) Secure storage of full disk encryption keys
US7818567B2 (en) Method for protecting security accounts manager (SAM) files within windows operating systems
RU2580014C2 (en) System and method for changing mask of encrypted region during breakdown in computer system
US10261920B2 (en) Static image RAM drive
TWI497345B (en) Methods of progress recording and recovering for encoding operation on storage device
KR20230080052A (en) Method and system for sanitizing data
Onarlioglu et al. Eraser: Your data won't be back
RU2580018C2 (en) Method of determining mask of encrypted region of disc
RU2623887C2 (en) Full-disk encryption module update installation method
US12105596B2 (en) Securely backing up and restoring a computer system using a trusted OS
EP4422121A1 (en) Method and apparatus for secure management of data
US20200349267A1 (en) Shredding system and method
CN120687125A (en) Update method, device, server, client and computer program product
CN119336548A (en) Cloud hard disk backup method, device, computer equipment and storage medium