ТРЕХСТОРОННЯЯ ПРОВЕРКА И АУТЕНТИФИКАЦИЯ ФАЙЛОВ НАЧАЛЬНОЙ ЗАГРУЗКИ, ПЕРЕДАВАЕМЫХ ОТ СЕРВЕРА КЛИЕНТУ
THREE-WAY CHECKING AND AUTHENTICATION OF BOOT FILES, TRANSFERRED FROM SERVER TO CLIENT

Область техники, к которой относится изобретение
Настоящее изобретение относится к области проверки и аутентификации клиентов, серверов и файлов начальной загрузки. В частности, это изобретение относится к проверке и аутентификации файлов начальной загрузки в отношении клиентов в среде, предшествующей установке операционной системы, подсоединенной к серверам через сеть.
Предшествующий уровень техники
Ключевой проблемой при сетевой начальной загрузке персональных компьютеров (ПК) с системой, предшествующей установке операционной системы (предоперационной системой), является трудность и/или невозможность для сервера удостовериться в безопасности таких ПК. Помимо этого, многие серверы не могут выполнить аутентификацию своих клиентов, и многие клиенты не могут удостовериться в целостности их сервера и/или файлов начальной загрузки, предоставляемых клиенту сервером. Более того, имеются серьезные ограничения при начальной загрузке нового или поврежденного ПК без установленной на нем операционной системы. Имеется потребность в проверке целостности клиента, сервера или файла начальной загрузки, в особенности в среде предоперационной системы. Также имеется потребность в предоставлении клиентам возможности осуществлять начальную загрузку безопасным образом вне зависимости от состояния операционной системы с целью обеспечения более безопасного и устойчивого способа осуществления начальной загрузки клиентов и развертывания операционной системы.
Сущность изобретения
Посредством размещения предустановочной среды на клиенте и посредством размещения внутри этой предустановочной среды компонентов, которые могут выполнить проверку целостности клиента, сервера или файла начальной загрузки, изобретение обеспечивает более безопасный и устойчивый способ осуществления начальной загрузки клиентов и развертывания операционной системы. Помимо этого, возможность для клиентов осуществлять начальную загрузку безопасным образом вне зависимости от состояния операционной системы обеспечивает более безопасный и устойчивый способ осуществления начальной загрузки клиентов и развертывания операционной системы. Таким образом, изобретение удовлетворяет потребность в системе и способе, обеспечивающих внутренний компонент предустановочной среды, который можно использовать для проверки целостности любого из трех или все три из перечисляемых объектов: клиента сервера и файла(ов) начальной загрузки.
В общем, изобретение представляет собой систему и способ для проверки и аутентификации начальных загрузок операционной системы в сетевой среде. Традиционные основывающиеся на сети начальные загрузки не включают в себя компоненты проверки и аутентификации для сервера/клиентов. Настоящее изобретение обеспечивает инфраструктуру трехсторонней аутентификации для проверки и аутентификации сервера/клиента. В изобретении используются средства проверки, такие как цифровые сертификаты, на компонентах, соответствующих как клиенту, так и серверу. Посредством обмена средствами проверки клиент может аутентифицировать себя для сервера, сервер может аутентифицировать себя для клиента, и клиент может удостовериться в том, что действительность файлов начальной загрузки, переданных сервером, должным образом подтверждена.
В соответствии с одним аспектом изобретения предоставляется способ передачи файлов начальной загрузки через сеть от сервера клиенту, имеющему среду предоперационной системы. Способ включает в себя установку сертификата подлинности клиента на клиенте; запрос, выполняемый клиентом через сеть, в отношении того, чтобы сервер передал файлы начальной загрузки этому клиенту; посылку клиентом через сеть установленного сертификата подлинности клиента; аутентификацию клиента, выполняемую сервером, на основе принятого сертификата подлинности клиента; посылку сервером через сеть сертификата подлинности сервера клиенту в качестве ответа на выполнение сервером аутентификации клиента; аутентификацию сервера, выполняемую клиентом, посредством принятого сертификата подлинности сервера; запрос, выполняемый аутентифицированным клиентом через сеть, в отношении того, чтобы аутентифицированный сервер передал файлы начальной загрузки аутентифицированному клиенту; передачу файлов начальной загрузки от аутентифицированного сервера аутентифицированному клиенту в ответ на запрос, выполненный аутентифицированным клиентом; аутентификацию переданных файлов начальной загрузки, выполняемую аутентифицированным клиентом; и исполнение аутентифицированных файлов начальной загрузки аутентифицированным клиентом.
В другой свой форме изобретение представляет собой способ передачи файлов начальной загрузки от сервера клиенту, включающий в себя аутентификацию клиента, выполняемую сервером, аутентификацию сервера, выполняемую клиентом, и передачу файлов начальной загрузки от аутентифицированного сервера аутентифицированному клиенту.
В еще одной своей форме изобретение представляет собой способ передачи файлов начальной загрузки через сеть от сервера клиенту, имеющему среду предоперационной системы. Способ включает в себя установку сертификата подлинности клиента на клиенте; запрос, выполняемый клиентом через сеть, в отношении того, чтобы сервер передал файлы начальной загрузки этому клиенту; посылку клиентом через сеть установленного сертификата подлинности клиента; аутентификацию клиента, выполняемую сервером, посредством принятого сертификата подлинности клиента; и передачу файлов начальной загрузки от сервера аутентифицированному клиенту.
В еще одной своей форме изобретение представляет собой способ передачи файлов начальной загрузки через сеть от сервера клиенту, имеющему среду предоперационной системы, включающий в себя установку сертификата подлинности клиента на клиенте; запрос, выполняемый клиентом через сеть, в отношении того, чтобы сервер передал файлы начальной загрузки этому клиенту; посылку клиентом через сеть установленного сертификата подлинности клиента; и прием клиентом файлов начальной загрузки от сервера.
В еще одной своей форме изобретение представляет собой способ передачи файлов начальной загрузки через сеть от сервера клиенту, имеющему среду предоперационной системы. Способ включает в себя прием сервером через сеть запроса от клиента в отношении того, чтобы сервер передал файлы начальной загрузки этому клиенту; прием сервером через сеть ранее установленного сертификата подлинности клиента; аутентификацию клиента, выполняемую сервером, на основе принятого сертификата подлинности клиента; и передачу файлов начальной загрузки от сервера аутентифицированному клиенту.
В еще одной своей форме изобретение представляет собой способ передачи файлов начальной загрузки через сеть от сервера клиенту, имеющему среду предоперационной системы, включающий в себя запрос, выполняемый клиентом через сеть, в отношении того, чтобы сервер передал файлы начальной загрузки этому клиенту; посылку сервером через сеть установленного сертификата подлинности сервера; аутентификацию сервера, выполняемую клиентом, на основе принятого сертификата подлинности сервера; запрос, выполняемый клиентом через сеть, в отношении того, чтобы аутентифицированный сервер передал файлы начальной загрузки этому клиенту; и передачу файлов начальной загрузки от аутентифицированного сервера клиенту в ответ на запрос, выполненный клиентом.
В еще одной своей форме изобретение представляет собой способ передачи файлов начальной загрузки через сеть от сервера клиенту, имеющему среду предоперационной системы, включающий в себя прием сервером через сеть запроса от клиента, в отношении того, чтобы сервер передал файлы начальной загрузки этому клиенту; прием сервером через сеть ранее установленного сертификата подлинности клиента от клиента; аутентификацию клиента, выполняемую сервером, на основе принятого сертификата подлинности клиента; и посылку сервером через сеть файлов начальной загрузки аутентифицированному клиенту.
В еще одной своей форме изобретение представляет собой способ передачи файлов начальной загрузки через сеть от сервера клиенту, имеющему среду предоперационной системы, включающий в себя запрос, выполняемый клиентом через сеть, в отношении того, чтобы сервер передал файлы начальной загрузки этому клиенту; прием клиентом через сеть от сервера ранее установленного сертификата подлинности сервера; аутентификацию сервера, выполняемую клиентом, на основе принятого сертификата подлинности сервера; запрос, выполняемый клиентом через сеть, в отношении того, чтобы аутентифицированный сервер передал файлы начальной загрузки этому клиенту, и прием клиентом файлов начальной загрузки от аутентифицированного сервера в ответ на запрос, выполненный клиентом.
В еще одной своей форме изобретение представляет собой способ передачи файлов начальной загрузки через сеть от сервера клиенту, имеющему среду предоперационной системы. Способ включает в себя запрос, выполняемый клиентом через сеть, в отношении того, чтобы сервер передал файлы начальной загрузки этому клиенту; передачу файлов начальной загрузки от сервера клиенту в ответ на запрос, выполненный клиентом; аутентификацию переданных файлов начальной загрузки, выполняемую клиентом; и исполнение аутентифицированным клиентом аутентифицированных файлов начальной загрузки.
В еще одной своей форме изобретение представляет собой систему для передачи файлов начальной загрузки, включающую в себя клиента; сервер, имеющий файлы начальной загрузки; программное обеспечение, выполняющее аутентификацию клиента для сервера; программное обеспечение, выполняющее аутентификацию сервера для клиента; и программное обеспечение для передачи файлов начальной загрузки от аутентифицированного сервера аутентифицированному клиенту.
В еще одной своей форме изобретение представляет собой машиночитаемый носитель для передачи через сеть файлов начальной загрузки от сервера клиенту, имеющему среду предоперационной системы. На носителе записаны инструкции для выполнения клиентом запроса через сеть в отношении того, чтобы сервер передал файлы начальной загрузки клиенту; для посылки клиентом через сеть ранее установленного сертификата подлинности клиента; и для приема клиентом файлов начальной загрузки от сервера.
В еще одной своей форме изобретение представляет собой машиночитаемый носитель для передачи через сеть файлов начальной загрузки от сервера клиенту, имеющему среду предоперационной системы. На носителе записаны инструкции для приема сервером запроса от клиента через сеть в отношении того, чтобы сервер передал файлы начальной загрузки клиенту; для приема от клиента через сеть ранее установленного сертификата подлинности клиента; для выполнения сервером аутентификации клиента на основе принятого сертификата подлинности клиента и для передачи сервером файлов начальной загрузки аутентифицированному клиенту.
В еще одной своей форме изобретение представляет собой машиночитаемый носитель для передачи через сеть файлов начальной загрузки от сервера клиенту, имеющему среду предоперационной системы. На носителе записаны инструкции для приема сервером запроса от клиента через сеть в отношении того, чтобы сервер передал файлы начальной загрузки этому клиенту; для приема от клиента через сеть ранее установленного сертификата подлинности клиента; для выполнения сервером аутентификации клиента на основе принятого сертификата подлинности клиента и для пересылки сервером файлов начальной загрузки аутентифицированному клиенту через сеть.
В еще одной своей форме изобретение представляет собой машиночитаемый носитель для передачи через сеть файлов начальной загрузки от сервера клиенту, имеющему среду предоперационной системы, содержащий инструкции для выполнения клиентом запроса через сеть, в отношении того, чтобы сервер передал файлы начальной загрузки этому клиенту; для приема клиентом от сервера через сеть ранее установленного сертификата подлинности сервера; для выполнения клиентом аутентификации сервера на основе принятого сертификата подлинности сервера; для выполнения клиентом запроса в отношении того, чтобы аутентифицированный сервер передал файлы начальной загрузки клиенту; и для приема клиентом файлов начальной загрузки от аутентифицированного сервером через сеть.
В качестве альтернативы изобретение может включать в себя различные другие способы и устройства.
Другие признаки будут отчасти очевидны и отчасти приведены ниже.
Перечень фигур чертежей
Фиг.1 - блок-схема, иллюстрирующая обмен данными между клиентом и сервером согласно настоящему изобретению.
Фиг.2 - блок-схема последовательности операций, иллюстрирующая способ и функционирование системы согласно настоящему изобретению.
Фиг.3 - блок-схема, иллюстрирующая один пример подходящей среды вычислительной системы, в которой можно реализовать настоящее изобретение.
Подробное описание изобретения
Изобретение описывает цифровой сертификат или другое цифровое средство верификации или проверки, хранящееся на клиенте, подлежащем начальной загрузке, и другой цифровой сертификат или другое цифровое средство верификации или проверки, хранящееся на сервере начальной загрузки. Архитектура и способ, соответствующие настоящему изобретению, обеспечивают возможность трехсторонней аутентификации. Клиент, содержащий среду предоперационной системы со встроенным сертификатом, выполняет запрос на получение файлов начальной загрузки от сервера (посредством протокола среды исполнения перед начальной загрузкой или другого соответствующего протокола). Среда исполнения перед начальной загрузкой (PXE) является промышленным стандартом интерфейса между клиентом и сервером, который позволяет администратору удаленно конфигурировать подсоединенные к сети компьютеры, на которых пока не загружена операционная система, и осуществлять их начальную загрузку. Код PXE обычно поставляется с новым компьютером на микросхеме памяти, предназначенной только для считывания, (ROM), или на диске начальной загрузки, который позволяет компьютеру (клиенту) обмениваться данными с сетевым сервером таким образом, чтобы компьютер-клиент можно быть удаленно конфигурировать и можно было выполнить удаленную начальную загрузку его операционной системы. PXE предоставляет три следующих аспекта:
1) протокол динамического конфигурирования хоста (DHCP), который обеспечивает клиенту возможность получить адрес Интернет-протокола (IP-адрес) для получения доступа к сетевым серверам;
2) набор интерфейсов прикладного программирования (API), который используется базовой системой ввода/вывода (BIOS) клиента или загруженной программой сетевой самозагрузки (NBP) клиента, и который автоматизирует начальную загрузку операционной системы и другие этапы конфигурирования.
3) стандартный способ инициализации кода PXE на микросхеме ROM PXE или диске начальной загрузки.
Начальное соединение между сервером и клиентом обычно инициируется по запросу от клиента, хотя подразумеваются и другие сценарии. При наличии начального соединения между сервером и клиентом ни в одном из направлений не установлено доверие, то есть доверие сервера к клиенту и доверие клиента к серверу. После того как сервер принимает запрос от клиента, клиент представляет свои полномочия или сертификат. Затем сервер определяет, является ли представленный клиентом сертификат действительным и неаннулированным. Если он недействителен или аннулирован, то сервер не будет отвечать. Если же он действительный, то сервер ответит своим собственным сертификатом. Затем клиент выполняет схожий анализ для определения подлинности и статуса аннулирования в отношении сервера. Если клиент удостоверяется в том, что сервер является подлинным, то клиент делает последующий запрос на реальный(ые) файл(ы) начальной загрузки. Сервер отвечает файлом, подписанным цифровой подписью. Клиент проверяет файл, используя свой собственный локальный сертификат с целью определения того, является ли этот файл подписанным подлинной подписью. Если цифровая подпись является подлинной, то клиент исполняет файл(ы) начальной загрузки.
Фиг.1 - блок-схема, иллюстрирующая обмен данными между клиентом и сервером согласно изобретению. В частности, на фиг.1 проиллюстрированы система и способ передачи файлов 102 начальной загрузки через сеть 100 от сервера 104 на клиентский компьютер 106, имеющий среду предоперационной системы. В общем случае начальная загрузка представляет собой процесс запуска или перезапуска компьютера. При начальном запуске или перезапуске компьютер исполняет файлы начальной загрузки с целью загрузки и запуска его операционной системы и/или для подготовки компьютера к использованию.
Переданные клиенту 106 файлы 108 начальной загрузки могут исполняться клиентом для создания, повторного создания, изменения, расширения или усовершенствования операционной системы 110 для клиента. В общем случае соответствующая настоящему изобретению аутентификация включает в себя один или более из следующих вариантов: аутентификация клиента 106, выполняемая сервером 104; и/или аутентификация сервера 104, выполняемая клиентом 106; и/или передача аутентифицированных файлов 102 начальной загрузки от аутентифицированного сервера 104 аутентифицированному клиенту 106 для создания на клиенте переданных файлов начальной загрузки, которые можно аутентифицировать и исполнить для воздействия на операционную систему 110 клиента 106.
На фиг.2 изображена последовательность операций, иллюстрирующая способ и функционирование системы согласно настоящему изобретению. Со ссылками на фиг.1 и 2 проиллюстрирован способ передачи через сеть 100 одного или более файлов начальной загрузки от сервера 104 клиенту 106, имеющему среду предоперационной системы. Изначально на этапе 202 на клиенте устанавливают сертификат 112 подлинности клиента. Эта установка (а также любой другой обмен данными между клиентом и сервером) может быть выполнена непосредственно либо через сеть 100. Как показано стрелкой 114 на фиг.1, на этапе 204 клиент выполняет через сеть 100 запрос в отношении того, чтобы сервер 104 передал файлы 102 начальной загрузки клиенту 106, а на этапе 206 клиент представляет свой мандат посредством посылки через сеть установленного сертификата 112 подлинности клиента. На этапе 208 сервер 104 выполняет аутентификацию клиента на основе принятого сертификата 112 подлинности клиента. Если клиент не является подлинным (например, если сертификат клиента недействителен, просрочен или аннулирован), то процесс завершается.
Как показано стрелкой 116 на фиг.1, если сертификат 112 клиента соответствует имеющемуся списку подлинных клиентов, который хранится на сервере или к которому сервер 106 имеет доступ, так что клиент 104 является подлинным для сервера 104, то на этапе 210 сервер 104 посылает клиенту 106 через сеть 100 сертификат 118 подлинности сервера в ответ на аутентификацию клиента, выполненную сервером.
На этапе 212 клиент выполняет аутентификацию сервера 104 на основе сертификата 118 подлинности сервера. Если сервер не является подлинным (например, если сертификат сервера недействителен, просрочен или аннулирован), то процесс завершается. Клиент 106 может выполнить аутентификацию сертификата 118 сервера одним из нескольких путей. Например, сертификат 118 сервера может соответствовать сертификату клиента. С другой стороны, сертификат 118 сервера может соответствовать существующему списку подлинных серверов, который хранится на клиенте или к которому клиент 106 имеет доступ, так что сервер 104 является подлинным для клиента 106. Как показано стрелкой 120 на фиг.1, клиент 106 отвечает серверу 104, если сертификат 118 сервера соответствует или его подлинность подтверждена. В частности, на этапе 214 аутентифицированный клиент выполняет через сеть запрос в отношении того, чтобы аутентифицированный сервер передал файлы 102 начальной загрузки аутентифицированному клиенту. Как показано стрелкой 122 на фиг.1, сервер 104 отвечает посредством добавления подписи к файлам 102 начальной загрузки и передает на этапе 216 подписанные файлы начальной загрузки от аутентифицированного сервера аутентифицированному клиенту в ответ на запрос, выполненный аутентифицированным клиентом.
Далее на этапе 218 аутентифицированный клиент выполняет аутентификацию переданных подписанных файлов начальной загрузки посредством подтверждения того, что файлы начальной загрузки имеют подпись, соответствующую сертификату клиента и/или сертификату сервера. В частности, переданные файлы начальной загрузки должны включать в себя подпись от сервера, соответствующую сертификату подлинности клиента, и клиент удостоверяется в том, что подпись соответствует его сертификату подлинности (см. 124 по фиг.2). Если аутентификация файлов начальной загрузки завершается неуспешно (например, если файлы начальной загрузки некорректно подписаны, недействительны, просрочены или аннулированы), то процесс завершается. На этапе 220 клиент исполняет аутентифицированные файлы начальной загрузки для создания операционной системы 110.
Также подразумевается, что система и способ, соответствующие настоящему изобретению, могут включать в себя только подтверждение полномочий клиента. Этот вариант осуществления реализуется следующим образом. На клиент 106 устанавливают сертификат 112 подлинности клиента. Это может быть выполнено непосредственно либо через сеть 100, либо сервером 104. Клиент выполняет запрос через сеть в отношении того, чтобы сервер передал файлы начальной загрузки этому клиенту. Клиент посылает через сеть установленный сертификат подлинности клиента. Сервер выполняет аутентификацию клиента на основе принятого сертификата подлинности клиента и передает файлы 102 начальной загрузки от сервера аутентифицированному клиенту. В необязательном порядке файлы начальной загрузки могут быть подписаны, и аутентифицированный клиент может выполнить аутентификацию переданных подписанных файлов начальной загрузки перед исполнением этих файлов начальной загрузки.
С точки зрения клиента, система и способ подтверждения полномочий клиента должны включать в себя установленный на клиенте сертификат подлинности клиента. На клиенте должно быть программное обеспечение, выполняющее запрос в отношении того, чтобы сервер передал файлы начальной загрузки клиенту (либо это может быть выполнено посредством вручную вводимого приглашения). Клиент посылает через сеть установленный сертификат подлинности клиента и принимает файлы начальной загрузки от сервера. В необязательном порядке аутентифицированный клиент может выполнить аутентификацию переданных файлов начальной загрузки перед их исполнением.
С точки зрения сервера, система и способ подтверждения полномочий клиента должны включать в себя программное обеспечение на сервере для приема запроса от клиента через сеть в отношении того, чтобы сервер передал файл начальной загрузки клиенту. Это программное обеспечение также должно принимать через сеть сертификат подлинности клиента, ранее установленный на клиенте. Сервер должен включать в себя программное обеспечение для выполнения аутентификации клиента на основе принятого сертификата подлинности клиента. Программное обеспечение сервера затем передает (в необязательном порядке, подписанные) файлы начальной загрузки от сервера аутентифицированному клиенту.
Также подразумевается, что соответствующие настоящему изобретению система и способ могут включать в себя только подтверждение полномочий сервера. В этом варианте осуществления клиент 106 выполняет запрос через сеть 100 в отношении того, чтобы сервер 104 передал файлы начальной загрузки этому клиенту. Сервер посылает клиенту через сеть сертификат 118 подлинности сервера. Клиент выполняет аутентификацию сервера на основе принятого сертификата подлинности сервера. Клиент выполняет запрос через сеть в отношении того, чтобы аутентифицированный сервер передал файлы начальной загрузки через сеть этому клиенту. В ответ на запрос клиента файлы начальной загрузки передают через сеть от аутентифицированного сервера клиенту. В необязательном порядке файлы начальной загрузки могут быть подписаны, чтобы клиент мог выполнить их аутентификацию.
С точки зрения сервера, система и способ подтверждения полномочий сервера должны включать в себя программное обеспечение для приема запроса от клиента через сеть в отношении того, чтобы сервер передал файлы начальной загрузки этому клиенту, программное обеспечение для приема от клиента через сеть ранее установленного сертификата подлинности клиента, программное обеспечение для выполнения аутентификации клиента на основе принятого сертификата подлинности клиента и программное обеспечение для посылки (в необязательном порядке, подписанных) файлов начальной загрузки аутентифицированному клиенту через сеть.
С точки зрения клиента, система и способ подтверждения полномочий сервера должны включать в себя программное обеспечение для выполнения запроса через сеть в отношении того, чтобы сервер передал файлы начальной загрузки клиенту, программное обеспечение для приема от сервера через сеть сертификата подлинности сервера, программное обеспечение для аутентификации сервера на основе принятого сертификата подлинности сервера, программное обеспечение для выполнения запроса в отношении того, чтобы аутентифицированный сервер передал файлы начальной загрузки клиенту и программное обеспечение для приема (в необязательном порядке, подписанных) файлов начальной загрузки от аутентифицированного сервера в ответ на запрос клиента.
Также подразумевается, что соответствующие настоящему изобретению система и способ могут включать в себя только санкционирование файлов начальной загрузки. В этом варианте осуществления клиент 106 выполняет запрос через сеть 100 в отношении того, чтобы сервер 106 передал файлы начальной загрузки 102 этому клиенту. Подписанные файлы начальной загрузки передают от сервера клиенту в ответ на запрос клиента. Клиент выполняет аутентификацию переданных подписанных файлов начальной загрузки и исполняет их.
Имея цифровую подпись или другое цифровое средство верификации, включенное в качестве компонента файлов начальной загрузки, используемых клиентом для создания его операционной системы, можно обеспечить исчерпывающее подтверждение действительности клиента, сервера и файлов начальной загрузки. Независимо от того, хранится ли программное обеспечение клиента на машиночитаемом запоминающем устройстве, предназначенном только для считывания или для считывания/записи, предустановочная среда позволяет:
удостовериться в подлинности сервера;
выполнить аутентификацию на сервере с целью подтверждения подлинности клиента;
удостовериться в целостности файлов начальной загрузки.
В качестве альтернативы, в соответствии с вышесказанным, разные части могут быть реализованы только с подтверждением целостности клиента, только с подтверждением целостности сервера или только с подтверждением целостности файла(ов) начальной загрузки для обеспечения разных уровней безопасности. Одним из соответствующих настоящему изобретению безопасных решений является обеспечение всех трех перечисленных вариантов, тем самым реализуя проверку всех незащищенных этапов процесса.
Нижеследующие руководящие принципы могут быть реализованы для снижения риска в случае неуспешной аутентификации:
Сервер не отвечает клиентам, которые имеют недействительные или аннулированные сертификаты.
Клиент не выдает подтверждение серверам, которые имеют недействительные или аннулированные сертификаты.
Клиент не исполняет файлы начальной загрузки, которые некорректно подписаны. Изобретение особенно применимо для компаний, занимающихся развертыванием сетей, и компаний, занимающихся развертыванием/управлением. Изобретение сфокусировано на защите протокола сетевой начальной загрузки, что представляет собой потребность корпоративных клиентов, которая на была удовлетворена предшествующим уровнем техники.
На фиг.3 показан один пример вычислительного устройства общего назначения в форме компьютера 130, который может быть клиентом 106 или сервером 104. В одном варианте осуществления изобретения компьютер, такой как компьютер 130, пригоден для использования на других чертежах, проиллюстрированных и описанных здесь в качестве клиента и/или сервера. Компьютер 130 имеет один или более процессоров или устройств 132 обработки данных и системную память 134. В иллюстрируемом варианте осуществления системная шина 136 связывает различные компоненты системы, включая системную память 134, с процессорами 132. Шина 136 относится к одному или более из нескольких типов структур шин, включающих в себя шину памяти или контроллер памяти, периферийную шину или порт ускоренной графики и процессорную или локальную шину, использующие любую из разнообразия архитектур шин. В качестве примера, а не ограничения, такие архитектуры включают в себя шину архитектуры, соответствующей промышленному стандарту (ISA), шину микроканальной архитектуры (MCA), расширенную шину ISA (EISA), локальную шину ассоциации по стандартам в области видеоэлектроники (VESA) и шину межсоединения периферийных компонентов (PCI), также известную, как мезонинная шина.
Компьютер 130 обычно имеет по меньшей мере некоторую форму машиночитаемых носителей. Машиночитаемые носители, которые включают в себя как энергозависимые, так и энергонезависимые, как съемные, так и несъемные носители, могут представлять собой любой доступный носитель, к которому компьютер 130 может осуществить доступ. В качестве примера, а не ограничения, к машиночитаемым носителям относятся компьютерные носители данных и среды передачи. Компьютерные носители данных включают в себя энергозависимые и энергонезависимые, съемные и несъемные носители, реализованные любым способом или технологией хранения информации, такой как машиночитаемые команды, структуры данных, программные модули или другие данные. Например, компьютерные носители данных могут включать в себя оперативное запоминающее устройство (ОЗУ), постоянное запоминающее устройство (ПЗУ), электрически стираемое программируемое ПЗУ (EEPROM), флэш-память или память другой технологии, ПЗУ на компакт-диске (CD-ROM), цифровые универсальные диски (DVD) или другой оптический дисковый накопитель, магнитные кассеты, магнитную пленку, магнитный дисковый накопитель или другие магнитные устройства хранения данных, или любой другой носитель, который может использоваться для хранения необходимой информации и к которому компьютер 130 может осуществить доступ. Среды передачи обычно воплощают машиночитаемые команды, структуры данных, программные модули или другие данные в виде сигнала, модулированного данными, такого как несущая волна или другой механизм транспортировки, и включают в себя любые среды доставки информации. Специалистам в данной области техники известен такой модулированный данными сигнал, одна или более характеристик которого установлены или изменены таким образом, чтобы обеспечить кодирование информации в этом сигнале. Проводные среды, такие как проводная сеть или прямое проводное соединение, и беспроводные среды, такие как акустические, радиочастотные и другие беспроводные среды, являются примерами сред передачи. Комбинации любых из вышеприведенных сред также охватываются понятием "машиночитаемый носитель".
Системная память 134 включает в себя машиночитаемые носители в форме съемной и/или несъемной, энергозависимой и/или энергонезависимой памяти. В иллюстрируемом варианте осуществления системная память 134 включает в себя постоянное запоминающее устройство (ПЗУ) 138 и оперативное запоминающее устройство (ОЗУ) 140. Базовая система 142 ввода/вывода (BIOS), содержащая основные процедуры, помогающие переносить информацию между элементами персонального компьютера 130, например, при запуске, хранится в ПЗУ 138. ОЗУ 140 обычно хранит данные и/или программные модули, к которым устройство 132 обработки данных может осуществить оперативный доступ или которые обрабатываются устройством 132 обработки данных в текущий момент. В качестве примера, но не ограничения, фиг.3 иллюстрирует операционную систему 144, прикладные программы 146, другие программные модули 148 и данные 150 программ.
Компьютер 130 может также включать в себя другие съемные/несъемные, энергозависимые/энергонезависимые компьютерные носители данных. Например, на фиг.3 показан накопитель 154 на жестких магнитных дисках, который считывает с несъемных энергонезависимых магнитных носителей или записывает на них, дисковод 158 для магнитного диска, который считывает со сменного энергонезависимого магнитного диска 158 или записывает на него, и дисковод 160 для оптического диска, который считывает со сменного энергонезависимого оптического диска 162, такого как CD-ROM или другой оптический носитель, или записывает на него. Другие съемные/несъемные, энергозависимые/энергонезависимые компьютерные носители данных, которые могут быть использованы в иллюстративной операционной среде, включают в себя, но не в ограничительном смысле, кассеты с магнитной лентой, карты флэш-памяти, цифровые универсальные диски, цифровую видеопленку, твердотельное ОЗУ, твердотельное ПЗУ и т.п. Накопитель 154 на жестких магнитных дисках, дисковод 156 для магнитного диска и дисковод 160 для оптического диска обычно подключены к системной шине 136 посредством интерфейса энергонезависимой памяти, такого как интерфейс 166.
Дисководы, накопители и другие запоминающие устройства большой емкости и соответствующие им компьютерные носители данных, описанные выше и проиллюстрированные на фиг.3, обеспечивают хранение машиноисполняемых инструкций, структур данных, программных модулей и других данных для компьютера 130. На фиг.3, например, накопитель 154 на жестких магнитных дисках показан хранящим операционную систему 170, прикладные программы 172, другие программные модули 174 и данные 176 программ. Следует отметить, что эти компоненты могут либо совпадать с операционной системой 144, прикладными программами 146, другими программными модулями 148 и данными 150 программ, либо отличаться от них. Операционной системе 170, прикладным программам 172, другим программным модулям 174 и данным 176 программ даны здесь другие ссылочные номера с целью иллюстрации того, что, как минимум, они представляют собой другие копии.
Пользователь может вводить команды и информацию в компьютер 130 посредством устройств ввода или устройств выделения на пользовательском интерфейсе, такие как клавиатура 180 и указательное устройство 182 (например, мышь, шаровой манипулятор, перо или сенсорная панель). Другие устройства ввода (не показаны) могут включать в себя микрофон, джойстик, игровую панель, спутниковую параболическую антенну, сканер и т.п. Эти и другие устройства ввода подсоединены к устройству 132 обработки данных посредством интерфейса 184 пользовательского ввода, который подключен к системной шине 136, но могут быть подсоединены посредством других структур интерфейсов и шин, таких как параллельный порт, игровой порт или универсальная последовательная шина (USB). Монитор 188 или устройство отображения другого типа также подсоединены к системной шине 136 через интерфейс, такой как видеоинтерфейс 190. В дополнение к монитору 188 компьютеры часто включают в себя другие периферийные устройства вывода (не показаны), такие как принтер и громкоговорители, которые могут быть подсоединены через периферийный интерфейс вывода (не показан).
Компьютер 130 также может работать в сетевой среде, используя логические соединения с одним или более удаленными компьютерами, например удаленным компьютером 194. Удаленный компьютер 194 может представлять собой персональный компьютер, сервер, маршрутизатор, сетевой ПК, одноранговое устройство или другой обычный сетевой узел и обычно включает в себя многие или все элементы, описанные применительно к компьютеру 130. Логические соединения, показанные на фиг.3, включают в себя локальную сеть (LAN) 196 и глобальную сеть (WAN) 198, но также могут включать в себя другие сети. LAN 136 и/или WAN 138 могут представлять собой проводную сеть, беспроводную сеть, их комбинацию и т.п. Такие сетевые среды обычно имеют место в учреждениях, компьютерных сетях масштаба предприятия, интрасетях и глобальных компьютерных сетях (например, Интернет).
При использовании в среде локальной сети компьютер 130 соединен с LAN 196 через сетевой интерфейс или адаптер 186. При использовании в среде глобальной сети, компьютер 130 обычно включает в себя модем 178 или иное средство для установления связи через WAN 198, такую как Интернет. Модем 178, который может быть внутренним или внешним, подключен к системной шине 136 через интерфейс 184 пользовательского ввода или другой подходящий механизм. В сетевой среде программные модули, показанные применительно к компьютеру 130, или их части могут храниться в удаленном запоминающем устройстве (не показано). В качестве примера, но не ограничения, на фиг.3 показаны удаленные прикладные программы 192 как находящиеся на запоминающем устройстве. Следует понимать, что показанные сетевые соединения являются иллюстративными и могут использоваться другие средства установления линии связи между компьютерами.
В общем случае устройства обработки данных компьютера 130 запрограммированы посредством команд, хранящихся в разные моменты времени на разнообразных машиночитаемых носителях компьютера. Программы и операционные системы обычно распространяются, например, на дискетах или компакт-дисках. После этого их устанавливают или загружают во вторичную память компьютера. При исполнении они загружаются, по меньше мере частично, в основную электронную память компьютера. Описываемое здесь изобретение включает в себя эти и другие разнообразные типы машиночитаемых носителей, когда такие носители содержат команды или программы для реализации этапов, описываемых ниже, совместно с микропроцессором или другим устройством обработки данных. Изобретение также включает в себя сам компьютер, когда он запрограммирован в соответствии с описанными здесь способами и методиками.
В целях иллюстрации программы и другие исполняемые программные компоненты, такие как операционная система, показаны в настоящем описании в виде дискретных блоков. Однако следует понимать, что подобные программы и компоненты в разные моменты времени находятся в разных компонентах хранения данных компьютера и исполняются устройством (устройствами) обработки данных компьютера.
Хотя настоящее изобретение было описано в связи с иллюстративной средой вычислительной системы, включающей в себя компьютер 130, изобретение может функционировать во множестве других сред или конфигураций компьютерных систем общего или специального назначения. Не подразумевается, что среда компьютерной системы налагает какое-либо ограничение на полноту использования или функциональные возможности изобретения. Более того, среда вычислительной системы не должна интерпретироваться как характеризуемая какой-либо зависимостью или требованием в отношении какого-либо компонента или комбинации компонентов, показанных в иллюстративной операционной среде. Примеры широко известных вычислительных систем, сред и/или конфигураций, которые подходят для использования с изобретением, включают в себя, но не в ограничительном смысле, персональные компьютеры, компьютеры-серверы, карманные или портативные устройства, микропроцессорные системы, системы, основанные на микропроцессорах, телевизионные приставки, программируемую бытовую электронику, мобильные телефоны, сетевые персональные компьютеры, миникомпьютеры, универсальные компьютеры (мейнфреймы), распределенные вычислительные среды, которые включают в себя любую из вышеперечисленных систем и устройств, и т.п.
Изобретение может быть описано в общем контексте машиноисполняемых команд, таких как программные модули, исполняемые одним или более компьютерами или другими устройствами. В общем случае программные модули включают в себя, но не в ограничительном смысле, процедуры, программы, объекты, компоненты и структуры данных, которые выполняют конкретные задания или реализуют определенные абстрактные типы данных. Изобретение также может быть реализовано на практике в распределенных вычислительных средах, где задания выполняются удаленными устройствами обработки данных, которые связаны через сеть связи. В распределенной вычислительной среде программные модули могут быть расположены как на локальных, так и на удаленных компьютерных носителях данных, включая запоминающие устройства.
При функционировании компьютер исполняет машиноисполняемые команды, такие как файлы 102 начальной загрузки.
Нижеследующие примеры дополнительно иллюстрируют изобретение. Если компьютер 130 используется в качестве сервера, то его память будет включать в себя сертификат 118 подлинности сервера и, согласно вышесказанному, программное обеспечение для обмена данными с клиентом 106 и для аутентификации клиента 106. Если же компьютер 130 используется в качестве клиента 106, то его память будет содержать сертификат 112 подлинности клиента и, согласно вышесказанному, программное обеспечение для обмена данными с сервером 104, для аутентификации сервера 104 и для исполнения файлов 102 начальной загрузки.
При раскрытии элементов настоящего изобретения или варианта(ов) его осуществления использование элемента в единственном числе подразумевает наличие одного или более таких элементов. Подразумевается, что термины "содержащий", "включающий" или "имеющий" являются включающими и означают, что могут быть дополнительные элементы, отличающиеся от перечисленных элементов.
Ввиду вышесказанного, становится ясно, что некоторые задачи настоящего изобретения решены и достигнуты иные полезные результаты.
Поскольку в вышеприведенных конструкциях, продуктах и способах можно сделать разнообразные изменения, не выходя при этом за рамки объема изобретения, подразумевается, что весь материал, содержащийся в вышеизложенном описании и показанный на сопровождающих чертежах, следует интерпретировать в иллюстративном, а не в ограничительном смысле.