Способ определения маски зашифрованной области диска
Иллюстрации
Показать всеИзобретение относится к способам защиты компьютерных устройств и данных конечных пользователей от несанкционированного доступа. Техническим результатом является сокращение времени выполнения полнодискового шифрования за счет того, что маска зашифрованной области не зависит от размера блока данных диска. Предложен способ определения маски зашифрованной области диска, в котором с помощью модуля шифрования инициируют процесс шифрования, путем создания по меньшей мере пустого файла журнала хранения маски. Затем при помощи модуля определения маски определяют параметры диска. При этом параметры диска включают по крайней мере размер диска. Затем с помощью модуля определения маски задают размер блока данных. В зависимости от размера блока данных с помощью модуля определения маски определяют упомянутую маску зашифрованной области, при этом маска зашифрованной области содержит показатели, определяющие для каждого блока данных диска, является он зашифрованным или расшифрованным. Затем при помощи модуля конверсии маску зашифрованной области сохраняют в журнал хранения маски. И с помощью средства конверсии и с использованием маски зашифрованной области выполняют полнодисковое шифрование. 4 з.п. ф-лы, 7 ил.
Реферат
Область техники
Изобретение относится к компьютерным системам и более конкретно - к способам защиты компьютерных устройств и данных конечных пользователей от несанкционированного доступа.
Уровень техники
В современном обществе требования к сохранности конфиденциальных данных постоянно возрастают. Количество случаев краж и потерь данных постоянно возрастает. Тем не менее даже в таких случаях шифрование данных позволяет предотвратить доступ к конфиденциальной информации. Одним из наиболее защищенных типов шифрования является полнодисковое шифрование, при котором все содержимое диска шифруется как единое целое. В таком случае доступ к отдельным файлам зашифрованного диска осуществляется с помощью расшифровки данных «на лету» - в оперативной памяти расшифровываются отдельные секторы диска, содержащие запрашиваемый файл, в то время как весь диск остается зашифрованным. При завершении работы с файлом его зашифровывают также «на лету» - файл разбивают на части, равные объему сектора диска, которые зашифровывают и сохраняют на диск.
Процесс первичного шифрования всего диска требует значительных вычислительных ресурсов процессора, вызывает повышенный износ диска и может занимать продолжительное время (от нескольких часов до нескольких суток или даже недель). Данные диска разбиваются на блоки заданного размера, после чего каждый блок отдельно зашифровывается и сохраняется на диск. Размер блока влияет на производительность шифрования без ущерба устойчивости диска к системный сбоям. Для работы с блоками данных используется маска зашифрованной области - специальная структура, содержащая информацию о каждом блоке данных, является ли он зашифрованным. При разбиении дисков различных размеров на блоки данных фиксированного размера, не зависящего от размера диска, размер маски зашифрованной области возрастает пропорционально возрастанию размера жесткого диска. Данное обстоятельство приводит к дополнительному увеличению времени выполнения полнодискового шифрования. Возникает необходимость в технологии, позволяющей определить такой размер маски зашифрованной области, при котором время выполнения полнодискового шифрования будет минимальным, т.е. будет зависеть в значительной мере только от объема диска, а не от маски зашифрованной области, которая используется в процессе полнодискового шифрования. При этом необходимо сохранить устойчивость диска к системным сбоям. Для решения описанной проблемы при шифровании в патенте US 8407403 В2 предлагают использовать гибридную запоминающую систему, содержащую жесткие диски (HDD) и твердотельные накопители (SSD). Жесткий диск выступает в качестве промежуточного хранилища данных, которые далее записываются на SSD-диск. Однако авторы патента не указывают способ выбора размера блока для хранения данных. В патентной заявке US 20120173882 A1 авторы предлагают способ шифрования логических разделов диска, которые разбивают на множество порций равного размера, и далее такие порции шифруют по отдельности. Размер порций данных может изменяться и зависит от физических характеристик диска, атрибутов операционной системы, действий пользователя, плана электропотребления и пр. Однако в заявке не уточняется конкретная зависимость размера порции данных от указанных характеристик и как это сказывается на сокращении времени выполнения процесса шифрования.
Раскрытие изобретения
Настоящее изобретение относится к способам защиты компьютерных устройств и данных конечных пользователей от несанкционированного доступа.
Технический результат настоящего изобретения заключается в сокращении времени выполнения полнодискового шифрования по сравнению с известными аналогами, в которых маска зашифрованной области не зависит от размера блока данных диска.
Согласно варианту реализации используется способ определения маски зашифрованной области диска, в котором: с помощью модуля определения маски определяют параметры диска, при этом параметры диска включают по крайней мере размер диска; с помощью модуля определения маски задают размер блока данных, при этом размер блока данных зависит от определенных параметров диска; в зависимости от размера блока данных с помощью модуля определения маски определяют маску зашифрованной области, при этом маска зашифрованной области содержит показатели, определяющие для каждого блока данных диска, является он зашифрованным или расшифрованным.
Согласно одному из частных вариантов реализации параметры диска дополнительно включают: тип, определяющий, является диск жестким диском или твердотельным накопителем; количество поврежденных секторов.
Согласно другому частному варианту реализации при условии, что типом диска является твердотельный накопитель, размер блока данных кратен размеру блока стирания упомянутого диска.Согласно еще одному частному варианту реализации маска зашифрованной области является: битовой картой; деревом двоичного поиска; интервальным графом.
Согласно одному из частных вариантов реализации размер блока данных равен квадратному корню от объема диска.
Краткое описание чертежей
Дополнительные цели, признаки и преимущества настоящего изобретения будут очевидными из прочтения последующего описания осуществления изобретения со ссылкой на прилагаемые чертежи, на которых:
На Фиг. 1 представлена общая схема системы шифрования.
На Фиг. 2 представлен возможный пример маски зашифрованной области.
На Фиг. 3 представлен вариант способа определения маски зашифрованной области.
На Фиг. 4 представлена общая схема процесса инициации полнодискового шифрования диска.
На Фиг. 5 представлен вариант способа определения маски зашифрованной области в процессе полнодискового шифрования.
На Фиг. 6 представлен способ изменения маски зашифрованной области.
Фиг. 7 представляет пример компьютерной системы общего назначения.
Описание вариантов осуществления изобретения
Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Сущность, приведенная в описании, является ничем иным, как конкретными деталями, обеспеченными для помощи специалисту в области техники в исчерпывающем понимании изобретения, и настоящее изобретение определяется в объеме приложенной формулы.
В общем случае компьютерная система шифрования 100 может иметь вид, представленный на Фиг. 1. Компьютерная система 100 содержит запоминающее устройство 101 (для ясности далее будет использоваться термин «диск»), предназначенное для хранения данных. Диск 101 может быть любым известным из уровня техники носителем информации с произвольным доступом и возможностью многократной перезаписи содержимого носителя, как, например: магнитный диск, твердотельный накопитель, магнитооптический диск. Диск 101 характеризуется параметрами диска, среди которых могут быть: размер диска, тип (например, магнитный диск, твердотельный накопитель, магнитооптический диск), количество дорожек и секторов диска, количество поврежденных секторов диска и пр. Диск 101 может содержать несколько логических разделов, на одном из которых может быть установлена операционная система (ОС), такая как: Microsoft Windows, Unix, Mac OS и пр.
Во время выполнения полнодискового шифрования для увеличения скорости шифрования и реализации отказоустойчивости системы шифрования диск разбивается на блоки данных равного размера. В то же время при выполнении процесса расшифрования полностью зашифрованного диска он уже будет разделен на блоки данных. Стоит отметить, что система и методы, используемые как при шифровании, так и расшифровании, в большой степени совпадают. Поэтому далее, для краткости, при описании вариантов реализации будут описываться методы, применимые для полнодискового шифрования. При этом подразумевается, что для расшифрования используются аналогичные модули системы и шаги метода. Если же конкретные шаги способа или модули системы будут отличаться для метода расшифрования диска, об этом будет упомянуто при описании вариантов реализации.
За определение размера блока данных отвечает модуль определения маски 102, кроме этого предназначенный для определения параметров диска. Например, в ОС Windows размер диска может быть определен с помощью кода управления IOCTL_DISK_GET_LENGTH_INFO функции DeviceloControl из Windows API (application programming interface). С целью обеспечения сохранности данных и возможности возобновления процесса шифрования после сбоя системы в начале процесса шифрования создается маска зашифрованной области, содержащая информацию о каждом блоке данных, является ли он зашифрованным. Примером сбоя системы может быть, например, отключение электропитания, возникновение ошибок в системе (например, сбой при инициализации системы ввода-вывода) и пр. Для создания маски зашифрованной области также используется модуль определения маски 102. Ниже, в описании к Фиг. 2, приведен частный пример маски зашифрованной области.
В одном примере реализации система шифрования 100 содержит журнал защиты 103, необходимый для хранения данных пользователя в процессе шифрования. Данные пользователя могут включать, например, файлы и содержимое каталогов учетной записи пользователя. Данные пользователя также могут включать все данные, хранящиеся на диске. В предпочтительном примере реализации журнал защиты 103 может иметь структуру кольцевого буфера. Стоит отметить, что журнал защиты 103 может иметь любую другую структуру данных, известную из уровня техники, например связный список.
В частном примере реализации в системе содержится журнал хранения маски 104, необходимый для хранения нескольких версий маски зашифрованной области во время выполнения шифрования диска. Каждая из масок зашифрованной области содержит информацию о зашифрованных блоках данных в разные моменты времени. В примере реализации система 100 содержит средство конверсии 105, связанное с модулем определения маски и предназначенное для загрузки с диска в оперативную память блоков данных, их последующего шифрования и записи зашифрованных блоков данных в журнал защиты 103. В еще одном примере реализации журнал хранения маски 104 может содержаться на диске в нескольких экземплярах с целью обеспечения дополнительной защиты маски зашифрованной области и возможности возобновления процесса шифрования при возникновении системного сбоя. В примере реализации несколько журналов хранения маски могут находиться в разных областях диска. Таким образом, если в одной области диска возникнет большое количество поврежденных секторов, вероятность одновременного возникновения аналогичной ситуации в другой области диска будет крайне мала. В другом примере реализации маски зашифрованной области разных версий могут содержаться непосредственно на диске 101.
В примере реализации система 100 содержит модуль шифрования 106, связанный со средством конверсии 105 и предназначенный для зашифровывания и расшифровывания данных пользователя, записываемых или читаемых из зашифрованной области диска, и создания на диске файла журнала защиты 103.
В частном примере реализации средство конверсии 105 дополнительно предназначено для записи зашифрованных блоков данных на диск 101 и в журнал защиты 103. В другом примере реализации средство конверсии 105 дополнительно предназначено для создания на диске файла маски зашифрованной области и помещения в него маски зашифрованной области, определенной модулем определения маски 102. В еще одном примере реализации средство конверсии 105 дополнительно предназначено для обновления маски зашифрованной области при записи на диск зашифрованных блоков данных. В частном примере реализации средство конверсии 105 дополнительно предназначено для сохранения маски зашифрованной области в журнал хранения маски 104.
В другом примере реализации средство конверсии 105 дополнительно предназначено для сохранения маски зашифрованной области на диск при выполнении определенных условий. Например, маска может сохраняться из оперативной памяти на диск периодически, а также при частичном или полном обновлении журнала защиты 103.
В одном примере реализации система 100 содержит средство изменения маски 107, предназначенное для считывания последней сохраненной маски зашифрованной области из журнала хранения маски 104. Средство изменения маски 107 также предназначено для изменения в маске зашифрованной области значения показателя, определяющего, что блоки данных являются зашифрованными, на противоположное значение. Далее, для краткости, показатели, определяющие, является ли блок данных зашифрованным, будут упоминаться как показатели шифрования. Кроме этого средство изменения маски 107 служит для определения блоков данных, содержащихся в журнале защиты 103, для которых показатель шифрования в маске зашифрованной области отличается от состояния блоков данных на диске. В частном варианте реализации на диске может содержаться файл метаданных 108, в свою очередь содержащий указатели на журнал защиты 103 и на журнал хранения маски 104, а также показатель, определяющий, является диск зашифрованным или находится в процессе шифрования.
В частном примере реализации для определения порядка, в котором происходит сохранение зашифрованных блоков данных на диск, используется последовательный номер изменения блока, равный числу, итеративно возрастающему для каждого записанного на диск зашифрованного блока данных. В примере реализации в журнал защиты 103 вместе с каждым блоком данных дополнительно сохраняется последовательный номер изменения блока с помощью средства конверсии 105. В частном примере реализации с помощью средства конверсии 105 в журнал защиты 103 может сохраняться дополнительная информация, например: указатель на начало зашифрованного блока данных на диске, контрольная сумма от этого блока данных вместе с дополнительной информацией, указанной выше. В примере реализации при сохранении на диск нового зашифрованного блока данных обновляется маска зашифрованной области, таким образом, создается новая маска зашифрованной области. Для отображения соответствия между маской зашифрованной области и последним зашифрованным и записанным на диск блоком данных может быть использован последовательный номер изменения маски. В частном варианте реализации значение последовательного номера изменения маски равно максимальному значению последовательного номера изменения среди блоков данных, для которых в маске зашифрованной области содержится измененный показатель шифрования.
В частном примере реализации средство конверсии 105 дополнительно предназначено для сохранения последовательного номера изменения маски в журнал хранения маски 104. В примере реализации средство изменения маски 107 дополнительно предназначено для считывания последовательного номера изменения блока в журнале защиты 103, для считывания последовательного номера изменения маски в журнале хранения маски 104, а также для изменения значения показателя шифрования на противоположное значение.
В примере реализации в журнал хранения маски 104 вместе с каждой маской зашифрованной области дополнительно сохраняется последовательный номер изменения маски. В частном примере реализации в журнал хранения маски 104 может сохраняться дополнительная информация, например: указатель на начало последнего сохраненного блока данных на диске, контрольная сумма от маски зашифрованной области вместе с дополнительной информацией, указанной выше.
В частном примере реализации на диске 101 содержится пользовательский образ MBR (master boot record - главная загрузочная запись для BIOS систем), отличающийся от основного MBR тем, что вместе с кодом, активирующим среду предзагрузочной аутентификации (preboot authentication), или в отсутствие такового может дополнительно содержать указатели на файл метаданных 108, агент предзагрузки, содержащийся на диске (на Фиг. 1 не отображено), журнал защиты и указатель на журнал хранения маски 104. Пользовательский образ MBR может также содержать показатель, определяющий, является ли диск зашифрован или же диск находится в процессе шифрования.
На Фиг. 2 представлен возможный пример маски зашифрованной области 201. В данном примере маска зашифрованной области 201 представлена в виде битовой карты. Каждому блоку данных диска 100 соответствует бит в маске зашифрованной области 201. При этом значение бита в маске зашифрованной области 201 определяет, является ли соответствующий блок данных зашифрованным (например, бит может принимать значение 1, когда блок данных зашифрован, и 0 - когда блок данных находится в расшифрованном состоянии). В данном примере, блоки данных 1, 3, 6, 7 зашифрованы, в то время как блоки 2, 4, 5 расшифрованы. Для такого диска маска зашифрованной области будет принимать значение 1010011.
Для ясности представленная на Фиг. 2 структура маски зашифрованной области будет использоваться при описании вариантов реализации изобретения. Стоит отметить, что на Фиг. 2 представлен лишь предпочтительный пример маски зашифрованной области 201, и в общем случае маска зашифрованной области может иметь различное представление. В частном примере реализации маска зашифрованной области может быть представлена в виде дерева двоичного поиска, интервального графа, в виде многоуровневой битовой карты и пр.
На Фиг. 3 представлен вариант способа определения маски зашифрованной области. На первом шаге 301 с помощью модуля определения маски 102 определяют параметры диска, которые могут включать: размер диска, тип, количество поврежденных секторов диска и пр. Далее, на этапе 302, с помощью модуля определения маски 102 задают размер блока данных, который зависит от параметров диска. На последнем шаге 303 в зависимости от размера блока данных с помощью модуля определения маски 102 определяют маску зашифрованной области, содержащую показатель шифрования для каждого блока данных и изначально соответствующую незашифрованному состоянию для всего диска (все биты маски зашифрованной области могут равняться нулю). Размер маски зашифрованной области задают исходя из размера блока данных (например, размер диска, деленный на размер блока данных).
При шифровании блока данных на диске 101 он будет перезаписан единым целым. Таким образом, для обеспечения наилучшей производительности при шифровании диска размер блока данных будет кратен размеру физического сектора или размеру блока стирания (для твердотельного накопителя).
В частном примере реализации размер блока данных может быть равен квадратному корню от объема диска в байтах. Например, для диска объемом 1 терабайт размер блока данных будет равен 1 мегабайт. В этом случае размер маски зашифрованной области будет равен отношению объема диска к размеру блока данных и может составлять 128 килобайт для представления в виде линейной двоичной битовой карты.
В другом примере реализации маска зашифрованной области может иметь структуру многоуровневой битовой карты. Например, для битовой карты в виде матрицы размер блока данных может быть сопоставим с кубическим корнем от объема диска в октетах. Таким образом, для диска объемом 1 терабайт размер блока данных может составлять 16 килобит.
На Фиг. 4 представлена общая схема процесса инициации полнодискового шифрования. Вначале, на шаге 401, происходит инициация процесса шифрования - модуль шифрования 106 создает пустые файлы журнала защиты 103 и журнала хранения маски 104. В частном примере реализации процесс шифрования может быть также инициирован средством конверсии 105. Стоит отметить, что файлы журналов к этому моменту могут уже быть размещены на диске 101. В этом случае их содержимое будет очищено. Далее, на шаге 402, на компьютерной системе с помощью модуля шифрования 106 устанавливают средство конверсии 105 и набор системных программных компонентов, необходимых для выполнения полнодискового шифрования и для обеспечения выполнения аутентификации на этапе предзагрузки системы (РВА - pre-boot authentication). После этого может быть произведена перезагрузка компьютерной системы для проверки корректной работы драйверов. Например, если после перезагрузки возникли ошибки системы, при последующей загрузке система может быть восстановлена из последней точки восстановления системы, однако в этом случае полнодисковое шифрование может быть отменено.
На шаге 403 модуль шифрования 106 передает средству конверсии 105 команду о необходимости шифрования. В частном варианте реализации перед началом шифрования на диске может быть создан файл метаданных 108, который, в свою очередь, может содержать указатели на журнал защиты и на журнал хранения маски 104, а также показатель, определяющий, является диск зашифрованным, находится в процессе шифрования или шифрования диска еще не началось - диск расшифрован. В другом варианте реализации на диске может быть сохранено несколько копий файла метаданных 108 для обеспечения дополнительной надежности при возобновлении шифрования в случае возникновения системного сбоя.
Далее, на шаге 404, с помощью средства конверсии создают маску зашифрованной области. В частном примере реализации при выполнении процесса полнодискового шифрования все биты созданной маски зашифрованной области могут равняться нулю. В другом примере реализации при расшифровании зашифрованного диска все биты созданной маски зашифрованной области могут равняться единице. Далее маска зашифрованной области может быть сохранена в журнал хранения маски 104.
На шаге 405 с помощью модуля шифрования создают пользовательский образ MBR. После создания пользовательский образ MBR сохраняется на место исходного MBR, который обычно расположен в нулевом секторе диска. При загрузке компьютерной системы BIOS передает управление пользовательскому MBR, который обеспечивает загрузку агента предзагрузки и передачу ему выполнения. Копия основного MBR может быть сохранена в файле метаданных 108. Агент предзагрузки обеспечивает аутентификацию пользователя, загрузку основного MBR из файла метаданных 108, который в итоге передает управление операционной системе.
В итоге, на шаге 406, средство конверсии приступает к шифрованию диска. Более подробно процесс шифрования описывается ниже.
На Фиг. 5 представлен вариант способа определения маски зашифрованной области в процессе полнодискового шифрования. При начале шифрования маска зашифрованной области может быть целиком заполнена нулями - все блоки данных диска не зашифрованы. Если же происходит расшифровывание диска, все биты маски зашифрованной области будут единичными - все блоки данных на диске зашифрованы.
Таким образом, в начале шифрования диска средство конверсии с использованием маски зашифрованной области считывает незашифрованные блоки данных с диска (в маске зашифрованной области таким блокам данных соответствует нулевой бит). Далее средство конверсии 105 зашифровывает считанный блок данных, после чего, на шаге 501, блоки данных записываются в журнал защиты 103. В частном варианте реализации в журнал защиты 103 также может быть записан последовательный номер изменения блока и дополнительная информация (например, указатель на начало зашифрованного блока данных на диске, контрольная сумма).
В частном варианте реализации блок данных может быть зашифрован с использованием симметричного шифрования, например блочным шифром. Ключи шифрования могут быть созданы, например, средством шифрования 105, зашифрованы с использованием пароля пользователя компьютерной системы в качестве ключа шифрования и сохранены на диск. Далее, на этапе 502, в маску зашифрованной области добавляют показатели шифрования для зашифрованных блоков данных. Например, при использовании битовой карты в ней изменяют соответствующий зашифрованному блоку данных бит на единицу. В частном варианте реализации обновленная маска может быть сохранена на диск на следующем шаге 503. В другом варианте реализации маска зашифрованной области может сохраняться на диск каждый раз после записи блоков данных в журнал защиты.
Однако частая перезапись содержимого журнала хранения маски 104 может увеличить износ диска. Поэтому в предпочтительном варианте реализации маска зашифрованной области сохраняется на диск в журнал хранения маски 104 при выполнении определенных условий, которые проверяются на шаге 504. В одном примере реализации маска зашифрованной области сохраняется на диск, если в журнал защиты было сохранено определенное количество зашифрованных блоков данных с момента последнего сохранения маски зашифрованной области в журнал хранения маски 104 (например, при перезаписи журнала защиты 103 наполовину).
В другом примере реализации маска зашифрованной области может сохраняться на диск по истечении определенного промежутка времени (например, каждые 10 секунд). В еще одном примере реализации сохранение маски зашифрованной области на диск происходит при запросе сквозной записи данных на диск.
Так или иначе, условие сохранения маски зашифрованной области на диск будет таким, что при возникновении системного сбоя в произвольное время, зашифрованных блоков данных, сохраненных в журнал защиты 103, а также последней сохраненной маски зашифрованной области будет достаточно для восстановления (изменения) маски зашифрованной области для всех зашифрованных блоков данных, которые были сохранены на диск или в журнал защиты 103 к моменту сбоя системы. Более подробно вариант способа изменения маски зашифрованной области будет описан ниже, при описании Фиг. 6.
В итоге, при выполнении условий, определенных на шаге 504, маска зашифрованной области сохраняется на диск на шаге 503, процесс шифрования продолжается. В противном случае процесс шифрования продолжается без сохранения на диск маски зашифрованной области. Т.к. маска зашифрованной области в общем случае сохраняется на диск реже, чем зашифрованные блоки данных, то при возникновении системного сбоя маска зашифрованной области, содержащаяся на диске, может не полностью соответствовать состоянию зашифрованных блоков данных на диске. В этом случае после перезагрузки системы 100 потребуется обновить маску зашифрованной области до новой версии, чтобы новая маска зашифрованной области полностью характеризовала состояние зашифрованных блоков данных на диске 101. Способ изменения маски зашифрованной области после системного сбоя и перезагрузки системы приводится ниже, в описании Фиг. 6.
После успешной записи в журнал защиты 103 блок данных записывается непосредственно на диск 101, на место исходного блока данных.
Процесс шифрования будет завершен, когда все блоки данных будут зашифрованы и сохранены на диск 101, а все биты маски зашифрованной области будут единичными.
В частном примере реализации после завершения процесса шифрования маска зашифрованной области будет удалена из памяти, а также с диска. В другом примере реализации после завершения процесса шифрования журнал защиты также может быть очищен, что позволит освободить дополнительное место на диске.
Стоит отметить, что в предпочтительном варианте реализации этап 503 выполняется без прерывания процесса шифрования блоков данных.
На Фиг. 6 представлен способ изменения маски зашифрованной области. В процессе шифрования может возникнуть системный сбой, в результате которого компьютерная система будет перезагружена. Маска зашифрованной области сохраняется на диск реже, чем происходит сохранение на диск зашифрованных блоков данных. Таким образом, в маске зашифрованной области на диске для некоторых зашифрованных блоков данных могут отсутствовать показатели шифрования. Для возобновления процесса шифрования показатели шифрования, содержащиеся в маске зашифрованной области, должны соответствовать зашифрованным блокам данных на диске.
Для этого на шаге 601 с помощью средства изменения маски считывают последнюю сохраненную на диске маску зашифрованной области. Далее, на шаге 602, с помощью средства изменения маски определяют блоки данных, для которых показатель шифрования в маске зашифрованной области не соответствует состоянию блока данных в журнале защиты (например, диск зашифровывается, блок данных в журнале защиты присутствует, однако в маске зашифрованной области ему соответствует нулевой бит). Стоит отметить, что в частном варианте реализации средство конверсии может обращаться не к журналу защиты, а непосредственно к диску, чтобы определить, является ли блок данных на диске зашифрован и соответствует ли эта информация показателю шифрования в маске зашифрованной области.
В итоге, на этапе 603, с помощью средства изменения маски в маске зашифрованной области изменяют значения показателей шифрования для определенных блоков данных на противоположное. Таким образом, маска зашифрованной области будет соответствовать журналу защиты и, следовательно, состоянию блоков данных на диске. Новая маска зашифрованной области может быть сохранена на диск и загружена в память для продолжения прерванного процесса шифрования.
В частном варианте реализации для изменения маски зашифрованной области используется последовательный номер изменения блока, который содержится вместе с каждым зашифрованным блоком данных в журнале защиты пользователя 103, а также последовательный номер изменения маски, который содержится вместе с маской зашифрованной области на диске 101. Так, на шаге 601 дополнительно для каждого блока данных в журнале защиты 103 с помощью средства изменения маски 107 считывают последовательный номер изменения блока. На шаге 602 в журнале хранения маски 104 с помощью средства изменения маски 107 дополнительно считывают последовательный номер изменения маски, соответствующий последней сохраненной маске зашифрованной области. В итоге, на шаге 603, с помощью средства изменения маски 107 в маске зашифрованной области для блоков данных, у которых номер последовательного изменения блока данных больше номера последовательного изменения маски, дополнительно изменяют значение показателя шифрования на противоположное значение.
Фиг. 7 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер 20, содержащий центральный процессор 21, системную память 22 и системную шину 23, которая содержит разные системные компоненты, в том числе память, связанную с центральным процессором 21. Системная шина 23 реализована, как любая известная из уровня техники шинная структура, содержащая в свою очередь память шины или контроллер памяти шины, периферийную шину и локальную шину, которая способна взаимодействовать с любой другой шинной архитектурой. Системная память содержит постоянное запоминающее устройство (ПЗУ) 24, память с произвольным доступом (ОЗУ) 25. Основная система ввода/вывода (BIOS) 26 содержит основные процедуры, которые обеспечивают передачу информации между элементами персонального компьютера 20, например, в момент загрузки операционной системы с использованием ПЗУ 24.
Персональный компьютер 20 в свою очередь содержит жесткий диск 27 для чтения и записи данных, привод магнитных дисков 28 для чтения и записи на сменные магнитные диски 29 и оптический привод 30 для чтения и записи на сменные оптические диски 31, такие как CD-ROM, DVD-ROM и иные оптические носители информации. Жесткий диск 27, привод магнитных дисков 28, оптический привод 30 соединены с системной шиной 23 через интерфейс жесткого диска 32, интерфейс магнитных дисков 33 и интерфейс оптического привода 34 соответственно. Приводы и соответствующие компьютерные носители информации представляют собой энергонезависимые средства хранения компьютерных инструкций, структур данных, программных модулей и прочих данных персонального компьютера 20.
Настоящее описание раскрывает реализацию системы, которая использует жесткий диск 27, сменный магнитный диск 29 и сменный оптический диск 31, но следует понимать, что возможно применение иных типов компьютерных носителей информации 56, которые способны хранить данные в доступной для чтения компьютером форме (твердотельные накопители, флеш карты памяти, цифровые диски, память с произвольным доступом (ОЗУ) и т.п.), которые подключены к системной шине 23 через контроллер 55.
Компьютер 20 имеет файловую систему 36, где хранится записанная операционная система 35, а также дополнительные программные приложения 37, другие программные модули 38 и данные программ 39. Пользователь имеет возможность вводить команды и информацию в персональный компьютер 20 посредством устройств ввода (клавиатуры 40, манипулятора «мышь» 42). Могут использоваться другие устройства ввода (не отображены): микрофон, джойстик, игровая консоль, сканнер и т.п. Подобные устройства ввода по своему обычаю подключают к компьютерной системе 20 через последовательный порт 46, который в свою очередь подсоединен к системной шине, но могут быть подключены иным способом, например, при помощи параллельного порта, игрового порта или универсальной последовательной шины (USB). Монитор 47 или иной тип устройства отображения также подсоединен к системной шине 23 через интерфейс, такой как видеоадаптер 48. В дополнение к монитору 47 персональный компьютер может быть оснащен другими периферийными устройствами вывода (не отображены), например, колонками, принтером и т.п.
Персональный компьютер 20 способен работать в сетевом окружении, при этом используется сетевое соединение с другим или несколькими удаленными компьютерами 49. Удаленный компьютер (или компьютеры) 49 являются такими же персональными компьютерами или серверами, которые имеют большинство или все упомянутые элементы, отмеченные ранее при описании существа персонального компьютера 20, представленного на Фиг.7. В вычислительной сети могут присутствовать также и другие устройства, например, маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.
Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 50 и глобальную вычислительную сеть (WAN). Такие сети применяются в корпоративных компьютерных сетях, внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN-сетях персональный компьютер 20 подключен к локальной сети 50 через сетевой адаптер или сетевой интерфейс 51. При использовании сетей персональный компьютер 20 может использовать модем 54 или иные средства обеспечения связи с глобальной вычислительной сетью, такой как Интернет. Модем 54, который является внутренним или внешним устройством, подключен к системной шине 23 посредством последовательного порта 46. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, т.е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.
В соответствии с описанием компоненты, этапы исполнения, структура данных, описанные выше, могут быть выполнены, используя различные типы операционных систем, компьютерных платформ, программ.
В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой.
1. Способ определения маски зашифрованной области диска, в которома) с помощью модуля шифрования инициируют процесс шифрования, путем создания по меньшей мере пустого файла журнала хранения маски, при этом упомянутый журнал хранения маски необходим для хранения нескольких версий маски зашифрованной области во время выполнения шифрования диска, а маска зашифрованной области содержит показатели, определяющие для каждого блока данных диска, является он зашифрованным или расшифрованным;б) с помощью модуля определения маски определяют параметры диска, при этом параметры диска включают по крайней мере размер диска;в) с помощью модуля определения маски задают размер упомянутого блока данных, при этом размер блока данных зависит от определенных параметров диска;г) в зависимости от размера блока данных с помощью модуля определения маски определяют упомянутую маску зашифрованной области;д) с помощью