RU2396594C2 - Способ защищенной загрузки операционной системы компьютера с проверкой целостности - Google Patents

Способ защищенной загрузки операционной системы компьютера с проверкой целостности Download PDF

Info

Publication number
RU2396594C2
RU2396594C2 RU2008132185/09A RU2008132185A RU2396594C2 RU 2396594 C2 RU2396594 C2 RU 2396594C2 RU 2008132185/09 A RU2008132185/09 A RU 2008132185/09A RU 2008132185 A RU2008132185 A RU 2008132185A RU 2396594 C2 RU2396594 C2 RU 2396594C2
Authority
RU
Russia
Prior art keywords
operating system
computer
boot
integrity
encryption key
Prior art date
Application number
RU2008132185/09A
Other languages
English (en)
Other versions
RU2008132185A (ru
Inventor
Сергей Львович Груздев (RU)
Сергей Львович Груздев
Original Assignee
Закрытое акционерное общество "Аладдин Р.Д."
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Закрытое акционерное общество "Аладдин Р.Д." filed Critical Закрытое акционерное общество "Аладдин Р.Д."
Priority to RU2008132185/09A priority Critical patent/RU2396594C2/ru
Publication of RU2008132185A publication Critical patent/RU2008132185A/ru
Application granted granted Critical
Publication of RU2396594C2 publication Critical patent/RU2396594C2/ru

Links

Abstract

Изобретение относится к вычислительной технике, а именно к способам защиты компьютеров от несанкционированного доступа к данным. Техническим результатом является повышение степени защиты компьютера от несанкционированного доступа к информации, хранящейся на жестком диске. Способ защищенной загрузки операционной системы компьютера с проверкой целостности содержит этапы запуска загрузчика операционной системы, считывания ключа шифрования, проверки целостности операционной системы и загрузки операционной системы. Загрузчик предварительно записывают на внешнем носителе. На начальном этапе загрузки зашифровывают все сектора жесткого диска компьютера. Перед проверкой целостности операционной системы осуществляют считывание необходимого для этой проверки и последующей загрузки ключа шифрования. Ключ шифрования предварительно сохраняют в защищенной памяти внешнего устройства. Для доступа к памяти внешнего устройства требуют аутентификацию пользователя. 7 з.п. ф-лы.

Description

Изобретение относится к вычислительной технике, а именно к способам защиты компьютеров от несанкционированного доступа к данным.
На жестком диске персонального компьютера располагается операционная система (ОС), загрузка которой в архитектуре IBM PC-совместимых компьютеров проводится с жесткого диска. При этом информация, необходимая для загрузки (Master Boot Record (MBR), boot record, системные и служебные файлы), находятся на диске в открытом, незашифрованном виде. В противном случае стандартным способом загрузить операционную систему с жесткого диска невозможно.
Для защиты информации от несанкционированного доступа широко применяется метод шифрования информации, хранящейся на жестком диске. После загрузки ОС (системные области и файлы которой не зашифрованы), с помощью специального или аппаратно-программного обеспечения доверенный пользователь может расшифровать информацию и получить к ней доступ.
Многие современные средства предлагают возможность шифрования системного раздела и файлов операционной системы (которые в современных ОС могут содержать конфиденциальную информацию). Но при этом для обеспечения загрузки ОС с жесткого диска на нем остаются незашифрованные области (специализированные загрузчики, хранилища ключевой информации и др.).
Известен способ защищенной загрузки операционной системы компьютера с проверкой целостности, содержащий этапы запуска загрузчика операционной системы, считывания ключа шифрования, проверки целостности операционной системы и загрузки операционной системы (см. опубликованную заявку RU 2005115918, кл. G06F 21/00, опубл. 20.11.2006).
Недостатком известного способа является то, что, поскольку проверка целостности системы проводится без использования ключа шифрования, при загрузке с альтернативного носителя можно внести изменения как в операционную систему, так и в контрольные суммы. Такие изменения недетектируемы и не могут обеспечить доверенную загрузку. Таким образом, известный способ не обеспечивает достаточную защиту системы от несанкционированного вмешательства.
Задачей настоящего изобретения является устранение указанных недостатков. Технический результат заключается в увеличении степени защиты компьютера от несанкционированного доступа к информации, хранящейся на жестком диске. Поставленная задача решается, а технический результат достигается тем, что способ защищенной загрузки операционной системы компьютера с проверкой целостности содержит этапы запуска загрузчика операционной системы, считывания ключа шифрования, проверки целостности операционной системы и загрузки операционной системы, при этом загрузчик предварительно записывают на внешнем носителе, на начальном этапе загрузки зашифровывают все сектора жесткого диска компьютера, перед проверкой целостности операционной системы осуществляют считывание необходимого для этой проверки и последующей загрузки ключа шифрования, который предварительно сохраняют в защищенной памяти внешнего устройства, для доступа к которой требуют аутентификацию пользователя, и таким образом обеспечивают защиту от несанкционированного доступа к данным, размещенным на жестком диске. Предпочтительно, внешний носитель защищают от перезаписи и выполняют в виде двух модулей, на один из которых, представляющий из себя CDROM, USB CDROM или устройство eToken NG Flash, в которое функционально включают чип смарт-карты и Flash-память, которую настраивают таким образом, что она будет представлена для компьютера как USB CDROM, записывают загрузчик, а на второй модуль, представляющий из себя чип смарт-карты, записывают ключ шифрования. При этом базовую подсистему ввода/вывода компьютера настраивают на загрузку с соответствующего вида носителя. Для двухфакторной аутентификации пользователя может быть использован электронный ключ eToken. Целесообразно осуществлять заявленный способ так, что предварительно устанавливают драйвер ядра операционной системы как драйвер-фильтр над драйвером чтения/записи диска; после проверки целостности операционной системы с помощью загрузчика устанавливают в память компьютера обработчик прерывания операций чтения/записи диска и загружают в обработчик ключ шифрования, после чего с помощью обработчика расшифровывают данные с жесткого диска в прозрачном режиме; после установки обработчика с помощью загрузчика считывают расшифрованный обработчиком главный блок начальной загрузки и передают на него управление; после того как управление передано на главный блок, системные файлы и данные расшифровывают в прозрачном режиме установленным ранее драйвером, при этом работу загруженной операционной системы осуществляют в штатном режиме.
Согласно изобретению загрузка ОС осуществляется из полностью зашифрованного состояния. При этом зашифрованы все сектора жесткого диска, включая главный блок начальной загрузки и содержимое ОС. Специальный программный загрузчик располагается на защищенном от перезаписи внешнем носителе, например eToken NG Flash. Данное устройство может представлять собой два USB-устройства, подключенных к собственному USB-хабу, собранному в одном корпусе с одним USB-разъемом. Первое устройство - USB Flash диск, который может быть сконфигурирован таким образом, что область памяти будет представлена для компьютера как USB CDROM, который защищен от перезаписи, а второе устройство - электронный ключ eToken, который используют для двухфакторной аутентификации пользователя (то есть пользователь что-то имеет, например токен или смарт-карту, и что-то знает, например PIN код). В защищенной памяти второго устройства сохранен ключ шифрования ОС, расположенной на жестком диске. Для доступа к памяти требуется аутентификация пользователя.
Базовая подсистема ввода/вывода компьютера должна быть настроена на загрузку с соответствующего вида носителя. Загрузка с внутреннего диска невозможна, так как главная загрузочная запись MBR (главный блок загрузки) зашифрована.
Необходимость защиты компьютерной системы от несанкционированного вмешательства обусловлена желанием пользователя сокрыть от общего доступа информацию, хранящуюся в памяти компьютера. Кроме того, нарушение защиты компьютерной системы может привести к ее работе вне заданного режима. Это может быть вызвано заменой или изменением известной программы, или выполнением ее в состоянии, в котором ее поведение не согласовано. Таким образом, одним из важнейших аспектов обеспечения защиты компьютерной системы в процессе загрузки (когда система наиболее уязвима) является проверка целостности операционной системы и программной среды до начала ее работы.
После включения компьютер начинает выполнять команды, записанные в базовой системе ввода-вывода. После выполнения всех стартовых команд начинается считывание загрузчика выбранной ОС. Согласно изобретению он находится на внешнем носителе, что обеспечивает неизменность загрузчика и исключает необходимость проверки его правильности. Проверка целостности ОС выполняется достоверным программным компонентом. Данная проверка может быть выполнена только с расшифрованными данными и с расшифрованными контрольными суммами. Без ввода ключа загрузка зашифрованной ОС невозможна. Таким образом, перед проверкой правильности состояния (целостности) ОС происходит считывание ключа шифрования из защищенной памяти внешнего устройства. При этом для чтения ключа необходимо ввести PIN-код или пароль к устройству, после этого ключ шифрования используется для проверки целостности.
Подтверждением целостности ОС обеспечивается гарантия того, что до входа в систему не будет загружена несанкционированная версия компонентов ОС (ядра, драйверов и др.). Это важно потому, что после загрузки ОС она начинает выполнение программы входа в систему. И если до этого момента были загружены какие-либо несанкционированные компоненты, то они могут вынудить систему выдать ключ шифрования при несоответствующих условиях. По этим причинам предпочтительно принудительно переводить систему в необходимое состояние во время выполнения загрузчика. Как правило, необходимое для загрузки ОС состояние определяется работой процессора, набора микросхем (чипсета) и памяти. Эти элементы могут быть переведены в заведомо правильное состояние после проверки целостности и перед загрузкой, например, выставлением незадействованной памяти системы на 0 и т.д.
Для подготовки к работе ОС, загружаемой заявленным способом, необходимо осуществить следующие последовательные операции:
- установить драйвер ядра операционной системы как драйвер-фильтр над драйвером чтения/записи диска;
- зафиксировать состояние операционной системы, т.е. вычислить контрольные суммы и сохранить их в отдельном файле операционной системы;
- генерировать ключ шифрования, сохранив его в защищенной памяти внешнего устройства (смарт-карты, USB токена), для доступа к которой (защищенной памяти) требуется аутентификация пользователя (ввод PIN - кода);
- зашифровать все сектора жесткого диска, включая главный блок начальной загрузки (MBR), загрузка операционной системы с жесткого диска без ключа шифрования становится невозможной;
- предварительно записать загрузчик операционной системы на внешний носитель, защищенный от перезаписи (CDROM, eToken NG Flash и др.), загрузка с которого поддерживается базовой подсистемой ввода-вывода;
- настроить базовую систему ввода-вывода (BIOS) на загрузку с указанного носителя.
На этом установка и настройка закончены, операционная система приведена в контролируемое состояние.
Способ защищенной загрузки операционной системы компьютера с проверкой целостности осуществляют следующим образом:
- внешний носитель, на котором записан загрузчик, подключают к компьютеру;
- после включения компьютера базовая подсистема ввода-вывода передает управление на записанный на внешнем носителе загрузчик;
- через USB порт (в случае USB токена) или через считыватель смарт-карт подключают к компьютеру внешнее устройство, на котором записан ключ шифрования (при использовании eToken NG Flash оба устройства подключаются одновременно на первом этапе, поскольку размещены в одном корпусе);
- загрузчик использует электронные ключ, например eToken, для надежной двухфакторной аутентификации пользователя;
- после удачной аутентификации загрузчик считывает ключ шифрования из защищенной памяти внешнего устройства;
- считанный ключ шифрования используется для проверки целостности ОС (проверки нахождения операционной системы в известном состоянии), выполнить такую проверку без ключа шифрования нельзя;
- если процедура проверки выполнена успешно, то загрузчик устанавливает в память компьютера обработчик прерывания операций чтения/записи диска базовой подсистемы ввода-вывода (Int 13 h) и загружает в обработчик ключ шифрования;
- все операции чтения/записи до загрузки ядра операционной системы проходят через установленный обработчик, который в прозрачном режиме расшифровывает данные, прочитанные с диска;
- после установки обработчика, загрузчик считывает главный блок начальной загрузки (уже в расшифрованном виде) и передает на него управление;
- главный блок начальной загрузки выполняет загрузку загрузочного сектора, который загружает операционную систему в штатном режиме;
- после того как управление передано на ядро операционной системы, файлы и данные расшифровываются в прозрачном режиме установленным ранее драйвером;
- работу загруженной ОС осуществляют в штатном режиме.
Указанный алгоритм загрузки обеспечивает более надежную защиту данных на жестком диске, поскольку они хранятся в полностью зашифрованном виде. Поскольку загрузка с полностью зашифрованного жесткого диска невозможна, ее осуществляют с внешнего носителя. Обеспечение указанными средствами двухфакторной аутентификации обеспечивает дополнительную защиту сохраненных на жестком диске данных.

Claims (8)

1. Способ защищенной загрузки операционной системы компьютера с проверкой целостности, содержащий этапы запуска загрузчика операционной системы, считывания ключа шифрования, проверки целостности операционной системы и загрузки операционной системы, отличающийся тем, что загрузчик предварительно записывают на внешнем устройстве, на начальном этапе загрузки посредством указанного ключа шифрования, предварительно сохраненного в защищенной памяти внешнего устройства, зашифровывают все сектора жесткого диска компьютера, перед проверкой целостности операционной системы осуществляют считывание необходимого для этой проверки и последующей загрузки указанного ключа шифрования, который предварительно сохраняют в защищенной памяти внешнего устройства, для доступа к которой требуют аутентификацию пользователя, при этом, если процедура проверки выполнена успешно, то загрузчик устанавливает в память компьютера обработчик прерывания операций чтения/записи диска базовой подсистемы ввода-вывода и загружает в обработчик указанный ключ шифрования, при этом все операции чтения/записи до загрузки ядра операционной системы проходят через установленный обработчик, который в прозрачном режиме расшифровывает данные, прочитанные с диска, после установки обработчика загрузчик считывает главный блок начальной загрузки в расшифрованном виде и передает на него управление, главный блок начальной загрузки выполняет загрузку загрузочного сектора, который загружает операционную систему в штатном режиме.
2. Способ загрузки по п.1, отличающийся тем, что внешний носитель защищают от перезаписи.
3. Способ загрузки по п.1, отличающийся тем, что внешний носитель выполняют в виде двух модулей, на один из которых, представляющий из себя CDROM, USB CDROM или устройство eToken NG Flash, в который функционально включают чип смарт-карты и Flash-память, которую настраивают таким образом, что она будет представлена для компьютера как USB CDROM, записывают загрузчик, а на второй модуль, представляющий из себя чип смарт-карты, записывают ключ шифрования.
4. Способ загрузки по п.2, отличающийся тем, что настраивают базовую подсистему ввода/вывода компьютера на загрузку с соответствующего вида носителя.
5. Способ загрузки по п.1, отличающийся тем, что для двухфакторной аутентификации пользователя используют электронный ключ eToken.
6. Способ загрузки по п.1, отличающийся тем, что предварительно устанавливают драйвер ядра операционной системы как драйвер-фильтр над драйвером чтения/записи диска.
7. Способ загрузки по п.4, отличающийся тем, что после проверки целостности операционной системы с помощью загрузчика устанавливают в память компьютера обработчик прерывания операций чтения/записи диска и загружают в обработчик ключ шифрования, после чего с помощью обработчика расшифровывают данные с жесткого диска в прозрачном режиме.
8. Способ загрузки по п.6, отличающийся тем, что после того, как управление передано на главный блок начальной загрузки, системные файлы и данные расшифровывают в прозрачном режиме установленным ранее драйвером, при этом работу загруженной операционной системы осуществляют в штатном режиме.
RU2008132185/09A 2008-08-06 2008-08-06 Способ защищенной загрузки операционной системы компьютера с проверкой целостности RU2396594C2 (ru)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2008132185/09A RU2396594C2 (ru) 2008-08-06 2008-08-06 Способ защищенной загрузки операционной системы компьютера с проверкой целостности

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2008132185/09A RU2396594C2 (ru) 2008-08-06 2008-08-06 Способ защищенной загрузки операционной системы компьютера с проверкой целостности

Publications (2)

Publication Number Publication Date
RU2008132185A RU2008132185A (ru) 2010-02-20
RU2396594C2 true RU2396594C2 (ru) 2010-08-10

Family

ID=42126555

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2008132185/09A RU2396594C2 (ru) 2008-08-06 2008-08-06 Способ защищенной загрузки операционной системы компьютера с проверкой целостности

Country Status (1)

Country Link
RU (1) RU2396594C2 (ru)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2560827C1 (ru) * 2014-03-24 2015-08-20 Открытое акционерное общество "Мультиклет" Способ защиты информации и портативное многофункциональное устройство для защиты информации
RU2628894C1 (ru) * 2016-09-06 2017-08-22 Евгений Борисович Дроботун Способ контроля целостности данных в информационно-вычислительных системах
RU2777704C1 (ru) * 2021-11-09 2022-08-08 федеральное государственное автономное образовательное учреждение высшего образования «Национальный исследовательский университет ИТМО» (Университет ИТМО) Способ защищенной загрузки операционной системы компьютеров

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2538288C2 (ru) * 2013-02-06 2015-01-10 Закрытое акционерное общество "Крафтвэй корпорэйшн ПЛС" Способ загрузки компьютером защищенного хранилища данных
CN113485757A (zh) * 2021-07-22 2021-10-08 北京青云科技股份有限公司 一种系统启动过程中的解密方法、装置、设备及存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2560827C1 (ru) * 2014-03-24 2015-08-20 Открытое акционерное общество "Мультиклет" Способ защиты информации и портативное многофункциональное устройство для защиты информации
RU2628894C1 (ru) * 2016-09-06 2017-08-22 Евгений Борисович Дроботун Способ контроля целостности данных в информационно-вычислительных системах
RU2777704C1 (ru) * 2021-11-09 2022-08-08 федеральное государственное автономное образовательное учреждение высшего образования «Национальный исследовательский университет ИТМО» (Университет ИТМО) Способ защищенной загрузки операционной системы компьютеров

Also Published As

Publication number Publication date
RU2008132185A (ru) 2010-02-20

Similar Documents

Publication Publication Date Title
US7107460B2 (en) Method and system for securing enablement access to a data security device
US10977381B2 (en) Protection system and method against unauthorized data alteration
US7937575B2 (en) Information processing system, program product, and information processing method
KR100648533B1 (ko) 시스템 바이오스를 플래쉬하는 바이러스 감염방지 및 하드웨어 독립 방법
US7421588B2 (en) Apparatus, system, and method for sealing a data repository to a trusted computing platform
US9703635B2 (en) Method, computer program, and computer for restoring set of variables
US20090094601A1 (en) Method and device for protecting software from unauthorized use
KR20190047115A (ko) Arm® trustzone™ 구현을 위한 펌웨어 기반 신뢰 플랫폼 모듈
WO2014131652A1 (en) A method for software anti-rollback recovery
JP2011527777A (ja) 安全な起動メカニズムを備えたコンピュータシステム
RU2353969C2 (ru) Способ и устройство для привязки памяти компьютера к системной плате
US20130227262A1 (en) Authentication device and authentication method
US11397815B2 (en) Secure data protection
US20120266238A1 (en) Computer Including at Least One Connector for a Replaceable Storage Medium, and Method for Starting and Operating a Computer Via a Replaceable Storage Medium
RU2396594C2 (ru) Способ защищенной загрузки операционной системы компьютера с проверкой целостности
US20050193195A1 (en) Method and system for protecting data of storage unit
Ruan et al. Boot with integrity, or don’t boot
US8190813B2 (en) Terminal apparatus with restricted non-volatile storage medium
CN111695164B (zh) 电子设备及其控制方法
Jacob et al. faultpm: Exposing amd ftpms’ deepest secrets
Kursawe et al. Flexible μTPMs through disembedding
KR19990079740A (ko) 부팅 시퀀스를 이용한 피씨 보안 유지 방법
KR100358108B1 (ko) 하드디스크 데이터 보호장치 및 그 방법
RU2777704C1 (ru) Способ защищенной загрузки операционной системы компьютеров
Gu et al. A secure bootstrap based on trusted computing