[go: up one dir, main page]

RU2580018C2 - Method of determining mask of encrypted region of disc - Google Patents

Method of determining mask of encrypted region of disc Download PDF

Info

Publication number
RU2580018C2
RU2580018C2 RU2014121041/08A RU2014121041A RU2580018C2 RU 2580018 C2 RU2580018 C2 RU 2580018C2 RU 2014121041/08 A RU2014121041/08 A RU 2014121041/08A RU 2014121041 A RU2014121041 A RU 2014121041A RU 2580018 C2 RU2580018 C2 RU 2580018C2
Authority
RU
Russia
Prior art keywords
mask
disk
encrypted
encrypted area
encryption
Prior art date
Application number
RU2014121041/08A
Other languages
Russian (ru)
Other versions
RU2014121041A (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 RU2014121041/08A priority Critical patent/RU2580018C2/en
Publication of RU2014121041A publication Critical patent/RU2014121041A/en
Application granted granted Critical
Publication of RU2580018C2 publication Critical patent/RU2580018C2/en

Links

Images

Landscapes

  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Storage Device Security (AREA)

Abstract

FIELD: information technology.
SUBSTANCE: invention relates to methods of protecting computing devices and end user data from unauthorised access. Disclosed is a method of determining a mask of an encrypted region of a disk, in which by means of a coding module encryption process is initiated by creating at least an empty mask storage log file. Disk parameters are then determined using a mask determination module. Disk parameters include at least size of disk. Data block size is then set using mask determination module. Depending on size of data block with module definition mask determining said mask of encrypted area, wherein mask of encrypted area comprises indicators that determine for each data block whether it is encrypted or decrypted. Using a conversion module, mask of encrypted area is the stored in a mask storage log. By means of conversion and using mask of encrypted area, full-disk encryption is performed.
EFFECT: technical result is faster full-disk encryption due to that mask of encrypted area does not depend on size of data block of disk.
5 cl, 7 dwg

Description

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

Изобретение относится к компьютерным системам и более конкретно - к способам защиты компьютерных устройств и данных конечных пользователей от несанкционированного доступа.The invention relates to computer systems and more specifically to 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. Nevertheless, even in such cases, data encryption prevents access to 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 data “on the fly” - in the memory, individual disk sectors containing the requested file are decrypted, while the entire 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.

Процесс первичного шифрования всего диска требует значительных вычислительных ресурсов процессора, вызывает повышенный износ диска и может занимать продолжительное время (от нескольких часов до нескольких суток или даже недель). Данные диска разбиваются на блоки заданного размера, после чего каждый блок отдельно зашифровывается и сохраняется на диск. Размер блока влияет на производительность шифрования без ущерба устойчивости диска к системный сбоям. Для работы с блоками данных используется маска зашифрованной области - специальная структура, содержащая информацию о каждом блоке данных, является ли он зашифрованным. При разбиении дисков различных размеров на блоки данных фиксированного размера, не зависящего от размера диска, размер маски зашифрованной области возрастает пропорционально возрастанию размера жесткого диска. Данное обстоятельство приводит к дополнительному увеличению времени выполнения полнодискового шифрования. Возникает необходимость в технологии, позволяющей определить такой размер маски зашифрованной области, при котором время выполнения полнодискового шифрования будет минимальным, т.е. будет зависеть в значительной мере только от объема диска, а не от маски зашифрованной области, которая используется в процессе полнодискового шифрования. При этом необходимо сохранить устойчивость диска к системным сбоям. Для решения описанной проблемы при шифровании в патенте US 8407403 В2 предлагают использовать гибридную запоминающую систему, содержащую жесткие диски (HDD) и твердотельные накопители (SSD). Жесткий диск выступает в качестве промежуточного хранилища данных, которые далее записываются на SSD-диск. Однако авторы патента не указывают способ выбора размера блока для хранения данных. В патентной заявке US 20120173882 A1 авторы предлагают способ шифрования логических разделов диска, которые разбивают на множество порций равного размера, и далее такие порции шифруют по отдельности. Размер порций данных может изменяться и зависит от физических характеристик диска, атрибутов операционной системы, действий пользователя, плана электропотребления и пр. Однако в заявке не уточняется конкретная зависимость размера порции данных от указанных характеристик и как это сказывается на сокращении времени выполнения процесса шифрования.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 separately encrypted and stored on the disk. Block size affects encryption performance without compromising disk resilience to system crashes. To work with data blocks, the mask of the encrypted area is used - a special structure containing information about each data block, whether it is encrypted. When dividing disks of various sizes into data blocks of a fixed size, independent of the size of the disk, the size of the mask of the encrypted area increases in proportion to the increase in the size of the hard disk. This circumstance leads to an additional increase in the execution time of full disk encryption. There is a need for a technology that allows one to determine the size of the mask of the encrypted area at which the full-disk encryption execution time will be minimal, i.e. will depend to a large extent only on the volume of the disk, and not on the mask of the encrypted area, which is used in the process of full disk encryption. In this case, it is necessary to maintain the stability of the disk to system failures. To solve the described problem in encryption, US 8407403 B2 proposes to use a hybrid storage system containing hard disks (HDDs) and solid-state drives (SSDs). The hard disk acts as an intermediate storage of data, which is then written to the SSD-drive. However, the authors of the patent do not indicate a method for selecting a block size for storing data. In patent application US 20120173882 A1, the authors propose a method for encrypting logical partitions of a disk, which are divided into multiple portions of equal size, and then such portions are encrypted individually. The portion size of data can vary and depends on the physical characteristics of the disk, attributes of the operating system, user actions, power consumption plan, etc. However, the application does not specify the specific dependence of the size of the portion of data on these characteristics and how this affects the reduction of the encryption process.

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

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

Технический результат настоящего изобретения заключается в сокращении времени выполнения полнодискового шифрования по сравнению с известными аналогами, в которых маска зашифрованной области не зависит от размера блока данных диска.The technical result of the present invention is to reduce the execution time of full disk encryption in comparison with the known analogues, in which the mask of the encrypted area does not depend on the size of the disk data block.

Согласно варианту реализации используется способ определения маски зашифрованной области диска, в котором: с помощью модуля определения маски определяют параметры диска, при этом параметры диска включают по крайней мере размер диска; с помощью модуля определения маски задают размер блока данных, при этом размер блока данных зависит от определенных параметров диска; в зависимости от размера блока данных с помощью модуля определения маски определяют маску зашифрованной области, при этом маска зашифрованной области содержит показатели, определяющие для каждого блока данных диска, является он зашифрованным или расшифрованным.According to an embodiment, a method for determining a mask of an encrypted area of a disk is used, in which: using the mask determining module, disk parameters are determined, while disk parameters include at least a disk size; using the mask definition module, the data block size is set, and the data block size depends on certain disk parameters; depending on the size of the data block, the mask of the encrypted area is determined using the mask definition module, while the mask of the encrypted area contains indicators that determine for each data block of the disk whether it is encrypted or decrypted.

Согласно одному из частных вариантов реализации параметры диска дополнительно включают: тип, определяющий, является диск жестким диском или твердотельным накопителем; количество поврежденных секторов.According to one particular embodiment, the disk parameters further include: a type determining whether the disk is a hard disk or a solid state drive; number of bad sectors.

Согласно другому частному варианту реализации при условии, что типом диска является твердотельный накопитель, размер блока данных кратен размеру блока стирания упомянутого диска.Согласно еще одному частному варианту реализации маска зашифрованной области является: битовой картой; деревом двоичного поиска; интервальным графом.According to another particular embodiment, provided that the type of disk is a solid state drive, the data block size is a multiple of the size of the erase block of the disk. According to yet another particular embodiment, the mask of the encrypted area is: a bitmap; binary search tree; interval graph.

Согласно одному из частных вариантов реализации размер блока данных равен квадратному корню от объема диска.According to one particular embodiment, the data block size is equal to the square root of the disk capacity.

Краткое описание чертежей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 information medium known in the art and capable of repeatedly overwriting the contents of the medium, such as, for example, a magnetic disk, a solid state drive, or a 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 system modules will differ for the method of decryption of the disk, this will be mentioned in the description of options for implementation.

За определение размера блока данных отвечает модуль определения маски 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 during initialization of the I / O system), etc. For mask creation of the encrypted area, the mask detection module 102 is also used. In the description to FIG. 2, a particular example of an encrypted area mask is shown.

В одном примере реализации система шифрования 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 change tool 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 a metadata file 108, a preload agent contained on a 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 whether the drive is encrypted or the drive 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 rewriting the protection log 103 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 successful writing 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 go to 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 index 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. In step 602, in the mask storage log 104, using the mask change tool 107, a sequential mask change number corresponding to the last stored mask of the encrypted area is additionally read. As a result, at step 603, using the mask change tool 107 in the mask of the encrypted area for data blocks whose sequential change number of the data block is greater than the number of the sequential 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 the 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 system using ROM 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), for example, 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 personal computer 20 shown in 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 of the components, execution stages, 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 (5)

1. Способ определения маски зашифрованной области диска, в котором
а) с помощью модуля шифрования инициируют процесс шифрования, путем создания по меньшей мере пустого файла журнала хранения маски, при этом упомянутый журнал хранения маски необходим для хранения нескольких версий маски зашифрованной области во время выполнения шифрования диска, а маска зашифрованной области содержит показатели, определяющие для каждого блока данных диска, является он зашифрованным или расшифрованным;
б) с помощью модуля определения маски определяют параметры диска, при этом параметры диска включают по крайней мере размер диска;
в) с помощью модуля определения маски задают размер упомянутого блока данных, при этом размер блока данных зависит от определенных параметров диска;
г) в зависимости от размера блока данных с помощью модуля определения маски определяют упомянутую маску зашифрованной области;
д) с помощью модуля конверсии маску зашифрованной области сохраняют в журнал хранения маски;
е) с помощью средства конверсии и с использованием маски зашифрованной области выполняют полнодисковое шифрование.
1. The method of determining the mask of the encrypted area of the disk, in which
a) using the encryption module, initiate the encryption process by creating at least an empty mask storage log file, while the mask storage log is required to store several versions of the mask of the encrypted area during disk encryption, and the mask of the encrypted area contains indicators that determine each block of disk data, is it encrypted or decrypted;
b) using the mask definition module, disk parameters are determined, while disk parameters include at least disk size;
c) using the mask definition module, the size of the data block is set, and the size of the data block depends on certain disk parameters;
d) depending on the size of the data block, the mask of the encrypted area is determined using the mask definition module;
e) using the conversion module, the mask of the encrypted area is stored in the mask storage log;
f) using the conversion tool and using the mask of the encrypted area, full-disk encryption is performed.
2. Способ по п. 1, в котором параметры диска дополнительно включают:
- тип, определяющий, является диск жестким диском или твердотельным накопителем;
- количество поврежденных секторов.
2. The method according to claim 1, in which the disk parameters further include:
- the type determining whether the drive is a hard drive or a solid state drive;
- the number of bad sectors.
3. Способ по п. 2, в котором при условии, что типом диска является твердотельный накопитель, размер блока данных кратен размеру блока стирания упомянутого диска.3. The method according to claim 2, wherein provided that the type of disk is a solid state drive, the size of the data block is a multiple of the size of the erase block of the disk. 4. Способ по п. 1, в котором маска зашифрованной области является:
- битовой картой;
- деревом двоичного поиска;
- интервальным графом.
4. The method of claim 1, wherein the mask of the encrypted area is:
- bitmap;
- binary search tree;
- interval graph.
5. Способ по п. 1, в котором размер блока данных равен квадратному корню от объема диска. 5. The method of claim 1, wherein the data block size is equal to the square root of the disk capacity.
RU2014121041/08A 2014-05-26 2014-05-26 Method of determining mask of encrypted region of disc RU2580018C2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2014121041/08A RU2580018C2 (en) 2014-05-26 2014-05-26 Method of determining mask of encrypted region of disc

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2014121041/08A RU2580018C2 (en) 2014-05-26 2014-05-26 Method of determining mask of encrypted region of disc

Publications (2)

Publication Number Publication Date
RU2014121041A RU2014121041A (en) 2015-12-10
RU2580018C2 true RU2580018C2 (en) 2016-04-10

Family

ID=54842993

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2014121041/08A RU2580018C2 (en) 2014-05-26 2014-05-26 Method of determining mask of encrypted region of disc

Country Status (1)

Country Link
RU (1) RU2580018C2 (en)

Citations (2)

* 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
RU2357365C2 (en) * 2004-06-18 2009-05-27 Сажем Секюрите Method and device for carrying out cryptographic computation

Patent Citations (2)

* 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
RU2357365C2 (en) * 2004-06-18 2009-05-27 Сажем Секюрите Method and device for carrying out cryptographic computation

Also Published As

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

Similar Documents

Publication Publication Date Title
EP2335181B1 (en) External encryption and recovery management with hardware encrypted storage devices
US11061566B2 (en) Computing device
ES2380160T3 (en) Self-managed processing device
TWI540453B (en) Sector map-based rapid data encryption policy compliance
CN102549594B (en) Secure storage of temporary secrets
TWI544332B (en) Methods and computer storage media for encrypted chunk-based rapid data encryption policy compliance
US9742564B2 (en) Method and system for encrypting data
JP5640845B2 (en) Storage system, storage control device, and storage control method
US20100058066A1 (en) Method and system for protecting data
EP2998903B1 (en) System and method for robust full-drive encryption
US9690944B2 (en) System and method updating disk encryption software and performing pre-boot compatibility verification
JP5007248B2 (en) Storage control apparatus and method for managing snapshots
US9235532B2 (en) Secure storage of full disk encryption keys
RU2580014C2 (en) System and method for changing mask of encrypted region during breakdown in computer system
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
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