ВЕРИФИКАЦИЯ ИНФОРМАЦИИ ВОЗДУШНОГО ЛЕТАТЕЛЬНОГО АППАРАТА В ОТВЕТ НА СКОМПРОМЕТИРОВАННЫЙ ЦИФРОВОЙ СЕРТИФИКАТ
AIRCRAFT INFORMATION VERIFICATION IN RESPONSE TO COMPROMISED DIGITAL CERTIFICATE

ОБЛАСТЬ ТЕХНИКИ И УРОВЕНЬ ТЕХНИКИ
[0001] Настоящее изобретение в целом относится к системам и способам верифицирования подлинности и целостности информации, используемой на воздушном летательном аппарате. Более конкретно, настоящее изобретение относится к верифицированию подлинности и целостности информации, используемой на воздушном летательном аппарате, когда цифровой сертификат, связанный с этой информацией, известен или есть основания подозревать, что он скомпрометирован.
[0002] Современные воздушные летательные аппараты очень сложны. Например, воздушный летательный аппарат может иметь на борту множество типов электронных систем. Эти системы часто выполнены в форме линейных сменных блоков (line replaceable unit (LRU)). Линейный сменный блок представляет собой объект, который может быть удален из воздушного летательного аппарата и заменен. Линейный сменный блок выполнен с возможностью простой замены.
[0003] Линейный сменный блок может быть выполнен в различных формах. Линейным сменным блоком на воздушном летательном аппарате может быть, например, без ограничения, система управления полетом, автопилот, полетная развлекательная система, система связи, система навигации, прибор управления полетом, бортовой регистратор, система предупреждения столкновений, система поддержки функций технического обслуживания или система поддержки работы экипажа. Различные линейные сменные блоки на воздушном летательном аппарате могут быть частями или подсистемами системы обработки сетевых данных для воздушных летательных аппаратов.
[0004] Линейные сменные блоки могут использовать программное обеспечение или программирование, чтобы обеспечить алгоритм или управление для различных операций и функций. Обычно программное обеспечение на воздушном летательном аппарате рассматривается в качестве одной или более отдельных подсистем или комбинируется с подсистемой аппаратных средств и является неизменяемой без возможности изменения количества подсистем аппаратных средств. Программное обеспечение воздушного летательного аппарата, которое рассматривается в качестве подсистемы воздушного летательного аппарата, может называться загружаемой программной подсистемой для воздушных летательных аппаратов (loadable software aircraft part) или программной подсистемой для воздушных летательных аппаратов (aircraft software part). Программные подсистемы для воздушных летательных аппаратов представляют собой подсистемы конфигурации воздушного летательного аппарата.
[0005] Операторами воздушных летательных аппаратов являются организации, занимающиеся эксплуатацией воздушного летательного аппарата. Операторы воздушных летательных аппаратов также могут быть ответственными за техническое обслуживание и ремонт воздушного летательного аппарата. Примеры операторов воздушных летательных аппаратов включают в себя авиакомпании и военные подразделения. Когда оператор воздушного летательного аппарата принимает воздушный летательный аппарат, программные подсистемы для воздушных летательных аппаратов могут быть уже установлены в линейных сменных блоках на воздушном летательном аппарате.
[0006] Оператор воздушного летательного аппарата также может принимать копии загруженных программных подсистем для воздушных летательных аппаратов в случае, если необходимы повторная установка или повторная загрузка подсистем в линейные сменные блоки на воздушном летательном аппарате. Повторная загрузка программных подсистем для воздушных летательных аппаратов может быть необходимой, например, при замене или ремонте линейного сменного блока, в котором используется программное обеспечение. Кроме того, время от времени оператор воздушного летательного аппарата также может принимать обновления программных подсистем для воздушных летательных аппаратов. Эти обновления могут включать в себя дополнительные признаки, отсутствующие в установленных на настоящий момент программных подсистемах для воздушных летательных аппаратов, и могут считаться обновлениями для одного или более линейных сменных блоков. Во время загрузки программной подсистемы для воздушных летательных аппаратов на воздушный летательный аппарат могут быть выполнены конкретные действия таким образом, что известной является текущая конфигурация воздушного летательного аппарата, включая все программные подсистемы для воздушных летательных аппаратов, загруженные в воздушный летательный аппарат.
[0007] Может быть необходимо, чтобы на воздушном летательном аппарате использовались только одобренное программное обеспечение и другие данные от заслуживающих доверия поставщиков. Не получившее одобрения программное обеспечение и другие данные могут включать в себя данные, которые повреждены, данные, которые заражены вирусом, или другие данные, не получившие одобрения. Не получившее одобрения программное обеспечение и другие данные могут нежелательным образом влиять на работу воздушного летательного аппарата.
[0008] Сети обработки данных могут использовать цифровые сертификаты в инфраструктуре открытых ключей для обеспечения использования только одобренных программного обеспечения и других данных в данной сети. Такие цифровые сертификаты также могут быть известны как сертификаты открытого ключа или сертификаты, удостоверяющие личность. Цифровые сертификаты выпускаются сертифицирующим органом, который считается сетью заслуживающим доверия. Цифровой сертификат идентифицирует источник программного обеспечения или других данных для данной сети таким образом, который заслуживает доверие. Сеть может использовать цифровой сертификат для определения, будет или не будет использовано программное обеспечение или другие данные в данной сети.
[0009] Современные системы и способы верифицирования подлинности и целостности программного обеспечения и других данных для использования в компьютерных сетях полностью наземного базирования могут оказаться непригодными для подвижных систем, таких как воздушный летательный аппарат. Конкретная среда, в которой осуществляют эксплуатацию и техническое обслуживание систем обработки сетевых данных на воздушном летательном аппарате, может затруднять или делать невозможным использование таких современных способов валидации программного обеспечения или других данных для использования в системе обработки сетевых данных для воздушных летательных аппаратов.
[00010] Соответственно, было бы желательно иметь способ и устройство, в которых учитываются по меньшей мере некоторые из проблем, описанных выше, а также другие возможные проблемы.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
[00011] Один вариант реализации настоящего изобретения обеспечивает создание способа верифицирования данных для использования на воздушном летательном аппарате. Множество цифровых сертификатов, связанных с упомянутыми данными, принимают посредством процессорного блока. Процессорный блок определяет, скомпрометирован ли сертификат из указанного множества цифровых сертификатов. Процессорный блок осуществляет выбор выбранного количества из указанного множества цифровых сертификатов в качестве реакции на определение того, что упомянутый сертификат из указанного множества цифровых сертификатов скомпрометирован. Процессорный блок верифицирует данные для использования на воздушном летательном аппарате с использованием указанного выбранного количества из указанного множества цифровых сертификатов.
[00012] Еще один вариант реализации настоящего изобретения обеспечивает создание устройства, содержащего модуль верификации данных. Модуль верификации данных выполнен с возможностью приема множества цифровых сертификатов, связанных с данными, для использования на воздушном летательном аппарате, определения, скомпрометирован ли сертификат из указанного множества цифровых сертификатов, осуществления выбора выбранного количества из указанного множества цифровых сертификатов в качестве реакции на определение того, что упомянутый сертификат из указанного множества цифровых сертификатов скомпрометирован, и верифицирования данных для использования на воздушном летательном аппарате с использованием указанного выбранного количества из указанного множества цифровых сертификатов.
[00013] Еще один вариант реализации настоящего изобретения обеспечивает создание способа верифицирования данных для использования на воздушном летательном аппарате. Множество цифровых сертификатов, связанных с упомянутыми данными, принимают посредством процессорного блока. Процессорный блок определяет, скомпрометирован ли сертификат из указанного множества цифровых сертификатов. Процессорный блок осуществляет выбор правила кворума, причем правило кворума является первым правилом кворума, выбираемым в качестве реакции на определение того, что ни один сертификат из указанного множества цифровых сертификатов не скомпрометирован, и вторым правилом кворума, выбираемым в качестве реакции на определение того, что упомянутый сертификат из указанного множества цифровых сертификатов скомпрометирован. Процессорный блок верифицирует данные для использования на воздушном летательном аппарате с использованием выбранного количества из указанного множества цифровых сертификатов, как задано правилом кворума.
[00014] Указанные признаки и функции могут быть реализованы независимо в различных вариантах осуществления настоящего изобретения или могут быть скомбинированы с получением других вариантов осуществления изобретения, дополнительные подробности которых могут быть очевидными при обращении к последующему описанию и чертежам.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[00015] Признаки иллюстративных вариантов реализации изобретения, обеспечивающие новизну по сравнению с уровнем техники, изложены в прилагаемой формуле изобретения. При этом иллюстративные варианты реализации изобретения, а также предпочтительный режим их применения, дополнительные цели и преимущества будут лучше поняты из следующего подробного описания иллюстративного варианта реализации изобретения при рассмотрении вместе с сопровождающими чертежами, на которых:
[00016] на ФИГ. 1 показана иллюстрация блок-схемы среды технического обслуживания воздушного летательного аппарата в соответствии с иллюстративным вариантом реализации изобретения;
[00017] на ФИГ. 2 показана иллюстрация блок-схемы правил кворума в соответствии с иллюстративным вариантом реализации изобретения;
[00018] на ФИГ. 3 показана иллюстрация блок-схемы верификации данных с использованием множества цифровых сертификатов и списка допустимых сертифицирующих органов в соответствии с иллюстративным вариантом реализации изобретения;
[00019] на ФИГ. 4 показана иллюстрация блок-схемы верификации данных с использованием множества цифровых сертификатов и правил кворума в соответствии с иллюстративным вариантом реализации изобретения;
[00020] на ФИГ. 5 показана иллюстрация блок-схемы верификации данных в качестве реакции на скомпрометированный сертифицирующий орган в соответствии с иллюстративным вариантом реализации изобретения;
[00021] на ФИГ. 6 показана иллюстрация структурной схемы процесса подписывания данных для использования на воздушном летательном аппарате в соответствии с иллюстративным вариантом реализации изобретения;
[00022] на ФИГ. 7 показана иллюстрация структурной схемы процесса верифицирования данных для использования на воздушном летательном аппарате в соответствии с иллюстративным вариантом реализации изобретения и
[00023] на ФИГ. 8 показана иллюстрация системы обработки данных в соответствии с иллюстративным вариантом реализации изобретения.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
[00024] В иллюстративных вариантах реализации изобретения рассматриваются и учитываются одно или более различных соображений. "Количество", как использовано в настоящем документе в отношении объектов, означает один или более объектов. Например, "количество различных соображений" означает одно или более различных соображений.
[00025] В различных иллюстративных вариантах реализации изобретения рассматривается и учитывается, что современные системы на основе инфраструктуры открытых ключей могут быть структурированы вокруг сертификатов, полученных от сертифицирующего органа, выпускающего особые корневые сертификаты. Использование особых сертификатов может создать систему, в которой неправильная конфигурация или атака может привести к прекращению работы этой системы.
[00026] В различных иллюстративных вариантах реализации изобретения также рассматривается и учитывается, что оператор воздушного летательного аппарата может отдавать предпочтение определенным сертифицирующим органам и может не доверять другим сертифицирующим органам. Следовательно, может быть желательным обеспечить оператору воздушного летательного аппарата возможность использовать сертификаты от сертифицирующих органов, которые являются допустимыми для верификации оператором программного обеспечения и других данных для использования на воздушном летательном аппарате, эксплуатируемом этим оператором.
[00027] В различных иллюстративных вариантах реализации изобретения также рассматривается и учитывается, что могут существовать методы контроля, которые позволяют обнаружить компрометирование сертифицирующего органа, выпускающего корневые сертификаты. Может быть желательным учитывать известное или подозреваемое компрометирование сертифицирующего органа для верификации программного обеспечения или других данных для использования на воздушном летательном аппарате.
[00028] Следовательно, один или более иллюстративных вариантов реализации изобретения обеспечивают создание системы и способа валидации подлинности и целостности программного обеспечения и других данных для использования на воздушном летательном аппарате с использованием множества цифровых сертификатов из множества сертифицирующих органов. В соответствии с иллюстративными вариантами реализации изобретения программное обеспечение или другие данные могут быть валидированы для использования на воздушном летательном аппарате, если определено, что некоторое количество из указанного множества сертификатов, связанных с упомянутыми данными, которое удовлетворяет правилу кворума, является валидным. Правила, задающие кворум, необходимый для валидации, могут быть выбраны в качестве реакции на определение того, что указанный сертифицирующий орган может быть скомпрометированным.
[00029] Со ссылкой на ФИГ. 1 показана иллюстрация блок-схемы среды технического обслуживания воздушного летательного аппарата в соответствии с иллюстративным вариантом реализации изобретения. В этом примере, среда 100 технического обслуживания воздушного летательного аппарата может быть выполнена для технического обслуживания воздушного летательного аппарата 102.
[00030] Воздушный летательный аппарат 102 может представлять собой любой соответствующий тип воздушных летательных аппаратов. Например, без ограничения, воздушный летательный аппарат 102 может быть коммерческим или частным пассажирским воздушным летательным аппаратом, грузовым воздушным летательным аппаратом, военным или другим правительственным воздушным летательным аппаратом, или любым другим воздушным летательным аппаратом, выполненным для любой соответствующей задачи или миссии. Воздушный летательный аппарат 102 может быть выполнен с неподвижным крылом, поворотным крылом или легче воздуха. Воздушный летательный аппарат 102 может быть пилотируемым воздушным летательным аппаратом или беспилотным воздушным транспортным средством.
[00031] Воздушный летательный аппарат 102 является одним примером платформы 104, в которой может быть реализован иллюстративный вариант изобретения. Платформой 104 может быть транспортное средство или другая передвижная конструкция. Например, без ограничения, платформой 104 может быть аэрокосмическое транспортное средство, которое способно перемещаться в воздухе, в космосе или в воздухе и в космосе. В качестве еще одного примера, без ограничения, платформой 104 может быть транспортное средство, способное перемещаться по земле, по поверхности воды, под водой или в любой другой среде или комбинации сред. Еще в одном иллюстративном варианте реализации изобретения платформой 104 может быть неподвижная система. Например, без ограничения, платформой 104 может быть промышленная система управления или другая в целом неподвижная система.
[00032] Воздушный летательный аппарат 102 может использовать данные 106 для работы воздушного летательного аппарата 102. Например, данные 106 могут включать в себя программное обеспечение 108, другие данные 110 или различные комбинации данных. Например, без ограничения, программное обеспечение 108 может включать в себя программные подсистемы для воздушных летательных аппаратов для использования в линейных сменных блоках на воздушном летательном аппарате 102. Например, без ограничения, другие данные 110 могут включать в себя данные построения соответствий или другие данные или комбинации данных для использования воздушным летательным аппаратом 102.
[00033] Данные 106 могут быть использованы множеством систем 112 на воздушном летательном аппарате 102. Например, без ограничения, множество систем 112 может включать в себя автопилот, систему управления полетом, систему связи, систему управления санитарно-гигиеническими средствами, другие системы или различные комбинации систем для выполнения различных функций на воздушном летательном аппарате 102.
[00034] Данные 106 могут быть предоставлены поставщиком 114 данных. Поставщиком 114 данных может быть любая организация, уполномоченная для предоставления данных 106 для использования на воздушном летательном аппарате 102 или загрузки данных 106 на воздушный летательный аппарат 102. Например, без ограничения, поставщик 114 данных может включать в себя поставщика программного обеспечения, организацию, осуществляющую техническое обслуживание воздушных летательных аппаратов, оператора воздушных летательных аппаратов, производителя воздушных летательных аппаратов или любую другую организацию или комбинацию организаций, уполномоченных предоставлять данные 106 для использования на воздушном летательном аппарате 102. Поставщиком 114 данных может быть любая организация или комбинация организаций, ответственная за техническое обслуживание воздушного летательного аппарата 102. Поставщик 114 данных может быть или может не быть владельцем воздушного летательного аппарата 102. Поставщик 114 данных может включать в себя организацию, действующую от лица владельца воздушного летательного аппарата 102, по предоставлению данных 106 для использования на воздушном летательном аппарате 102.
[00035] Поставщик 114 данных может предоставлять данные 106 в пакете 116 данных для загрузки на воздушный летательный аппарат 102. Например, пакет 116 данных может включать в себя данные 106 вместе с множеством цифровых сертификатов 118 для данных 106. В этом примере, без ограничения, множество цифровых сертификатов 118 может включать в себя сертификат 120, сертификат 122 и сертификат 124. Множество цифровых сертификатов 118 может включать в себя любое соответствующее количество цифровых сертификатов. Например, множество цифровых сертификатов 118 может включать в себя два или более трех цифровых сертификатов.
[00036] Множество цифровых сертификатов 118 может поступать от множества сертифицирующих органов 126. Например, сертификат 120 может поступать от сертифицирующего органа 128. Сертификат 122 может поступать от сертифицирующего органа 130. Сертификат 124 может поступать от сертифицирующего органа 132.
[00037] Модуль 134 верификации данных может быть выполнен с возможностью использования множества цифровых сертификатов 118, чтобы верифицировать данные 106 для использования на воздушном летательном аппарате 102. Например, модуль 134 верификации данных может быть реализован в системе 136 обработки сетевых данных для воздушных летательных аппаратов на воздушном летательном аппарате 102.
[00038] Модуль 134 верификации данных может быть выполнен с возможностью использования списка допустимых сертифицирующих органов 138, чтобы идентифицировать количество сертификатов от допустимых сертифицирующих органов 140, чтобы использовать для верифицикации данных 106, для использования на воздушном летательном аппарате 102. Количественная оценка множества цифровых сертификатов 118, в отношении которых необходимо определить валидность для верификации данных 106, может быть задана правилами 142 кворума. Модуль 134 верификации данных может быть выполнен с возможностью осуществления выбора правила 144 кворума из правил 142 кворума для верификации данных 106 на основе количества систем 112, в которых данные 106 будут использованы, места расположения воздушного летательного аппарата 102, когда данные 106 загружают в воздушный летательный аппарат 102, других факторов или различных комбинаций факторов.
[00039] Иллюстрация по ФИГ. 1 не предназначена для наложения архитектурных ограничений на способ, которым могут быть реализованы различные иллюстративные варианты реализации изобретения. Могут быть использованы другие компоненты в дополнение к проиллюстрированным, вместо проиллюстрированных или как в дополнение, так и вместо проиллюстрированных. Некоторые компоненты могут не использоваться в некоторых иллюстративных вариантах реализации изобретения. Также, блоки представлены для иллюстрации некоторых функциональных компонентов. Один или более из этих блоков могут быть скомбинированы или разделены на различные блоки при практическом осуществлении различных иллюстративных вариантов реализации изобретения.
[00040] Со ссылкой на ФИГ. 2 показана иллюстрация блок-схемы правил кворума в соответствии с иллюстративным вариантом реализации изобретения. В этом примере, правила 200 кворума могут быть примером одного осуществления правил 142 кворума по ФИГ. 1.
[00041] Правила 200 кворума могут быть заданы для различных характеристик или условий воздушного летательного аппарата.
Например, без ограничения, правила 200 кворума могут быть заданы для оператора 202 воздушных летательных аппаратов, для организации 204, осуществляющей техническое обслуживание воздушных летательных аппаратов, для типа 206 воздушного летательного аппарата, для систем 208 воздушного летательного аппарата, в которых данные будут использованы, для места 210 расположения воздушного летательного аппарата или для других характеристик или комбинации характеристик воздушного летательного аппарата. Конкретные правила 200 кворума могут быть заданы для использования в качестве реакции на известное или подозреваемое компрометирование 212 сертифицирующего органа.
[00042] Со ссылкой на ФИГ. 3 показана иллюстрация блок-схемы верификации данных с использованием множества цифровых сертификатов и списка допустимых сертифицирующих органов в соответствии с иллюстративным вариантом реализации изобретения. Например, верификация 300 данных может быть выполнена с использованием модуля 134 верификации данных по ФИГ. 1.
[00043] В этом примере, пакет 302 данных, предназначенных для верифицирования, может включать в себя сертификат А 304, сертификат В 306 и сертификат С 308. Список допустимых сертифицирующих органов 310 может указывать на то, что только сертификаты от сертифицирующего органа А 312 и сертифицирующего органа В 314 являются допустимыми для использования при верификации 300 данных. В этом случае сертификат С 308 выдан ни от сертифицирующего органа А 312, ни от сертифицирующего органа В 314. Таким образом, сертификат С 308 не будет использован для верификации 300 данных. В этом примере, пакет 302 данных может быть верифицирован в качестве реакции на определение того, что сертификат А или В является валидным 316.
[00044] Со ссылкой на ФИГ. 4 показана иллюстрация блок-схемы верификации данных с использованием множества цифровых сертификатов и правил кворума в соответствии с иллюстративным вариантом реализации изобретения. Например, верификация 400 данных может быть выполнена с использованием модуля 134 верификации данных по ФИГ. 1.
[00045] В этом примере, пакет 402 данных, предназначенных для верифицирования, может включать в себя сертификат А 404, сертификат В 406 и сертификат С 408. Правила 410 кворума могут указывать на то, что пакет 402 данных может быть верифицирован, если по меньшей мере два из трех сертификатов являются валидными 412. Таким образом, в этом примере пакет 402 данных может быть верифицирован в качестве реакции на определение того, что сертификаты А и В являются валидными 414, сертификаты А и С являются валидными 416, сертификаты В и С являются валидными 418 или сертификаты А, и В, и С являются валидными 420.
[00046] Со ссылкой на ФИГ. 5 показана иллюстрация блок-схемы верификации данных в качестве реакции на скомпрометированный сертифицирующий орган в соответствии с иллюстративным вариантом реализации изобретения. Например, верификация 500 данных может быть выполнена с использованием модуля 134 верификации данных по ФИГ. 1.
[00047] В этом примере, пакет 502 данных, предназначенных для верифицирования, может включать в себя сертификат А 504, сертификат В 506 и сертификат С 508. Правила 510 кворума могут указывать на то, что пакет 502 данных может быть верифицирован, если по меньшей мере два из трех сертификатов являются валидными 512. Однако в этом случае доступная информация указывает на то, что сертифицирующий орган А скомпрометирован 514. Правила 510 кворума также указывают на то, что если сертифицирующий орган скомпрометирован 516, то соответствующее правило кворума для использования меняется с "по меньшей мере два из трех сертификатов являются валидными" 512 на "все нескомпрометированные являются валидными" 518. Таким образом, в этом примере пакет 502 данных может быть верифицирован только в качестве реакции на определение того, что сертификаты В и С являются валидными 520.
[00048] Со ссылкой на ФИГ. 6 показана иллюстрация структурной схемы процесса подписывания данных для использования на воздушном летательном аппарате в соответствии с иллюстративным вариантом реализации изобретения. Например, без ограничения, процесс 600 может быть выполнен поставщиком 114 данных по ФИГ. 1.
[00049] Может быть осуществлен прием данных для воздушного летательного аппарата (операция 602). Данные могут быть подписаны множеством цифровых подписей из множества сертифицирующих органов (операция 604). Данные и указанное множество сертификатов затем могут быть отправлены на воздушный летательный аппарат (операция 606), после чего процесс завершают.
[00050] Со ссылкой на ФИГ. 7 показана иллюстрация структурной схемы процесса верифицирования данных для использования на воздушном летательном аппарате в соответствии с иллюстративным вариантом реализации изобретения. В этом примере, процесс 700 может быть выполнен модулем 134 верификации данных по ФИГ. 1.
[00051] Принимают пакет данных, включающий множество цифровых сертификатов (операция 702). Может быть определено, поступил ли какой-либо из сертификатов не от допустимых сертифицирующих органов (операция 704). Если определено, что какой-либо из сертификатов поступил не от допустимых сертифицирующих органов, то для верификации пакета данных могут быть использованы только сертификаты, поступившие от допустимых сертифицирующих органов (операция 706). В противном случае для верификации могут быть использованы все из принятых цифровых сертификатов (операция 708).
[00052] Может быть осуществлен выбор подходящего правила кворума для верификации (операция 710). Может быть определено, существует ли какое-либо указание на то, что сертифицирующий орган может быть скомпрометированным (операция 712). Альтернативное правило кворума может быть выбрано для верификации в качестве реакции на определение того, что сертифицирующий орган может быть скомпрометированным (операция 714). В противном случае для верификации может быть использовано правило кворума, выбранное при операции 710 (операция 716).
[00053] Затем может быть определено, удовлетворено ли выбранное правило кворума (операция 718). Если выбранное правило кворума удовлетворено, подлинность и целостность данных могут считаться верифицированными (операция 720), после чего процесс завершают. В противном случае подлинность и целостность данных не могут быть верифицированы (операция 722), после чего процесс завершают.
[00054] Со ссылкой на ФИГ. 8 показана иллюстрация системы обработки данных в соответствии с иллюстративным вариантом реализации изобретения. В этом примере, система 800 обработки данных является примером одного осуществления системы обработки данных в системе 136 обработки сетевых данных для воздушных летательных аппаратов по ФИГ. 1. Система 800 обработки данных является примером одного осуществления системы обработки данных, в которой может быть реализован модуль 134 верификации данных по ФИГ. 1.
[00055] В этом иллюстративном примере система 800 обработки данных включает в себя коммутационную систему 802 связи. Коммутационная система 802 связи обеспечивает сообщение между процессорным блоком 804, запоминающим устройством 806, устройством 808 постоянного хранения, блоком 810 связи, блоком 812 ввода/вывода (I/O) и дисплеем 814. Запоминающее устройство 806, устройство 808 постоянного хранения, блок 810 связи, блок 812 ввода/вывода (I/O) и дисплей 814 являются примерами ресурсов, доступных посредством процессорного блока 804 через коммутационную систему 802 связи.
[00056] Процессорный блок 804 служит для запуска инструкций для программного обеспечения, которое может быть загружено в запоминающее устройство 806. Процессорный блок 804 может содержать множество процессоров, мультипроцессорное ядро и/или некоторые другие типы процессора, в зависимости от конкретной реализации. Кроме того, процессорный блок 804 может быть реализован с использованием множества разнородных процессорных систем, в которых главный процессор выполнен на одном чипе со вспомогательными процессорами. В качестве еще одного иллюстративного примера, процессорный блок 804 может быть симметричной многопроцессорной системой, содержащей множество процессоров одного типа.
[00057] Запоминающее устройство 806 и устройство 808 постоянного хранения являются примерами устройств 816 хранения. Устройство хранения представляет собой любую часть аппаратных средств, которые выполнены с возможностью сохранения информации, такой как, например, без ограничения, данные программного кода в функциональной форме, и другой подходящей информации как на постоянной, так и на временной основе. Устройства 816 хранения в этих примерах могут также называться компьютерочитаемыми устройствами хранения. Запоминающее устройство 806 в этих примерах может представлять собой, например, оперативное запоминающее устройство или любое другое подходящее энергозависимое или энергонезависимое устройство хранения. Устройство 808 постоянного хранения может иметь различные формы в зависимости от конкретной реализации.
[00058] Например, устройство 808 постоянного хранения может содержать один или более компонентов или устройств. Например, устройством 808 постоянного хранения может быть жесткий диск, флэш-память, перезаписываемый оптический диск, перезаписываемая магнитная лента или какая-либо комбинация указанного выше. Носители, используемые устройством 808 постоянного хранения, также могут быть съемными. Например, для устройства 808 постоянного хранения может быть использован съемный жесткий диск.
[00059] Блок 810 связи в этих примерах обеспечивает возможность сообщения с другими системами или устройствами обработки данных. В этих примерах блок 810 связи является сетевой интерфейсной картой. Блок 810 связи может обеспечивать связь с использованием физических линий связи, беспроводных линий связи или их комбинации.
[00060] Блок 812 ввода/вывода обеспечивает возможность приема входных данных от других устройств или отправки выходных данных на другие устройства, которые могут быть соединены с системой 800 обработки данных. Например, блок 812 ввода/вывода может обеспечивать соединение для ввода пользовательских данных с помощью клавиатуры, мыши и/или какого-либо иного соответствующего устройства ввода. Кроме того, блок 812 ввода/вывода может отправлять выходные данные на принтер. Дисплей 814 выполнен с возможностью отображения информации для пользователя.
[00061] Инструкции для операционной системы, приложений и/или программ могут быть размещены в устройствах 816 хранения, которые сообщаются с процессорным блоком 804 через коммутационную систему 802 связи. В этих иллюстративных примерах инструкции находятся в функциональной форме на устройстве 808 постоянного хранения. Эти инструкции могут быть загружены в запоминающее устройство 806 для выполнения посредством процессорного блока 804. Процессы различных иллюстративных вариантов реализации изобретения могут быть выполнены посредством процессорного блока 804 с использованием инструкций, реализуемых на компьютере, которые могут быть расположены в запоминающем устройстве, таком как запоминающее устройство 806.
[00062] Эти инструкции могут упоминаться как программные инструкции, программный код, используемый компьютером программный код или компьютерочитаемый программный код, который может быть считан или выполнен процессором в процессорном блоке 804. Программный код в различных вариантах реализации настоящего изобретения может быть реализован в различных физических или компьютерочитаемых носителях для хранения, таких как запоминающее устройство 806 или устройство 808 постоянного хранения.
[00063] Программный код 818 находится в функциональной форме на компьютерочитаемом носителе 820, который выполнен с возможностью выборочного извлечения и может быть загружен или передан в систему 800 обработки данных для выполнения посредством процессорного блока 804. Программный код 818 и компьютерочитаемый носитель 820 в этих примерах формируют компьютерный программный продукт 822. В одном примере компьютерочитаемым носителем 820 может быть компьютерочитаемый носитель 824 для хранения или компьютерочитаемый носитель 826 для сигнала.
[00064] Компьютерочитаемый носитель 824 для хранения может включать в себя, например, оптический или магнитный диск, который вводится или размещается в дисковод или другое устройство, являющееся частью устройства 808 постоянного хранения, для переноса на устройство хранения, такое как жесткий диск, которое является частью устройства 808 постоянного хранения. Компьютерочитаемый носитель 824 для хранения также может иметь форму устройства постоянного хранения, такого как жесткий диск, флэш-накопитель или флэш-память, соединенного с системой 800 обработки данных. В некоторых примерах компьютерочитаемый носитель 824 для хранения может быть выполнен без возможности извлечения из системы 800 обработки данных.
[00065] В этих примерах компьютерочитаемый носитель 824 для хранения является физическим или материальным устройством хранения, используемым для хранения программного кода 818, а не средством распространения или передачи программного кода 818. Компьютерочитаемый носитель 824 для хранения также называется компьютерочитаемым материальным устройством хранения или компьютерочитаемым физическим устройством хранения. Иными словами, компьютерочитаемый носитель 824 для хранения представляет собой носитель, до которого человек может дотронуться.
[00066] В альтернативном варианте реализации изобретения программный код 818 может быть передан в систему 800 обработки данных с использованием компьютерочитаемого носителя 826 для сигнала. Компьютерочитаемый носитель 826 для сигнала может представлять собой, например, распространяемый сигнал данных, содержащий программный код 818. Например, компьютерочитаемым носителем 826 для сигнала может быть электромагнитный сигнал, оптический сигнал или любой другой подходящий тип сигнала. Эти сигналы данных могут быть переданы через линии связи, такие как линии беспроводной связи, волоконно-оптический кабель, коаксиальный кабель, провод или любой другой подходящий тип линии связи. Иными словами, в этих иллюстративных примерах линия связи или связь может быть физической или беспроводной.
[00067] В некоторых иллюстративных вариантах реализации изобретения программный код 818 может быть загружен по сети в устройство 808 постоянного хранения из другого устройства или системы обработки данных через компьютерочитаемый носитель 826 для сигнала для использования внутри системы 800 обработки данных. Например, программный код, сохраненный в компьютерочитаемом носителе для хранения в серверной системе обработки данных, может быть загружен по сети из указанного сервера в систему 800 обработки данных. Система обработки данных, обеспечивающая программный код 818, может представлять собой серверный компьютер, клиентский компьютер или какое-либо другое устройство, выполненное с возможностью хранения и передачи программного кода 818.
[00068] Различные компоненты, показанные для системы 800 обработки данных, не предназначены для наложения архитектурных ограничений на способ, которым иллюстративные варианты изобретения могут быть реализованы. Различные иллюстративные варианты реализации изобретения могут быть реализованы в системе обработки данных, включающей в себя компоненты в дополнение и/или вместо тех, которые показаны в виде иллюстраций для системы 800 обработки данных. Другие компоненты, изображенные на ФИГ. 8, могут отличаться от показанных иллюстративных примеров. Различные варианты реализации изобретения могут быть реализованы с использованием любого аппаратного устройства или системы, выполненного/выполненной с возможностью запуска программного кода. В качестве одного примера, система 800 обработки данных может включать в себя органические компоненты, встроенные в неорганические компоненты, и/или может состоять целиком из органических компонентов, за исключением человека. Например, устройство хранения может состоять из органического полупроводника.
[00069] Еще в одном иллюстративном примере процессорный блок 504 может иметь форму аппаратного блока, который имеет схемы, изготовленные или сконфигурированные для конкретного применения. Этот тип аппаратных средств может выполнять операции без необходимости загрузки программного кода в запоминающее устройство из устройства хранения, которое необходимо конфигурировать для выполнения указанных операций.
[00070] Например, когда процессорный блок 804 имеет форму блока аппаратных средств, процессорный блок 804 может быть выполнен в виде системы замыкания, специализированной интегральной схемы (ASIC), программируемого логического устройства или аппаратных средств какого-либо другого соответствующего типа, выполненных для выполнения множества операций. С программируемым логическим устройством рассматриваемое устройство выполнено для выполнения указанного множества операций. Конфигурация рассматриваемого устройства может быть изменена позднее или устройство может иметь постоянную конфигурацию для выполнения указанного множества операций. Примеры программируемых логических устройств включают в себя, например, программируемую матрицу логических элементов, программируемую матричную логическую схему, логическую матрицу с эксплуатационным программированием, программируемую пользователем вентильную матрицу и другие соответствующие аппаратные устройства. При таком типе осуществления программный код 818 может не использоваться, поскольку процессы для различных вариантов осуществления реализуются в блоке аппаратных средств.
[00071] Еще в одном иллюстративном примере процессорный блок 804 может быть реализован с использованием комбинации процессоров, находящихся в компьютерах, или блока аппаратных средств. Процессорный блок 804 может иметь множество блоков аппаратных средств и множество процессоров, которые выполнены с возможностью запуска программного кода 818. В этом описанном примере некоторые из процессоров могут быть реализованы множеством блоков аппаратных средств, а другие процессоры могут быть реализованы множеством процессоров.
[00072] В другом примере системы на основе шины могут быть использованы для реализации коммутационной системы 802 связи и могут содержаться в одной или более шинах, таких как системная шина или шина ввода/вывода. Конечно, системы на основе шины могут быть реализованы с использованием любого подходящего типа архитектуры, которая обеспечивает возможность переноса данных между различными компонентами или устройствами, прикрепленными к системе, выполненной на основе шины.
[00073] Дополнительно, блок 810 связи может включать в себя множество устройств, которые передают данные, принимают данные или передают и принимают данные. Блоком 810 связи может быть, например, модем или сетевой адаптер, два сетевых адаптера или какая-либо комбинация указанного. Кроме того, запоминающее устройство может представлять собой, например, запоминающее устройство 806 или кэш-память, например, находящуюся в интерфейсе и концентраторе контроллера памяти, который может находиться в коммутационной системе 802 связи.
[00074] Описание различных иллюстративных вариантов реализации изобретения было представлено в целях иллюстрации и это описание не является исчерпывающим или ограничивающимся раскрытыми формами реализации настоящего изобретения. Многие модификации и изменения будут очевидны специалистам в данной области техники. Кроме того, различные иллюстративные варианты реализации изобретения могут обеспечивать различные признаки по сравнению с другими иллюстративными вариантами реализации изобретения. Вариант или варианты реализации изобретения выбраны и описаны для того, чтобы лучше объяснить принципы его осуществления, практического применения и дать представление специалистам о различных вариантах с различными модификациями, которые подходят для конкретного использования изобретения другими специалистами в данной области техники.
Примечание: следующие параграфы описывают дальнейшие аспекты настоящего изобретения:
А1. Способ верифицирования данных (106) для использования на воздушном летательном аппарате (102), согласно которому:
принимают, посредством процессорного блока (804), множество цифровых сертификатов (118), связанных с упомянутыми данными (106); и
верифицируют, посредством процессорного блока (804), упомянутые данные (106) для использования на воздушном летательном аппарате (102) с использованием выбранного количества из указанного множества цифровых сертификатов (118).
А2. Способ по пункту А1, согласно которому указанное множество цифровых сертификатов (118) взято от множества сертифицирующих органов (126) и согласно которому дополнительно осуществляют выбор указанного выбранного количества из указанного множества цифровых сертификатов (118) с использованием списка допустимых сертифицирующих органов (138).
A3. Способ по пункту А1, согласно которому верифицирование упомянутых данных (106) для использования на воздушном летательном аппарате (102) с использованием указанного выбранного количества из указанного множества цифровых сертификатов (118) включает определение валидности по меньшей мере заданного количества из указанного выбранного количества из указанного множества цифровых сертификатов (118).
А4. Способ по пункту A3, согласно которому заданное количество задают посредством правила (144) кворума.
А5. Способ по пункту А4, согласно которому дополнительно:
осуществляют выбор правила (144) кворума из множества правил (142) кворума на основе системы на воздушном летательном аппарате (102), в которой упомянутые данные (106) будут использованы.
А6. Способ по пункту А4, согласно которому дополнительно:
осуществляют выбор правила (144) кворума из множества правил (142) кворума на основе места расположения воздушного летательного аппарата (102).
А7. Способ по пункту А1, согласно которому упомянутые данные (106) содержат программное обеспечение (108) для использования на воздушном летательном аппарате (102).
А8. Способ по пункту А1, согласно которому процессорный блок (804) является процессорным блоком (804) в системе (136) обработки сетевых данных для воздушных летательных аппаратов на воздушном летательном аппарате (102).
А9. Устройство, содержащее:
модуль (134) верификации данных, выполненный с возможностью приема множества цифровых сертификатов (118), связанных с данными (106), для использования на воздушном летательном аппарате (102) и чтобы верифицировать данные (106) для использования на воздушном летательном аппарате (102) с использованием выбранного количества из указанного множества цифровых сертификатов (118).
А10. Устройство по пункту А9, в котором указанное множество цифровых сертификатов (118) взято от множества сертифицирующих органов (126) и в котором модуль (134) верификации данных дополнительно выполнен с возможностью осуществления выбора указанного выбранного количества указанного множества цифровых сертификатов (118) с использованием списка допустимых сертифицирующих органов (138).
A11. Устройство по пункту А9, в котором модуль (134) верификации данных выполнен с возможностью определения валидности по меньшей мере заданного количества из указанного выбранного количества указанного множества цифровых сертификатов (118).
А12. Устройство по пункту A11, в котором заданное количество задано посредством правила (144) кворума.
А13. Устройство по пункту А12, в котором модуль (134) верификации данных выполнен с возможностью осуществления выбора правила (144) кворума из множества правил (142) кворума на основе системы на воздушном летательном аппарате (102), в которой упомянутые данные (106) будут использованы.
А14. Устройство по пункту А12, в котором модуль (134) верификации данных выполнен с возможностью осуществления выбора правила (144) кворума из множества правил (142) кворума на основе места расположения воздушного летательного аппарата (102).
А15. Устройство по пункту А9, в котором упомянутые данные (106) содержат программное обеспечение (108) для использования на воздушном летательном аппарате (102).
А16. Устройство по пункту А9, в котором модуль (134) верификации данных реализован в системе (136) обработки сетевых данных для воздушных летательных аппаратов на воздушном летательном аппарате (102).
А17. Способ верифицирования данных (106) для использования на воздушном летательном аппарате (102), согласно которому:
принимают, посредством процессорного блока (804), упомянутые данные (106) для использования на воздушном летательном аппарате (102);
вырабатывают, посредством процессорного блока (804), множество цифровых сертификатов (118) для упомянутых данных (106) и
отправляют упомянутые данные (106) и указанное множество цифровых сертификатов (118) на воздушный летательный аппарат (102).
А18. Способ по пункту А17, согласно которому указанное множество цифровых сертификатов (118) взято от множества сертифицирующих органов (126).
А19. Способ по пункту А17, согласно которому упомянутые данные (106) содержат программное обеспечение (108) для использования на воздушном летательном аппарате (102).
А20. Способ по пункту А17, согласно которому дополнительно:
принимают указанное множество цифровых сертификатов (118) посредством системы (136) обработки сетевых данных для воздушных летательных аппаратов на воздушном летательном аппарате (102); и
верифицируют, посредством системы (136) обработки сетевых данных для воздушных летательных аппаратов, упомянутые данные (106) для использования на воздушном летательном аппарате (102) с использованием выбранного количества указанного множества цифровых сертификатов (118).
В15. Способ верифицирования данных (106) для использования на воздушном летательном аппарате (102), согласно которому:
принимают, посредством процессорного блока (804), множество цифровых сертификатов (118), связанных с упомянутыми данными (106);
определяют, посредством процессорного блока (804), скомпрометирован ли сертификат из указанного множества цифровых сертификатов (118);
осуществляют выбор, посредством процессорного блока (804), правила кворума (144), причем
правило (144) кворума является первым правилом кворума, выбираемым в качестве реакции на определение того, что ни один сертификат из указанного множества цифровых сертификатов (118) не скомпрометирован, и вторым правилом кворума, выбираемым в качестве реакции на определение того, что упомянутый сертификат из указанного множества цифровых сертификатов (118) скомпрометирован; и
верифицируют, посредством процессорного блока (804), упомянутые данные (106) для использования на воздушном летательном аппарате (102) с использованием выбранного количества из указанного множества цифровых сертификатов (118), как задано правилом (144) кворума.
B16. Способ по пункту В15, согласно которому указанное множество цифровых сертификатов (118) взято от множества сертифицирующих органов (126).
B17. Способ по пункту В15, согласно которому верифицирование упомянутых данных (106) для использования на воздушном летательном аппарате (102) с использованием указанного выбранного количества из указанного множества цифровых сертификатов (118) включает определение валидности по меньшей мере заданного количества из указанного выбранного количества из указанного множества цифровых сертификатов (118), как задано правилом (144) кворума.
B18. Способ по пункту В17, согласно которому:
первое правило кворума указывает на то, что заданное количество указанного выбранного количества из указанного множества цифровых сертификатов (118) меньше указанного выбранного количества; и
второе правило кворума указывает на то, что заданное количество указанного выбранного количества из указанного множества цифровых сертификатов (118) равно указанному выбранному количеству.
B19. Способ по пункту В15, согласно которому упомянутые данные (106) содержат программное обеспечение (108) для использования на воздушном летательном аппарате (102).
B20. Способ по пункту В15, согласно которому процессорный блок (804) является процессорным блоком (804) в системе (136) обработки сетевых данных для воздушных летательных аппаратов на воздушном летательном аппарате (102).