RU2735618C1 - Реализуемое компьютером устройство и способ для обработки данных - Google Patents

Реализуемое компьютером устройство и способ для обработки данных Download PDF

Info

Publication number
RU2735618C1
RU2735618C1 RU2020102238A RU2020102238A RU2735618C1 RU 2735618 C1 RU2735618 C1 RU 2735618C1 RU 2020102238 A RU2020102238 A RU 2020102238A RU 2020102238 A RU2020102238 A RU 2020102238A RU 2735618 C1 RU2735618 C1 RU 2735618C1
Authority
RU
Russia
Prior art keywords
specific
identifier
configuration
descriptions
group
Prior art date
Application number
RU2020102238A
Other languages
English (en)
Inventor
Райнер Фальк
Кристиан Петер ФАЙСТ
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 Сименс Акциенгезелльшафт
Application granted granted Critical
Publication of RU2735618C1 publication Critical patent/RU2735618C1/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/73Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/76Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in application-specific integrated circuits [ASIC] or field-programmable devices, e.g. field-programmable gate arrays [FPGA] or programmable logic devices [PLD]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Power Engineering (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)

Abstract

Изобретение относится к средствам обработки данных. Технический результат заключается в повышении безопасности при обработке данных в цифровых компонентах. Загружают определенное описание (KB) конфигурации из числа N для реконфигурирования реконфигурируемой части. Предоставляют идентификатор (ID), специфический для определенного описания конфигурации (KB), с применением некоторого числа A параметров вывода, включающих определенное описание конфигурации (KB), при A≥1. Предоставляют идентификатор (ID), специфический для группы определенных описаний (KB) конфигурации. Выполняют криптографическую функцию на определенных данных с применением предоставленного специфического идентификатора (ID) посредством части, реконфигурированной с определенным описанием (KB) конфигурации, для генерации криптографически обработанных данных (KVD). Формируют значение хеша как идентификатора (ID), специфического для группы определенных описаний (KB) конфигурации, посредством применения определенной хеш-функции к группе определенных описаний (KB) конфигурации. 3 н. и 10 з.п. ф-лы, 3 ил.

Description

Настоящее изобретение относится к реализуемому компьютером устройству, способу, а также компьютерному программному продукту для обработки данных.
Техническая область предложенного изобретения касается обработки данных, особенно обработки данных посредством реконфигурируемой части цифрового компонента.
Приложения ("Apps"), устанавливаемые и актуализируемые независимо от базовой системы программного обеспечения, такой как операционная система, как они известны для мобильных телефонов, в будущем также будут поддерживаться промышленными устройствами, например, IoT-устройством (IoT; Интернет вещей), управлением (контроллером) с программируемой памятью (SPS) или сервером. При этом критичные к реальному времени и особенно релевантные для безопасности функции, в частности, такие как облачная робототехника, управление приводами, мониторинг энергетической сети, реализуются как приложение.
Для того чтобы осуществлять критичные к реальному времени и релевантные для безопасности функции, в уровне техники, в частности, применяются так называемые приложения аппаратных средств. При этом приложение аппаратных средств загружается в реконфигурируемую часть цифрового компонента, например, FPGA (программируемая вентильная матрица) или CPLD (сложное устройство с программируемой логикой).
Кроме того, из уровня техники известно, что для загруженной в FPGA цифровой схемы предоставляется однозначный серийный номер FPGA в качестве идентификатора аппаратных средств. Кроме того, известно, что реконфигурируется по меньшей мере часть FPGA, так называемая реконфигурируемая часть (частичная реконфигурация). При этом реконфигурируемая часть актуализируется посредством загрузки частичного битового потока, как, например, приложения аппаратных средств, в то время как остальная цифровая схема FPGA остается работающей, то есть продолжает работать регулярным образом.
Как известно, приложениям программного обеспечения на мобильных телефонах предоставляются различные идентификаторы, которые, например, могут применяться для отслеживания пользователей. Кроме того, известны постоянные идентификаторы устройств, такие как MAC-адрес (адрес управления доступом к среде) сетевого адаптера или IMEI (международный идентификатор оборудования мобильной станции) мобильного радиомодема. Также имеются различные идентификаторы, которые являются, например, однозначными для приложения программного обеспечения, которые могут быть соотнесены с пользователем устройства и которые предоставляются посредством контейнера, который включает в себя криптографические ключи и цифровые подписи.
Исходя из этой предпосылки, задача настоящего изобретения заключается в том, чтобы улучшить безопасность обработки данных с применением цифрового компонента.
Согласно первому аспекту, предложено реализуемое компьютером устройство для обработки данных, содержащее цифровой компонент с по меньшей мере одной частью, реконфигурируемой посредством некоторого числа N описаний конфигурации, при N≥1, определенное описание конфигурации из числа N для реконфигурирования реконфигурируемой части, и блок предоставления для предоставления идентификатора, специфического для определенного описания конфигурации, с применением некоторого числа А параметров вывода, включающих определенное описание конфигурации, при A≥1, причем часть, реконфигурированная с определенным описанием конфигурации, выполнена так, чтобы исполнять криптографическую функцию на определенных данных с применением предоставленного специфического идентификатора для генерации криптографически обработанных данных.
Предложенное устройство позволяет простым образом предоставлять описанию конфигурации или группе определенных описаний конфигурации идентификатор, специфический для определенного описания конфигурации или группы определенных описаний конфигурации. Посредством реконфигурируемой части цифрового компонента затем становится возможным, выполнять криптографическую функцию на определенных данных с применением предоставленного специфического идентификатора для генерации криптографически обработанных данных.
Тем самым возможно реализовать релевантные для безопасности функции, например, хранилище ключей (доверенную привязку) как приложение аппаратных средств (описание конфигурации). При этом идентификатор, специфический для определенного описания конфигурации, предоставлен в распоряжение только этому определенному описанию конфигурации на цифровом компоненте. Это имеет преимущество, состоящее в том, что безопасность при обработке данных в цифровых компонентах повышается, так как могут быть реализованы релевантные для безопасности приложения аппаратных средств, для которых предотвращается манипулирование параметрами приложений аппаратных средств посредством выполняемого программного обеспечения, например, приложения программного обеспечения, среды времени исполнения или операционной системы.
Цифровой компонент образован, в частности, как FPGA (программируемая вентильная матрица), как CPLD (сложное устройство с программируемой логикой) или как виртуальная FPGA. Виртуальная FPGA предпочтительно выполнена как ASIC/SoC (специализированная интегральная схема; система на чипе), в которой одна или несколько реконфигурируемых частей, например, уже на стороне изготовителя предусмотрены внутри цифрового компонента и могут реконфигурироваться к более позднему моменту времени. Цифровой компонент включает в себя, в частности, по меньшей мере одну реконфигурируемую часть.
Описание конфигурации представляет собой, в частности, битовый поток. Битовый поток предпочтительно представляет собой последовательность битов определенной длины. Битовый поток включает в себя, например, базовый битовый поток и частичный (парциальный) битовый поток. Базовый битовый поток применяется, в частности, для того, чтобы однократно первоначально конфигурировать все части, которые включают в себя цифровой компонент, следовательно, также по меньшей мере одну реконфигурируемую часть. Частичный битовый поток имеет, в частности, информацию о конфигурации реконфигурируемой части цифрового компонента и, в частности, применяется для того, чтобы реконфигурируемую часть цифрового компонента реконфигурировать как угодно часто. Описание конфигурации может также обозначаться как приложение аппаратных средств, так как оно применяется внутри цифрового компонента, как FPGA (аппаратные средства). Описание конфигурации определяет, в частности, конфигурацию цифрового компонента полностью (базовый битовый поток) или частично (частичный битовый поток).
Под реконфигурированием цифрового компонента понимается, в частности, реконфигурирование реконфигурируемой части FPGA (цифрового компонента). Реконфигурирование, как и конфигурирование, включают в себя загрузку цифровой схемы в цифровой компонент, причем цифровая схема располагается внутри описания конфигурации и, таким образом, является частью битового потока.
Предоставление, которое выполняется посредством блока предоставления, включает в себя, в частности, генерацию или формирование и последующее предоставление специфического идентификатора или специфических идентификаторов для определенного описания конфигурации. Например, определенному описанию конфигурации предоставляется несколько специфических идентификаторов. В частности, специфический для определенного описания конфигурации идентификатор формируется с применением идентификатора аппаратных средств цифрового компонента, а также определенного описания конфигурации. Тем самым, в частности, предоставляется идентификатор, который является специфическим для определенного экземпляра цифрового компонента и определенного описания конфигурации. Предпочтительным образом, однако, возможно, дополнительно или альтернативно предоставить специфический идентификатор, который является только специфическим для определенного описания конфигурации, но неспецифическим для определенного экземпляра цифрового компонента. Идентификатор может, в частности, быть специфическим для загруженного базового битового потока.
Соответствующий блок, например блок предоставления, может быть реализован аппаратными средствами и/или также программным обеспечением. При реализации аппаратными средствами, соответствующий блок может быть выполнен как устройство или как часть устройства, например, как компьютер или как микропроцессор или как управляющий вычислитель транспортного средства. При реализации программным обеспечением, соответствующий блок может быть выполнен как компьютерный программный продукт, как функция, как подпрограмма, как часть программного кода или как исполняемый объект.
Криптографическая функция включает в себя, например, криптографическое шифрование, криптографическое дешифрование и/или цифровое подписание для обработки и/или генерации криптографически обработанных данных. Предпочтительным образом, приведенные выше криптографические функции реализуются с применением криптографических ключей.
Криптографический ключ может быть выполнен как симметричный ключ, как открытый ключ и/или как частный ключ.
Реализуемое компьютером устройство предпочтительно включает в себя среду времени исполнения программного обеспечения, которая выполнена так, чтобы предоставлять среду для исполнения программного обеспечения. Программное обеспечение представляет собой, например, операционную систему, которая исполняется в среде времени выполнения программного обеспечения, чтобы приводить в действие реализуемое компьютером устройство. Среда времени выполнения программного обеспечения включает в себя, в частности, приложение программного обеспечения и предоставляет в распоряжение среду, в которой может приводиться в действие по меньшей мере один цифровой компонент с описанием конфигурации. Приложение программного обеспечения, в частности, представляет собой независимую от операционной системы программу, с помощью которой могут быть реализованы различные применения и функции. Специфический идентификатор, предоставленный посредством блока предоставления, является, в частности, специфическим для приложения программного обеспечения.
Согласно одной форме выполнения, блок предоставления выполнен так, чтобы предоставляемый для определенного описания конфигурации специфический идентификатор создавать внутри цифрового компонента.
Посредством создания предоставляемого для определенного описания конфигурации специфического идентификатора внутри цифрового компонента, специфический идентификатор создается исключительно внутри цифрового компонента и вне программного обеспечения, а также приложения программного обеспечения.
Это имеет преимущество, состоящее в том, что может предотвращаться манипулирование специфическим идентификатором или специфическими идентификаторами для определенного описания конфигурации посредством программного обеспечения или приложений программного обеспечения, и кроме того, может предотвращаться то, что параметры специфического идентификатора или специфических идентификаторов становятся доступными через несанкционированные приложения программного обеспечения. Тем самым можно реализовать релевантные для безопасности определенные описания конфигурации, для которых предотвращается манипулирование релевантными для безопасности параметрами вывода посредством исполняемого программного обеспечения или приложения программного обеспечения. Тем самым повышается безопасность при создании предоставляемого для определенного описания конфигурации специфического идентификатора, а также при обработке данных посредством цифрового компонента с применением идентификатора.
Согласно другой форме выполнения, устройство включает в себя, дополнительно к цифровому компоненту, устройство обработки, которое выполнена так чтобы реконфигурировать реконфигурируемую часть с применением определенного описания конфигурации к времени исполнения.
В частности, при разработке цифрового компонента, такого как FPGA, система на чипе с программируемой логикой и CPU программного обеспечения или ASIC с встроенной FPGA, устанавливаются специальные изменяемые области, так называемые реконфигурируемые части внутри цифрового компонента.
Цифровые схемы, реализованные в этих реконфигурируемых чстях, могут конфигурироваться заново (реконфигурироваться) при текущем функционировании (во время исполнения), не оказывая влияния на остальную цифровую схему FPGA. Таким образом, в частности, описание конфигурации как частичный битовый поток для такой реконфигурируемой части реализуется и загружается и/или устанавливается только ко времени исполнения, при этом не требуется останавливать остальную цифровую схему цифрового компонента и/или конфигурировать заново.
Эта форма выполнения имеет преимущество, состоящее в том, что потребление мощности цифрового компонента за счет деактивации не требующихся частей схемы может снижаться. Кроме того, на цифровом компоненте могут быть реализованы приложения, которые в текущей работе требуют изменений цифровой схемы или схемной логики. Это повышает гибкость, производительность и удобство для пользователя устройства.
Реконфигурация реконфигурируемой части во время исполнения может обозначаться как динамическая реконфигурация.
Согласно другой форме выполнения, блок предоставления выполнен так, чтобы формировать значение хеша в качестве специфического идентификатора путем применения определенной хеш-функции к определенному описанию конфигурации.
Значение хеша, в частности, представляет собой битовую последовательность определенной длины, например, 128 битов, 160 битов, 256 битов, 384 битов или также 512 битов. Значение хеша можно сформировать или вычислить, например, посредством хеш-функции из определенного описания конфигурации. При этом хеш-функция отображает описание конфигурации на значение хеша с постоянной длиной. Это отображение предпочтительно является однозначным. Такая хеш-функция обозначается, например, как устойчивая к конфликтам. Под этим, в частности, понимается то, что не имеется никаких двух различающихся битовых потоков, которые дают одинаковое значение хеша. Поэтому значение хеша определенного битового потока может также обозначаться как “характерный признак” (отпечаток пальца). Примерами хеш-функций, также называемых хеш-алгоритмами, являются MD5, SHA-1, SHA-2 или SHA-3. Например, SHA-256 обозначает хеш-алгоритм SHA-2, причем соответствующее значение хеша имеет длину 256 битов. Значение хеша может также использоваться в качестве ключа. При этом, в частности, с применением ключа, используемого как значение хеша, формируется функция вывода ключа, такая как HMAC-SHA256.
Согласно другой форме выполнения, блок предоставления выполнен так, чтобы предоставлять идентификатор, специфический для группы определенных описаний конфигурации.
Группа определенных описаний конфигурации включает в себя, в частности, по меньшей мере два определенных описания конфигурации. Определенные описания конфигурации группы выполнены, например, различным образом. В частности, по меньшей мере двум различным определенным описаниям конфигурации предоставляется специфический одинаковый идентификатор. При этом говорят об однозначном специфическом идентификаторе. Также может применяться однозначное отображение между описаниями конфигурации и специфическими идентификаторами. Предпочтительным образом, группе определенных описаний конфигурации предоставляется идентификатор, специфический для группы определенных описаний конфигурации.
В частности, группа включает в себя по меньшей мере одно определенное описание конфигурации и по меньшей мере одно приложение программного обеспечения, соотнесенное с определенным описанием конфигурации.
Согласно другой форме выполнения, блок предоставления выполнен так, чтобы формировать значение хеша в качестве идентификатора, специфического для группы определенных описаний конфигурации, посредством применения определенной хеш-функции к группе определенных описаний конфигурации.
В частности, определенные описания конфигурации конкатенируются, и затем определенная хеш-функция применяется к конкатенированным определенным описаниям конфигурации для формирования специфического для группы идентификатора.
В частности, формирование значения хеша для группы определенных описаний конфигурации осуществляется с применением "менеджера реконфигурации и обновления" (RUM).
Согласно другой форме выполнения, блок предоставления, кроме того, выполнен так, чтобы формировать соответствующее однозначное значение хеша для соответствующего пакета данных, включающего в себя группу определенных описаний конфигурации.
Пакет данных включает в себя, в частности, несколько определенных описаний конфигурации. Кроме того, пакет данных может также содержать одно или несколько приложений программного обеспечения и/или метаданных, соотнесенных с определенными описаниями конфигурации. Несколько определенных описаний конфигурации предпочтительным образом сведены в одну группу. С применением определенных описаний конфигурации группы, то есть пакета данных, формируется, в частности, значение хеша, которое является однозначным для пакета данных. Внутри группы, каждому определенному описанию конфигурации предоставляется, например, одинаковое значение хеша, следовательно, одинаковый специфический идентификатор. В частности, отдельные определенные описания конфигурации пакета данных конкатенируются. Предпочтительным образом, на основе конкатенированных определенных описаний конфигурации, то есть взаимосвязанного битового потока из сформированного конкатенированного битового потока, формируется значение хеша.
Кроме того, возможно, что, например, значение хеша каждого определенного описания конфигурации формируется путем применения хеш-функции к соответствующему определенному описанию конфигурации. Затем значения хеша определенных описаний конфигурации конкатенируются, и совместное значение хеша формируется посредством применения хеш-функции к конкатенированным значениям хеша.
Согласно другой форме выполнения, число А параметров вывода дополнительно включает в себя одно или несколько значений из защитного элемента, секретного параметра устройства, физического свойства устройства, которое может определяться, например, посредством аналого-цифрового преобразователя или посредством физической неклонируемой функции (PUF), криптографического ключа, криптографического начального значения и/или параметра генерации ключа.
Защитный элемент, в частности, представляет собой платформу аппаратных средств, посредством которой релевантные для безопасности и криптографические данные могут сохраняться и приложения могут безопасно исполняться. Применение защитного элемента предпочтительно включается в формирование параметра вывода.
Согласно другой форме выполнения, блок предоставления выполнен так, чтобы формировать значение хеша как специфический идентификатор посредством применения определенной хеш-функции к определенному описанию конфигурации и по меньшей мере одному дополнительному из числа A параметров вывода.
Согласно другой форме выполнения, блок предоставления выполнен так, чтобы формировать значение хеша как специфический для группы определенных описаний конфигурации идентификатор посредством применения определенной хеш-функции к группе определенных описаний конфигурации и по меньшей мере одному дополнительному из числа A параметров вывода.
В частности, возможно, предоставить систему шифрования и дешифрования на основе по меньше мере двух из определенных описаний конфигурации и по меньшей мере одного приложения программного обеспечения. При этом, например, как первому определенному описанию конфигурации, так и второму определенному описанию конфигурации предоставляется специфический для обоих описаний конфигурации идентификатор, который может применяться для вывода общего криптографического ключа. Первое определенное описание конфигурации, в частности, применяется для шифрования, в то время как второе определенное описание конфигурации предпочтительным образом применяется для дешифрования, причем шифрование и дешифрование осуществляется, в частности, с применением общего криптографического ключа. В частности, приложение программного обеспечения выполнено так, чтобы позволять осуществлять шифрование и дешифрование определенных данных с применением цифрового компонента.
Предпочтительным образом, при предоставлении первого идентификатора, специфического для первого определенного описания конфигурации, посредством параметра вывода, криптографический ключ для шифрования, такой как открытый ключ криптографического способа с открытым ключом, определенных данных включается в первый идентификатор, и предпочтительным образом, при предоставлении второго идентификатора, специфического для второго определенного описания конфигурации, посредством параметра вывода, криптографический ключ, такой как частный ключ криптографического способа с открытым ключом, для дешифрования криптографически обработанных данных включается во второй идентификатор.
Кроме того, ключи криптографического способа с открытым ключом также, вместо шифрования, могут применяться для генерации цифровой подписи посредством первого определенного описания конфигурации и проверки цифровой подписи посредством второго определенного описания конфигурации.
В частности, число А параметров вывода, кроме того, включает в себя метаданные, такие как декларация, которые расположены внутри по меньшей мере одного определенного описания конфигурации группы определенных описаний конфигурации или пакета данных, а также параметр вывода, который соотнесен с приложением программного обеспечения, соотнесенным с определенным описанием конфигурации. Дополнительно, число А параметров вывода предпочтительным образом включает в себя открытый ключ или цифровой сертификат, с помощью которого подписывается пакет данных, или, например, идентификатор пользователя, идентификатор группы или заданную метку уровня безопасности, с которым приложение программного обеспечения исполняется в среде времени исполнения программного обеспечения.
Согласно другой форме выполнения, устройство обработки включает в себя приложение программного обеспечения и интерфейс для связывания приложения программного обеспечения и реконфигурируемой части, причем приложение программного обеспечения выполнено так, чтобы осуществлять по меньшей мере одну операцию с применением интерфейса на реконфигурируемой части.
Это имеет, например, технический результат, состоящий в том, что приложение программного обеспечения может выполнять операции на реконфигурируемой части цифрового компонента. За счет этого повышается гибкость обслуживания реализуемого компьютером устройства.
Кроме того, приложение программного обеспечения в частности, выполнено так, чтобы соотнесенные с ним реконфигурируемые части заново реконфигурировать и применять их для определенных целей, таких как выгрузка определенных вычислений в аппаратные средства для разгрузки CPU и/или разделение сложных аппаратных средств на несколько реконфигурируемых частей, чтобы иметь возможность сберегать ресурсы цифрового компонента.
Предпочтительным образом, реализуемое компьютером устройство имеет постоянное устройство хранения, которое связано с устройством обработки, и по меньшей мере один цифровой компонент.
Устройство обработки включает в себя, в частности, менеджер реконфигурации и обновления (RUM), который, например, выполнен так, чтобы выполнять запуск приложения программного обеспечения, формирование специфического для определенного описания конфигурации идентификатора и/или соотнесение одной или нескольких реконфигурируемых частeй с приложением программного обеспечения. RUM предпочтительно расположен вне приложения программного обеспечения и цифрового компонента.
Например, цифровой компонент дополнительно содержит компонент логики, который через компонент драйвера внутри устройства обработки связан с RUM. В частности, компонент логики выполнен так, чтобы зависимости от определенного описания конфигурации и идентификатора аппаратных средств цифрового компонента посредством хеш-функции, такой как SHA256, формировать специфический для определенного описания конфигурации идентификатор. При этом формирование специфического идентификатора, в частности, выполняется посредством компонента логики.
Дополнительно и/или альтернативно, компонент логики выполнен так, чтобы, особенно посредством ключа устройства цифрового компонента формировать специфический для определенного описания конфигурации идентификатор.
Предпочтительно, специфический для определенного описания конфигурации идентификатор предоставляется реконфигурируемой части через App-регистр. App-регистр представляет собой, в частности, часть цифрового компонента.
Например, приложение программного обеспечения выполнено так, чтобы управлять несколькими определенными описаниями конфигурации в нескольких реконфигурируемых частях цифрового компонента. Альтернативно, несколько приложений программного обеспечения могут делить между собой несколько определенных описаний конфигурации в цифровом компоненте.
В частности, специфический для определенного описания конфигурации идентификатор формируется с применением компонента драйвера и предоставляется компоненту логики внутри цифрового компонента. Компонент логики, в свою очередь, предоставляет через App-регистр одной или нескольким реконфигурируемым частям идентификатор, специфический для определенного описания конфигурации.
Например, возможно многоступенчатое формирование идентификатора, специфического для определенного описания конфигурации, при котором частичные этапы осуществляются посредством RUM, посредством компонента драйвера и/или посредством компонента логики.
Согласно другой форме выполнения, цифровой компонент содержит конфигурируемую часть, которая включает в себя по меньшей мере одну реконфигурируемую часть, причем устройство обработки выполнено так, чтобы конфигурируемую часть к определенному моменту времени первоначально конфигурировать с применением одной из числа N описаний конфигурации.
В частности, конфигурирование включает в себя начальное конфигурирование, а также реконфигурирование. В частности, начальное конфигурирование выполняется однократно при изготовлении или при каждом запуске устройства. Предпочтительным образом конфигурируемая часть выполнена включающей в себя цифровой компонент. Конфигурируемая часть цифрового компонента имеет, например, несколько реконфигурируемых частей.
Определенный момент времени включает в себя, в частности, момент времени после производства цифрового компонента, перед применением цифрового компонента, при первом пуске в эксплуатацию цифрового компонента и/или при каждом новом запуске устройства. Последний случай, частности, применяется при FPGA с технологией энергозависимой памяти, такой как, например, SRAM ("статическая память с произвольным доступом").
Согласно другой форме выполнения, реализуемое компьютером устройство выполнено как полевое устройство, как управляющее устройство, как устройство контроля, как IoT-устройство IoT-Device), как граничное облачное устройство(Edge Cloud Device), как облачный сервер (Cloud Server) или как сервер времени с App-поддержкой App-enabled Time Server).
Согласно второму аспекту, предложен способ эксплуатации реализуемого компьютером устройства, которое включает в себя цифровой компонент с по меньшей мере одной частью, реконфигурируемой посредством некоторого числа N описаний конфигурации. Способ содержит следующие этапы:
a) загрузка определенного описания конфигурации из числа N для рeконфигурирования реконфигурируемой части,
b) предоставление идентификатора, специфического для определенного описания конфигурации, с применением некоторого числа А параметров вывода, включающих определенное описание конфигурации, при A≥1, и
c) выполнение криптографической функции на определенных данных с применением предоставленного специфического идентификатора посредством части, реконфигурированной с определенным описанием конфигурации, для генерирования криптографически обработанных данных.
Согласно третьему аспекту, предложен компьютерный программный продукт, который на устройстве с программным управлением вызывает осуществление способа, как описано выше.
Компьютерный программный продукт, такой как средство компьютерной программы, может, например, предоставляться или поставляться как носитель хранения, например как карта памяти, USB-флэшка, CD-ROM, DVD или также в форме загружаемого файла данных с сервера в сети. Это может осуществляться, например, в беспроводной сети связи посредством передачи соответствующего файла данных с компьютерным программным продуктом или средством компьютерной программы.
Формы выполнения и признаки, описанные для предложенного устройства, являются действительными соответственно для предложенного способа.
Дополнительные возможные реализации изобретения включают в себя также не указанные явным образом комбинации признаков или форм выполнения, описанных выше или далее в отношении примеров выполнения. При этом специалист будет также дополнять отдельные аспекты в качестве усовершенствований или дополнений к соответствующей базовой форме изобретения.
Другие предпочтительные варианты осуществления и аспекты изобретения являются предметом зависимых пунктов формулы изобретения, а также описанных далее примеров выполнения изобретения. В последующем, изобретение более подробно поясняется на основе предпочтительных форм выполнения со ссылкой на приложенные чертежи.
Фиг. 1 показывает блок-схему первого примера выполнения реализуемого компьютером устройства для обработки данных;
Фиг. 2 показывает блок-схему второго примера выполнения реализуемого компьютером устройства для обработки данных с цифровым компонентом и устройством обработки; и
Фиг. 3 показывает блок-схему последовательности операций примера выполнения способа эксплуатации реализуемого компьютером устройства.
На чертежах одинаковые или функционально сходные элементы снабжены одними и теми же ссылочными позициями, если не указано иначе.
Фиг. 1 показывает блок-схему первого примера выполнения реализуемого компьютером устройства 100 для обработки данных. Реализуемое компьютером устройство 100 включает в себя цифровой компонент 10 с по меньшей мере одной частью 11, реконфигурируемой посредством некоторого числа N описаний конфигурации KB, при N≥1, и определенное описание конфигурации KB из числа N для реконфигурирования реконфигурируемой части 11. Кроме того, реализуемое компьютером устройство 100 включает в себя блок 12 предоставления.
Блок 12 предоставления выполнен так, чтобы предоставлять для определенного описания конфигурации KB специфический идентификатор ID с применением некоторого числа A параметров вывода, которые включают в себя определенное описание конфигурации KB, при A≥1. Кроме того, часть 11, реконфигурируемая с определенным описанием конфигурации KB, выполнена так, чтобы выполнять криптографическую функцию на определенных данных с применением предоставленного специфического идентификатора ID для генерирования криптографически обработанных данных KVD.
Как изображено на фиг. 1, блок 12 предоставления, в частности, выполнен так, чтобы специфический идентификатор ID, предоставленный для определенного описания конфигурации KB, формировать внутри цифрового компонента 10. Кроме того, блок 12 предоставления, например, выполнен так, чтобы специфический идентификатор ID, предоставленный для определенного описания конфигурации KB, формировать вне (не показанного) цифрового компонента 10.
Блок 12 предоставления предпочтительным образом выполнен так, чтобы формировать значение хеша как специфический идентификатор ID путем применения определенной хеш-функции к определенному описанию конфигурации KB.
Например, блок 12 предоставления выполнен так, чтобы предоставлять идентификатор ID, специфический для группы определенных описаний конфигурации KB.
Кроме того, блок 12 предоставления, в частности, выполнен так, чтобы формировать значение хеша как идентификатор ID, специфический для группы определенных описаний конфигурации KB, путем применения определенной хеш-функции к группе определенных описаний конфигурации KB.
Предпочтительным образом, блок 12 предоставления выполнен так, чтобы создавать соответствующее однозначное значение хеша для соответствующего пакета данных, включающего в себя группу определенных описаний конфигурации KB. При этом пакет данных может, в частности, также включать в себя одно или несколько приложений программного обеспечения и метаданных, таких, например, как App-декларация.
Кроме того, число А параметров вывода включает в себя, например, одно или несколько значений из защитного элемента, секретного параметра устройства, физического свойства устройства, криптографического ключа, криптографического начального значения и/или параметра генерации ключа.
В частности, блок 12 предоставления выполнен так, чтобы формировать значение хеша как специфический идентификатор ID путем применения определенной Хеш-функции к определенному описанию конфигурации KB и по меньшей мере одному дополнительному из числа A параметров вывода.
Предпочтительным образом, блок 12 предоставления выполнен так, чтобы создавать значение хеша как идентификатор ID, специфический для группы определенных описаний конфигурации KB путем применения определенной хеш-функции к группе определенных описаний конфигурации KB и по меньшей мере одному дополнительному из числа A параметров вывода.
Цифровой компонент 10 содержит, например, конфигурируемую часть, которая включает в себя по меньшей мере одну реконфигурируемую часть 11. Кроме того, устройство 13 обработки, в частности, выполнено так, чтобы первоначально конфигурировать конфигурируемую часть к определенному моменту времени с применением одного из числа N описаний конфигурации KB.
Реализуемое компьютером устройство 100 предпочтительным образом выполнено как полевое устройство, управляющее устройство, устройство контроля, IoT-устройство (IoT-Device), граничное облачное устройство (Edge Cloud Device), облачный сервер (Cloud Server) или сервер времени с App-поддержкой (App-enabled Time Server).
Фиг. 2 показывает блок-схему второго примера выполнения реализуемого компьютером устройства 100 для обработки данных. Второй пример выполнения согласно фиг. 2 основывается на первом примере выполнения согласно фиг. 1 и имеет все признаки первого примера выполнения. Кроме того, реализуемое компьютером устройство 100 согласно фиг. 2 имеет устройство 13 обработки.
Устройство 13 обработки выполнено так, чтобы реконфигурировать реконфигурируемую часть 11 с применением определенного описания конфигурации KB к моменту исполнения.
Предпочтительным образом устройство 13 обработки включает в себя приложение программного обеспечения SW-APP интерфейс 14 для связывания приложения программного обеспечения SW-APP и реконфигурируемой части 11. Приложение программного обеспечения SW-APP, выполнено, например, так, чтобы осуществлять по меньшей мере одну операцию с применением интерфейса 14 на реконфигурируемой части 11. При этом программное обеспечение приложения SW-APP предоставляет реконфигурируемой части 11 через интерфейс 14 по меньшей мере одно определенное описание конфигурации KB. Блок 12 предоставления, который, в частности, выполнен как компонент логики, предпочтительным образом выполнен так, чтобы непосредственно или опосредованно предоставлять идентификатор ID, специфический для определенного описания конфигурации KB, реконфигурируемой части 11.
Фиг. 3 показывает блок-схему последовательности действий примера выполнения способа эксплуатации реализуемого компьютером устройства 100 согласно фиг. 1 или фиг. 2. Реализуемое компьютером устройство 100 включает в себя цифровой компонент 10 с по меньшей мере одной частью 11, реконфигурируемой посредством некоторого числа N описаний конфигурации KB.
Пример выполнения согласно фиг. 3 включает в себя следующие этапы способа от S1 по S3:
На этапе S1 загружается определенное описание конфигурации KB из числа N для реконфигурирования реконфигурируемой части 11.
На этапе S2, идентификатор ID, специфический для определенного описания конфигурации KB, предоставляется с применением числа А параметров вывода, включающих определенное описание конфигурации KB, при A≥1.
На этапе S3 выполняется криптографическая функция на определенных данных с применением предоставленного специфического идентификатора ID посредством части 11, реконфигурированной посредством определенного описания конфигурации KB, для генерации криптографически обработанных данных KVD.
Хотя предложенное изобретение было описано на основе примеров выполнения, оно может быть модифицировано различным образом.

Claims (43)

1. Реализуемое компьютером устройство (100) для обработки данных, содержащее
цифровой компонент (10) с по меньшей мере одной частью (11), реконфигурируемой посредством некоторого числа N описаний (KB) конфигурации, при N≥1,
определенное описание (KB) конфигурации из числа N для реконфигурирования реконфигурируемой части (11), и
блок (12) предоставления для предоставления идентификатора (ID), специфического для определенного описания (KB) конфигурации, с применением некоторого числа A параметров вывода, включающих определенное описание (KB) конфигурации, при A≥1,
причем часть (11), реконфигурированная с определенным описанием (KB) конфигурации, выполнена так, чтобы выполнять криптографическую функцию на определенных данных с применением предоставленного специфического идентификатора (ID) для генерации криптографически обработанных данных (KVD),
причем блок (12) предоставления выполнен с возможностью предоставлять идентификатор (ID), специфический для группы определенных описаний (KB) конфигурации, и формировать значение хеша как идентификатор (ID), специфический для группы определенных описаний (KB) конфигурации, посредством применения определенной хеш-функции к группе определенных описаний (KB) конфигурации.
2. Устройство по п. 1,
отличающееся тем, что
блок (12) предоставления выполнен с возможностью формировать специфический идентификатор (ID), предоставляемый для определенного описания (KB) конфигурации, внутри цифрового компонента (10).
3. Устройство по п. 1 или 2,
отличающееся тем, что
устройство (100) дополнительно к цифровому компоненту (10) включает в себя устройство (13) обработки, которое выполнено с возможностью реконфигурировать реконфигурируемую часть (11) с применением определенного описания (KB) конфигурации к времени исполнения.
4. Устройство по одному из пп. 1-3,
отличающееся тем, что
блок (12) предоставления выполнен с возможностью формировать значение хеша как специфический идентификатор (ID) посредством применения определенной хеш-функции к определенному описанию (KB) конфигурации.
5. Устройство по п. 1,
отличающееся тем, что
блок (12) предоставления, кроме того, выполнен с возможностью формировать соответствующее однозначное значение хеша для соответствующего пакета данных, включающего в себя группу определенных описаний (KB) конфигурации.
6. Устройство по любому из пп. 1-5,
отличающееся тем, что
число А параметров вывода дополнительно включает в себя одно или несколько значений из защитного элемента, секретный параметр устройства, физическое свойство устройства, криптографический ключ, криптографическое начальное значение и/или параметр генерации ключа.
7. Устройство по п. 6,
отличающееся тем, что
блок (12) предоставления выполнен с возможностью формировать значение хеша как специфический идентификатор (ID) посредством применения определенной хеш-функции к определенному описанию (KB) конфигурации и по меньшей мере одному дополнительному из числа А параметров вывода.
8. Устройство по пп. 1 и 6,
отличающееся тем, что
блок (12) предоставления выполнен с возможностью формировать значение хеша как идентификатор (ID), специфический для группы определенных описаний (KB) конфигурации, посредством применения определенной хеш-функции к группе определенных описаний (KB) конфигурации и по меньшей мере одному дополнительному из числа A параметров вывода.
9. Устройство по любому из пп. 1-8,
отличающееся тем, что
устройство (13) обработки включает в себя приложение (SW-APP) программного обеспечения и интерфейс (14) для связывания приложения (SW-APP) программного обеспечения и реконфигурируемой части (11), причем приложение (SW-APP) программного обеспечения выполнено с возможностью осуществлять по меньшей мере одну операцию с применением интерфейса (14) на реконфигурируемой части (11).
10. Устройство по любому из пп. 3-9,
отличающееся тем, что
цифровой компонент (10) содержит конфигурируемую часть, которая включает в себя по меньшей мере одну реконфигурируемую часть (11), причем устройство (13) обработки выполнено с возможностью первоначально конфигурировать конфигурируемую часть к определенному моменту времени с применением одного из числа N описаний (KB) конфигурации.
11. Устройство по любому из пп. 1-10,
отличающееся тем, что
реализуемое компьютером устройство (100) выполнено как полевое устройство, как управляющее устройство, как устройство контроля, как IoT-устройство (IoT-Device), как граничное облачное устройство (Edge Cloud Device), как облачный сервер (Cloud Server) или как сервер времени с App-поддержкой (App-enabled Time Server).
12. Способ эксплуатации реализуемого компьютером устройства (100), которое включает в себя цифровой компонент (10) с по меньшей мере одной частью (11), реконфигурируемой посредством некоторого числа N описаний (KB) конфигурации, при N≥1, содержащий этапы:
загрузки (S1) определенного описания (KB) конфигурации из числа N для реконфигурирования реконфигурируемой части (11),
предоставления (S2) идентификатора (ID), специфического для определенного описания конфигурации (KB), с применением некоторого числа A параметров вывода, включающих определенное описание конфигурации (KB), при A≥1,
предоставления идентификатора (ID), специфического для группы определенных описаний (KB) конфигурации,
выполнения (S3) криптографической функции на определенных данных с применением предоставленного специфического идентификатора (ID) посредством части (11), реконфигурированной с определенным описанием (KB) конфигурации, для генерации криптографически обработанных данных (KVD), и
формирования значения хеша как идентификатора (ID), специфического для группы определенных описаний (KB) конфигурации, посредством применения определенной хеш-функции к группе определенных описаний (KB) конфигурации.
13. Компьютерно-читаемый носитель данных, содержащий сохраненную на нем компьютерную программу для побуждения устройства с программным управлением осуществлять способ по п. 12.
RU2020102238A 2019-01-22 2020-01-21 Реализуемое компьютером устройство и способ для обработки данных RU2735618C1 (ru)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP19152948.6A EP3686763B1 (de) 2019-01-22 2019-01-22 Computer-implementierte vorrichtung und verfahren zum verarbeiten von daten
EP19152948.6 2019-01-22

Publications (1)

Publication Number Publication Date
RU2735618C1 true RU2735618C1 (ru) 2020-11-05

Family

ID=65236853

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2020102238A RU2735618C1 (ru) 2019-01-22 2020-01-21 Реализуемое компьютером устройство и способ для обработки данных

Country Status (4)

Country Link
US (1) US10872058B2 (ru)
EP (1) EP3686763B1 (ru)
CN (1) CN111539035A (ru)
RU (1) RU2735618C1 (ru)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018228693A1 (en) * 2017-06-15 2018-12-20 Telefonaktiebolaget Lm Ericsson (Publ) Hardware platform based on fpga partial reconfiguration for wireless communication device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090262926A1 (en) * 2008-04-16 2009-10-22 Infineon Technologies Ag Method and apparatus for generating a cryptographic key
DE102012215011A1 (de) * 2012-08-23 2014-02-27 Siemens Aktiengesellschaft Verfahren und Vorrichtung zum Sichern einer Steuerungseinheit eines Gerätes
EP3254403A1 (de) * 2015-04-14 2017-12-13 Siemens Aktiengesellschaft Vorrichtung und verfahren zum erzeugen eines schlüssels in einem programmierbaren hardwaremodul
RU2671660C2 (ru) * 2014-05-01 2018-11-06 Сикпа Холдинг Са Динамически конфигурируемая система управления производственной и/или распределительной линией и способ ее применения

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102013227087A1 (de) * 2013-12-23 2015-06-25 Siemens Aktiengesellschaft Gesichertes Bereitstellen eines Schlüssels

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090262926A1 (en) * 2008-04-16 2009-10-22 Infineon Technologies Ag Method and apparatus for generating a cryptographic key
DE102012215011A1 (de) * 2012-08-23 2014-02-27 Siemens Aktiengesellschaft Verfahren und Vorrichtung zum Sichern einer Steuerungseinheit eines Gerätes
RU2671660C2 (ru) * 2014-05-01 2018-11-06 Сикпа Холдинг Са Динамически конфигурируемая система управления производственной и/или распределительной линией и способ ее применения
EP3254403A1 (de) * 2015-04-14 2017-12-13 Siemens Aktiengesellschaft Vorrichtung und verfahren zum erzeugen eines schlüssels in einem programmierbaren hardwaremodul

Also Published As

Publication number Publication date
US20200233834A1 (en) 2020-07-23
US10872058B2 (en) 2020-12-22
CN111539035A (zh) 2020-08-14
EP3686763B1 (de) 2021-03-24
EP3686763A1 (de) 2020-07-29

Similar Documents

Publication Publication Date Title
EP3362939B1 (en) Migrating secrets using hardware roots of trust for devices
EP3362936B1 (en) Trusted platforms using minimal hardware resources
AU2017269163B2 (en) Using hardware based secure isolated region to prevent piracy and cheating on electronic devices
TWI554905B (zh) 安全防護管理方法、電腦系統以及非暫態電腦可讀取存儲媒體
RU2601862C2 (ru) Способ, аппарат и устройство обработки шифрования и дешифрования
CN113661681B (zh) 向远程服务器进行认证的系统和方法
US20160006570A1 (en) Generating a key derived from a cryptographic key using a physically unclonable function
KR20160111455A (ko) 보안 부트 동안 키 추출
US11423150B2 (en) System and method for booting processors with encrypted boot image
CN112016102A (zh) 一种参数配置方法及装置、计算机可读存储介质
US20180365411A1 (en) Method and security module for providing a security function for a device
CN112236770A (zh) 数据处理
RU2735618C1 (ru) Реализуемое компьютером устройство и способ для обработки данных
EP4135260A1 (en) Systems and methods for configuring industrial devices through a secured wireless side channel
CN114157470A (zh) 一种令牌管理方法和装置
EP3471009B1 (en) Forward and backward niap migration of certificate stores
US20240143769A1 (en) Identity-based verification of software code layers
CN118036024A (zh) 一种基于国密ceph块存储的加密方法及装置
CN115361132A (zh) 密钥生成方法、装置、片上系统、设备及存储介质
CN113748422A (zh) 集成电路中的密钥管理