RU2580018C2 - Method of determining mask of encrypted region of disc - Google Patents
Method of determining mask of encrypted region of disc Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 230000008569 process Effects 0.000 claims abstract description 27
- 238000003860 storage Methods 0.000 claims abstract description 27
- 238000006243 chemical reaction Methods 0.000 claims abstract description 22
- 239000007787 solid Substances 0.000 claims description 8
- 238000005516 engineering process Methods 0.000 abstract description 3
- 239000000126 substance Substances 0.000 abstract 1
- 230000008859 change Effects 0.000 description 27
- 230000003287 optical effect Effects 0.000 description 6
- 239000003795 chemical substances by application Substances 0.000 description 3
- 230000036316 preload Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000007630 basic procedure Methods 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012432 intermediate storage Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Images
Landscapes
- Signal Processing For Digital Recording And Reproducing (AREA)
- Storage Device Security (AREA)
Abstract
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
Во время выполнения полнодискового шифрования для увеличения скорости шифрования и реализации отказоустойчивости системы шифрования диск разбивается на блоки данных равного размера. В то же время при выполнении процесса расшифрования полностью зашифрованного диска он уже будет разделен на блоки данных. Стоит отметить, что система и методы, используемые как при шифровании, так и расшифровании, в большой степени совпадают. Поэтому далее, для краткости, при описании вариантов реализации будут описываться методы, применимые для полнодискового шифрования. При этом подразумевается, что для расшифрования используются аналогичные модули системы и шаги метода. Если же конкретные шаги способа или модули системы будут отличаться для метода расшифрования диска, об этом будет упомянуто при описании вариантов реализации.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
В одном примере реализации система шифрования 100 содержит журнал защиты 103, необходимый для хранения данных пользователя в процессе шифрования. Данные пользователя могут включать, например, файлы и содержимое каталогов учетной записи пользователя. Данные пользователя также могут включать все данные, хранящиеся на диске. В предпочтительном примере реализации журнал защиты 103 может иметь структуру кольцевого буфера. Стоит отметить, что журнал защиты 103 может иметь любую другую структуру данных, известную из уровня техники, например связный список.In one example implementation, the
В частном примере реализации в системе содержится журнал хранения маски 104, необходимый для хранения нескольких версий маски зашифрованной области во время выполнения шифрования диска. Каждая из масок зашифрованной области содержит информацию о зашифрованных блоках данных в разные моменты времени. В примере реализации система 100 содержит средство конверсии 105, связанное с модулем определения маски и предназначенное для загрузки с диска в оперативную память блоков данных, их последующего шифрования и записи зашифрованных блоков данных в журнал защиты 103. В еще одном примере реализации журнал хранения маски 104 может содержаться на диске в нескольких экземплярах с целью обеспечения дополнительной защиты маски зашифрованной области и возможности возобновления процесса шифрования при возникновении системного сбоя. В примере реализации несколько журналов хранения маски могут находиться в разных областях диска. Таким образом, если в одной области диска возникнет большое количество поврежденных секторов, вероятность одновременного возникновения аналогичной ситуации в другой области диска будет крайне мала. В другом примере реализации маски зашифрованной области разных версий могут содержаться непосредственно на диске 101.In a particular example implementation, the system contains a
В примере реализации система 100 содержит модуль шифрования 106, связанный со средством конверсии 105 и предназначенный для зашифровывания и расшифровывания данных пользователя, записываемых или читаемых из зашифрованной области диска, и создания на диске файла журнала защиты 103.In an example implementation, the
В частном примере реализации средство конверсии 105 дополнительно предназначено для записи зашифрованных блоков данных на диск 101 и в журнал защиты 103. В другом примере реализации средство конверсии 105 дополнительно предназначено для создания на диске файла маски зашифрованной области и помещения в него маски зашифрованной области, определенной модулем определения маски 102. В еще одном примере реализации средство конверсии 105 дополнительно предназначено для обновления маски зашифрованной области при записи на диск зашифрованных блоков данных. В частном примере реализации средство конверсии 105 дополнительно предназначено для сохранения маски зашифрованной области в журнал хранения маски 104.In a particular implementation example, the
В другом примере реализации средство конверсии 105 дополнительно предназначено для сохранения маски зашифрованной области на диск при выполнении определенных условий. Например, маска может сохраняться из оперативной памяти на диск периодически, а также при частичном или полном обновлении журнала защиты 103.In another example implementation, the
В одном примере реализации система 100 содержит средство изменения маски 107, предназначенное для считывания последней сохраненной маски зашифрованной области из журнала хранения маски 104. Средство изменения маски 107 также предназначено для изменения в маске зашифрованной области значения показателя, определяющего, что блоки данных являются зашифрованными, на противоположное значение. Далее, для краткости, показатели, определяющие, является ли блок данных зашифрованным, будут упоминаться как показатели шифрования. Кроме этого средство изменения маски 107 служит для определения блоков данных, содержащихся в журнале защиты 103, для которых показатель шифрования в маске зашифрованной области отличается от состояния блоков данных на диске. В частном варианте реализации на диске может содержаться файл метаданных 108, в свою очередь содержащий указатели на журнал защиты 103 и на журнал хранения маски 104, а также показатель, определяющий, является диск зашифрованным или находится в процессе шифрования.In one embodiment, the
В частном примере реализации для определения порядка, в котором происходит сохранение зашифрованных блоков данных на диск, используется последовательный номер изменения блока, равный числу, итеративно возрастающему для каждого записанного на диск зашифрованного блока данных. В примере реализации в журнал защиты 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
В частном примере реализации средство конверсии 105 дополнительно предназначено для сохранения последовательного номера изменения маски в журнал хранения маски 104. В примере реализации средство изменения маски 107 дополнительно предназначено для считывания последовательного номера изменения блока в журнале защиты 103, для считывания последовательного номера изменения маски в журнале хранения маски 104, а также для изменения значения показателя шифрования на противоположное значение.In a particular embodiment, the
В примере реализации в журнал хранения маски 104 вместе с каждой маской зашифрованной области дополнительно сохраняется последовательный номер изменения маски. В частном примере реализации в журнал хранения маски 104 может сохраняться дополнительная информация, например: указатель на начало последнего сохраненного блока данных на диске, контрольная сумма от маски зашифрованной области вместе с дополнительной информацией, указанной выше.In an example implementation, a mask change number is additionally stored along with each mask of the encrypted area in the
В частном примере реализации на диске 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
На Фиг. 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
Для ясности представленная на Фиг. 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
При шифровании блока данных на диске 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
На шаге 403 модуль шифрования 106 передает средству конверсии 105 команду о необходимости шифрования. В частном варианте реализации перед началом шифрования на диске может быть создан файл метаданных 108, который, в свою очередь, может содержать указатели на журнал защиты и на журнал хранения маски 104, а также показатель, определяющий, является диск зашифрованным, находится в процессе шифрования или шифрования диска еще не началось - диск расшифрован. В другом варианте реализации на диске может быть сохранено несколько копий файла метаданных 108 для обеспечения дополнительной надежности при возобновлении шифрования в случае возникновения системного сбоя.At
Далее, на шаге 404, с помощью средства конверсии создают маску зашифрованной области. В частном примере реализации при выполнении процесса полнодискового шифрования все биты созданной маски зашифрованной области могут равняться нулю. В другом примере реализации при расшифровании зашифрованного диска все биты созданной маски зашифрованной области могут равняться единице. Далее маска зашифрованной области может быть сохранена в журнал хранения маски 104.Next, in
На шаге 405 с помощью модуля шифрования создают пользовательский образ MBR. После создания пользовательский образ MBR сохраняется на место исходного MBR, который обычно расположен в нулевом секторе диска. При загрузке компьютерной системы BIOS передает управление пользовательскому MBR, который обеспечивает загрузку агента предзагрузки и передачу ему выполнения. Копия основного MBR может быть сохранена в файле метаданных 108. Агент предзагрузки обеспечивает аутентификацию пользователя, загрузку основного MBR из файла метаданных 108, который в итоге передает управление операционной системе.In
В итоге, на шаге 406, средство конверсии приступает к шифрованию диска. Более подробно процесс шифрования описывается ниже.As a result, at
На Фиг. 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
В частном варианте реализации блок данных может быть зашифрован с использованием симметричного шифрования, например блочным шифром. Ключи шифрования могут быть созданы, например, средством шифрования 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
Однако частая перезапись содержимого журнала хранения маски 104 может увеличить износ диска. Поэтому в предпочтительном варианте реализации маска зашифрованной области сохраняется на диск в журнал хранения маски 104 при выполнении определенных условий, которые проверяются на шаге 504. В одном примере реализации маска зашифрованной области сохраняется на диск, если в журнал защиты было сохранено определенное количество зашифрованных блоков данных с момента последнего сохранения маски зашифрованной области в журнал хранения маски 104 (например, при перезаписи журнала защиты 103 наполовину).However, frequent overwriting of the contents of the
В другом примере реализации маска зашифрованной области может сохраняться на диск по истечении определенного промежутка времени (например, каждые 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
В итоге, при выполнении условий, определенных на шаге 504, маска зашифрованной области сохраняется на диск на шаге 503, процесс шифрования продолжается. В противном случае процесс шифрования продолжается без сохранения на диск маски зашифрованной области. Т.к. маска зашифрованной области в общем случае сохраняется на диск реже, чем зашифрованные блоки данных, то при возникновении системного сбоя маска зашифрованной области, содержащаяся на диске, может не полностью соответствовать состоянию зашифрованных блоков данных на диске. В этом случае после перезагрузки системы 100 потребуется обновить маску зашифрованной области до новой версии, чтобы новая маска зашифрованной области полностью характеризовала состояние зашифрованных блоков данных на диске 101. Способ изменения маски зашифрованной области после системного сбоя и перезагрузки системы приводится ниже, в описании Фиг. 6.As a result, under the conditions defined in
После успешной записи в журнал защиты 103 блок данных записывается непосредственно на диск 101, на место исходного блока данных.After successful writing to the
Процесс шифрования будет завершен, когда все блоки данных будут зашифрованы и сохранены на диск 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,
На Фиг. 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
В итоге, на этапе 603, с помощью средства изменения маски в маске зашифрованной области изменяют значения показателей шифрования для определенных блоков данных на противоположное. Таким образом, маска зашифрованной области будет соответствовать журналу защиты и, следовательно, состоянию блоков данных на диске. Новая маска зашифрованной области может быть сохранена на диск и загружена в память для продолжения прерванного процесса шифрования.As a result, at
В частном варианте реализации для изменения маски зашифрованной области используется последовательный номер изменения блока, который содержится вместе с каждым зашифрованным блоком данных в журнале защиты пользователя 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
Фиг. 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
Персональный компьютер 20 в свою очередь содержит жесткий диск 27 для чтения и записи данных, привод магнитных дисков 28 для чтения и записи на сменные магнитные диски 29 и оптический привод 30 для чтения и записи на сменные оптические диски 31, такие как CD-ROM, DVD-ROM и иные оптические носители информации. Жесткий диск 27, привод магнитных дисков 28, оптический привод 30 соединены с системной шиной 23 через интерфейс жесткого диска 32, интерфейс магнитных дисков 33 и интерфейс оптического привода 34 соответственно. Приводы и соответствующие компьютерные носители информации представляют собой энергонезависимые средства хранения компьютерных инструкций, структур данных, программных модулей и прочих данных персонального компьютера 20.The
Настоящее описание раскрывает реализацию системы, которая использует жесткий диск 27, сменный магнитный диск 29 и сменный оптический диск 31, но следует понимать, что возможно применение иных типов компьютерных носителей информации 56, которые способны хранить данные в доступной для чтения компьютером форме (твердотельные накопители, флеш карты памяти, цифровые диски, память с произвольным доступом (ОЗУ) и т.п.), которые подключены к системной шине 23 через контроллер 55.The present description discloses an implementation of a system that uses a
Компьютер 20 имеет файловую систему 36, где хранится записанная операционная система 35, а также дополнительные программные приложения 37, другие программные модули 38 и данные программ 39. Пользователь имеет возможность вводить команды и информацию в персональный компьютер 20 посредством устройств ввода (клавиатуры 40, манипулятора «мышь» 42). Могут использоваться другие устройства ввода (не отображены): микрофон, джойстик, игровая консоль, сканнер и т.п. Подобные устройства ввода по своему обычаю подключают к компьютерной системе 20 через последовательный порт 46, который в свою очередь подсоединен к системной шине, но могут быть подключены иным способом, например, при помощи параллельного порта, игрового порта или универсальной последовательной шины (USB). Монитор 47 или иной тип устройства отображения также подсоединен к системной шине 23 через интерфейс, такой как видеоадаптер 48. В дополнение к монитору 47 персональный компьютер может быть оснащен другими периферийными устройствами вывода (не отображены), например, колонками, принтером и т.п.
Персональный компьютер 20 способен работать в сетевом окружении, при этом используется сетевое соединение с другим или несколькими удаленными компьютерами 49. Удаленный компьютер (или компьютеры) 49 являются такими же персональными компьютерами или серверами, которые имеют большинство или все упомянутые элементы, отмеченные ранее при описании существа персонального компьютера 20, представленного на Фиг.7. В вычислительной сети могут присутствовать также и другие устройства, например, маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.The
Сетевые соединения могут образовывать локальную вычислительную сеть (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
В соответствии с описанием компоненты, этапы исполнения, структура данных, описанные выше, могут быть выполнены, используя различные типы операционных систем, компьютерных платформ, программ.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. 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. 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.
- битовой картой;
- деревом двоичного поиска;
- интервальным графом.4. The method of claim 1, wherein the mask of the encrypted area is:
- bitmap;
- binary search tree;
- interval graph.
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)
| 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 |
-
2014
- 2014-05-26 RU RU2014121041/08A patent/RU2580018C2/en active
Patent Citations (2)
| 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 |