Китайский и английский режим чтения
Китайский режим чтения
Английский режим чтения
The demonstrated ability of hackers to penetrate IoT devices says more about the level of security of these devices than the skill of the hackers: in most cases, the affected products lack the most basic security provisions. That said, basic security is simple conceptually, but its implementation requires careful attention at every node in a system to avoid vulnerabilities.
Способность взламывать устройства IoT больше говорит о безопасности этих устройств, чем о навыках хакеров: в большинстве случаев затронутые продукты не имеют самых элементарных мер безопасности. При этом базовая безопасность концептуально проста, но ее реализация требует внимательного отношения к каждому узлу системы, чтобы избежать уязвимостей.
A pre-built security solution from Microchip Technology allows developers to implement zero-touch device provisioning in IoT applications built around the Amazon Web Services (AWS) IoT service.
Готовое решение для обеспечения безопасности позволяет разработчикам реализовать автоматическую подготовку устройств в приложениях Интернета вещей, созданных на основе сервисов Интернета вещей Amazon Web Services (AWS).
Security requirements
A world of IoT connected devices presents a rich prize to hackers intent on controlling, disrupting, or corrupting critical applications in industry, transportation, health, and emergency services, among others. Increasingly, IoT developers are addressing the safety of data in transit by encrypting communications between devices and their hosts. Yet, data encryption represents only a portion of the requirements for end-to-end security.
Мир устройств, подключенных к Интернету вещей, предлагает щедрые вознаграждения хакерам, стремящимся контролировать, нарушать или нарушать работу критически важных приложений в промышленности, на транспорте, в здравоохранении и аварийно-спасательных службах. Разработчики IoT все чаще обращаются к безопасности передаваемых данных, шифруя связь между устройством и его хостом. Однако шифрование данных представляет собой лишь часть требований сквозной безопасности.
A secure IoT application also depends upon secure authentication to ensure that known devices communicate with trusted hosts. The lack of assurance in device or host identity leaves an open door for attackers to take control of the data stream using man-in-the-middle attacks. In these attacks, bad actors represent themselves as trusted end devices in order to insert corrupted data streams into an application. Alternatively, attackers falsely represent themselves as known hosts to take control of IoT devices.
Безопасные приложения IoT также полагаются на безопасную аутентификацию, чтобы гарантировать связь известных устройств с доверенными хостами. Отсутствие гарантии идентификации устройства или хоста открывает злоумышленникам возможность использовать атаки «человек посередине» для управления потоком данных. В этих атаках злоумышленники выдают себя за доверенные конечные устройства, чтобы вставлять поврежденные потоки данных в приложения. Кроме того, злоумышленники ошибочно представляют себя как известные хосты, контролирующие устройства IoT.
Although their ability to break encryption lies at the heart of these approaches, the real damage lies in their ability to intrude themselves as authorized entities into trusted networks with all the potential harm that might entail. Consequently, IoT applications lend themselves to more sophisticated service platforms that address security on a broad level.
Хотя их способность взломать шифрование лежит в основе этих методов, реальный ущерб заключается в их способности взломать доверенную сеть в качестве авторизованного лица со всем потенциальным вредом, который они могут принести. Поэтому приложения IoT подходят для более сложных сервисных платформ, которые могут решать проблемы безопасности на широком уровне.
Use a secure cloud platform
Amazon Web Services (AWS) IoT platform provides a comprehensive environment that embeds security as a fundamental capability as it serves the diverse functional requirements of IoT applications. As a specialized front end to diverse AWS services, AWS IoT sits between the IoT device and its application, using a message-based architecture to secure and administer IoT devices (Figure 1).
Платформа Интернета вещей Amazon Web Services (AWS) предоставляет комплексную среду, в которую безопасность встроена в качестве важной функции, поскольку она удовлетворяет различные функциональные потребности приложений Интернета вещей. Являясь выделенным интерфейсом для различных сервисов AWS, AWS IoT находится между устройствами IoT и их приложениями, используя архитектуру на основе сообщений для защиты устройств IoT и управления ими (рис. 1).
As messages arrive from IoT end devices, developer-defined rules initiate appropriate actions involving other AWS services that work on behalf of the IoT application. In turn, the IoT application software interacts with cloud-based device shadows that maintain the last known state of the corresponding physical IoT devices. This shadowing ensures continued operation of the IoT application, even if the physical devices momentarily go offline. This service model depends upon a sophisticated set of security mechanisms that are designed to identify trusted entities and control their access to available resources.
Когда сообщение поступает с конечного устройства IoT, определенные разработчиком правила инициируют соответствующие действия с участием других сервисов AWS, работающих от имени приложения IoT. Приложения IoT, в свою очередь, взаимодействуют с тенями облачных устройств, которые поддерживают последнее известное состояние соответствующего физического устройства IoT. Эта тень обеспечивает непрерывную работу приложения IoT, даже если физическое устройство временно отключено. Эта сервисная модель опирается на сложный набор механизмов безопасности, предназначенных для идентификации доверенных объектов и контроля их доступа к доступным ресурсам.
At the heart of the AWS security model are identity and access management (IAM) policies. These spell out which devices, users, or services are permitted to access which specific resources within the IoT network, AWS environment, or the application. To a large extent, the success of this security model hinges upon reliable authentication of the entity (user, device, or service) requesting access to a particular resource. If bad actors are able to fool the security system into authenticating them as fully trusted users, the barriers presented by access rights rules effectively dissolve.
В основе модели безопасности AWS лежат политики управления идентификацией и доступом (IAM). Они описывают, каким устройствам, пользователям или службам разрешен доступ к конкретным ресурсам в сети IoT, среде AWS или приложении. В значительной степени успех этой модели безопасности зависит от надежной аутентификации объекта (пользователя, устройства или службы), запрашивающего доступ к конкретному ресурсу. Если злоумышленники смогут обманом заставить системы безопасности аутентифицировать себя как полностью доверенных пользователей, барьеры, создаваемые правилами прав доступа, эффективно исчезнут.
As with general web access, AWS uses public key infrastructure (PKI) keys and standard X.509 certificates. In fact, AWS security services use an authentication model familiar to web users. For secure web links, web browsers rely on underlying mechanisms such as transport layer security (TLS) services that check site certificates to authenticate the host server prior to establishing secure communications. More sensitive web-based applications supplement host authentication with client authentication, using a client certificate in the user's browser to confirm the user's identity.
Как и обычный веб-доступ, AWS использует ключи инфраструктуры открытых ключей (PKI) и стандартные сертификаты X.509. На самом деле сервисы безопасности AWS используют модель аутентификации, знакомую веб-пользователям. Для безопасных веб-ссылок веб-браузеры полагаются на базовые механизмы, такие как службы безопасности транспортного уровня (TLS), которые проверяют сертификаты сайта для аутентификации хост-серверов перед установлением защищенной связи. Более чувствительные веб-приложения дополняют аутентификацию хоста аутентификацией клиента, которая использует сертификат клиента в браузере пользователя для подтверждения личности пользователя.
Deployments of this kind of mutual authentication remain relatively rare in general web usage because few users are willing or able to take the steps needed to acquire their own client certificates and provision their browsers with those certificates. Yet, mutual authentication is key to reducing the attack surfaces available to bad actors. In fact, the AWS IoT service requires mutual authentication between an IoT device and the AWS cloud. If mutual authentication is difficult in general web usage, it presents significant challenges to IoT developers.
При обычном использовании Интернета развертывание такой взаимной аутентификации все еще относительно редко, поскольку немногие пользователи желают или могут предпринять шаги, необходимые для получения собственных клиентских сертификатов и предоставления их своим браузерам. Однако взаимная аутентификация является ключом к уменьшению поверхности атаки, доступной для злоумышленников. На самом деле сервисы AWS IoT требуют взаимной аутентификации между IoT-устройствами и облаком AWS. Если взаимная аутентификация затруднена при обычном использовании Интернета, это создает серьезные проблемы для разработчиков IoT.
To implement mutual authentication in IoT devices, developers need to overcome multiple hurdles. Besides dealing with the logistics of key and certificate acquisition, developers need to store those secrets securely with no possibility of unauthorized access. In addition, the IoT device needs the ability to execute encryption algorithms in a way that remains immune to penetration, all the while maintaining the overall performance of the IoT device.
Чтобы реализовать взаимную аутентификацию в устройствах IoT, разработчикам необходимо преодолеть несколько препятствий. Помимо управления логистикой получения ключей и сертификатов, разработчикам также необходимо хранить эти секреты надежно и без несанкционированного доступа. Кроме того, устройства IoT должны иметь возможность выполнять криптографические алгоритмы таким образом, чтобы они были непроницаемы для проникновения, сохраняя при этом общую производительность устройства IoT.
Developed in collaboration with AWS, pre-configured versions of the "generic" Microchip
CryptoAuthentication device meets these requirements, providing a simple drop-in solution for designers building devices for AWS IoT.
«Универсальная» предварительно сконфигурированная версия Microchip, разработанная в сотрудничестве с AWS.ATECC508AУстройство CryptoAuthentication отвечает этим требованиям, предоставляя разработчикам простое подключаемое решение для создания устройств AWS IoT.
Dedicated crypto
Created specifically for secure authentication, the ATECC508A IC combines hardware-based PKI algorithms and secure storage in a design that resists attack through physical, electrical, or software means. The device connects through its I^2^C interface to a design's host CPU. The host CPU then uses a simple command set to perform encryption, update the stored certificate, and access other ATECC508A functions. In fact, the ATECC508A internally generates private keys and stores them securely, eliminating the need for off-chip key management. Because the integrated crypto engine works with secure data within the same chip, the crypto secrets are never exposed on the external bus where they might be intercepted.
Разработанная для безопасной аутентификации, микросхема ATECC508A сочетает в себе аппаратные алгоритмы PKI и безопасное хранилище для защиты от атак с использованием физических, электрических или программных средств. Устройство подключается к спроектированному центральному процессору через его интерфейс I^2^C. Затем главный ЦП использует простой набор команд для выполнения шифрования, обновления сохраненных сертификатов и доступа к другим функциям ATECC508A. Фактически, ATECC508A генерирует закрытые ключи внутри и надежно хранит их, устраняя необходимость во внешнем управлении ключами. Поскольку встроенный криптографический механизм работает с защищенными данными в одном и том же чипе, криптографические секреты никогда не передаются на внешнюю шину, которую можно перехватить.
In offloading crypto execution from the host processor, the ATECC508A not only enhances security, but it does so without compromising performance. Designs using the ATECC508A can achieve TLS connections significantly faster than software-only TLS implementations. In benchmark tests, ATECC508A-based systems completed TLS connections more than five times faster on average than software-only implementations using a high performance ARM® Cortex®-M0-based processor^1^.
Разгружая выполнение криптографии с основного процессора, ATECC508A не только повышает безопасность, но и делает это без ущерба для производительности. Проектирование с использованием ATECC508A обеспечивает более быстрые соединения TLS, чем программные реализации TLS. В тестовых тестах системы на базе ATECC508A выполняют соединения TLS в среднем в 5 раз быстрее^1^, чем чистая программная реализация с использованием высокопроизводительного процессора ARM® Cortex®-M0.
The ATECC508A offers substantial benefits for IoT designers, but in its generic form it remains essentially a blank slate for authentication applications. Although the device internally generates private keys, it requires development organizations to acquire and load trusted X.509 certificates. Certificates build on a hierarchy of trust, where root certificates sign certificates used on hosts and clients. Building this trust hierarchy is fundamental to secure systems and applications. For developers, however, the detailed logistics of certificate generation and registration represents a significant complication. Worse, certificate generation for prototypes or pre-production systems can simply be a waste of time when production units use a separate root certificate or a different chain of certificates. A pre-configured ATECC508A provides a simpler solution for engineers using the AWS IoT platform in pre-production designs.
ATECC508A предлагает большие преимущества для разработчиков IoT, но в своей универсальной форме он остается в значительной степени чистым листом для приложений аутентификации. Хотя устройство создает внутренний закрытый ключ, оно требует, чтобы организация-разработчик получила и загрузила доверенный сертификат X.509. Сертификаты строятся на основе иерархии доверия, где корневой сертификат подписывает сертификаты, используемые на хосте и клиенте. Построение этой иерархии доверия является основой систем и приложений безопасности. Однако для разработчиков детальная логистика создания и регистрации сертификатов представляет значительную сложность. Что еще хуже, создание сертификата для прототипа или опытной системы может оказаться пустой тратой времени, если производственная единица использует отдельный корневой сертификат или другую цепочку сертификатов. Предварительно настроенный ATECC508A представляет собой более простое решение для инженеров, использующих платформу AWS IoT в опытных проектах.
Using the pre-configured ATECC508A devices, designers can implement authentication simply by dropping the device into their designs and connecting it to their host MCU through an I^2^C port. Available in 8-lead UDFN (
Используя предварительно сконфигурированное устройство ATECC508A, разработчики могут выполнить проверку, просто поместив устройство в свою конструкцию и подключившись к главному MCU через порт I^2^C. Обеспечивает 8-контактный UDFN (ATECC508A-MAHAW-S) and 8-lead SOIC (
) and 8-lead SOIC (ATECC508A-SSHAW-T) versions, the devices are pre-provisioned with the necessary client certificates and pre-configured to work with AWS IoT. Developers can solder the device into their own designs and interact with AWS IoT using application programming interfaces (APIs). These APIs reside within the AWS software development kit (SDK) libraries hosted on their target system.
) устройство предварительно настроено с необходимыми клиентскими сертификатами и настроено для использования AWS IoT. Разработчики могут встраивать устройства в собственные конструкции и взаимодействовать с AWS IoT с помощью интерфейсов прикладного программирования (API). Эти API находятся в библиотеках AWS Software Development Kit (SDK), размещенных в их целевых системах.
Alternatively, they can evaluate the device using the Microchip AWS zero-touch provisioning kit (Figure 2).
В качестве альтернативы они могут использовать Microchip для оценки устройства.AT88CKECC-AWS-XSTKКомплект AWS Zero Touch Provisioning Kit (рис. 2).
Along with
Along with ATCRYPTOAUTH-XPRO Crypto eval boards for the ATECC508, the kit provides a complete IoT design prototype, comprising the
Оценочная плата шифрования для ATECC508, этот комплект обеспечивает полное прототипирование дизайна IoT, включаяATSAMG55-XPRO SAM G MCU board,
SAM G MCU board, ATWINC1500-XSTK RF board, and the
RF board, and the ATOLED1-XPRO board with display, buttons, and switches used to simulate IoT data events.
Печатная плата с дисплеем, кнопками и переключателями для имитации событий данных IoT.
Zero-touch provisioning
Whether working from a custom prototype or the starter kit, developers can implement AWS mutual authentication with the ATECC508A-xxxAW by simply plugging the device into a design. The advantages of the ATECC508A-xxxAW become evident the first time the device connects with AWS IoT.
Используя пользовательский прототип или стартовый комплект, разработчики могут пройти взаимную сертификацию AWS с помощью ATECC508A-xxxAW, просто подключив устройство к проекту. Преимущества ATECC508A-xxxAW становятся очевидными при первом подключении устройства к AWS IoT.
On initial connection, the ATECC508A-xxxAW device interacts with AWS IoT to automatically complete the AWS just-in-time registration (JITR) process that uniquely identifies each IoT device within AWS IoT. Additionally, IoT developers can extend this concept of zero-touch provisioning beyond designs based on these pre-configured ATECC508A versions.
При первоначальном подключении устройства ATECC508A-xxxAW взаимодействуют с AWS IoT для автоматизации процесса регистрации AWS в реальном времени (JITR), который однозначно идентифицирует каждое устройство IoT в AWS IoT. Кроме того, разработчики Интернета вещей могут расширить эту концепцию автоматической подготовки за пределы проектов, основанных на этих предварительно настроенных версиях ATECC508A.
Commonly used in IT network environments, zero-touch provisioning (ZTP) allows network equipment deployments to proceed without user intervention. At startup, the network identifies new network equipment and authorizes its connection to the network, just as AWS JITR automatically provisions pre-configured IoT devices. For IoT applications expected to encompass massive numbers of devices, ZTP represents a particularly important concept. Using the Microchip AT88CKECC-AWS-XSTK starter kit, developers can gain a better understanding of the details behind certificate provisioning and ZTP using AWS JITR. In particular, developers can explore the use of custom software using AWS's serverless Lambda service to address unique requirements for the ZTP process.
Автоматическая инициализация (ZTP) обычно используется в ИТ-сетях, что позволяет продолжить развертывание сетевых устройств без вмешательства пользователя. При запуске сеть идентифицирует новые сетевые устройства и разрешает их подключение к сети, так же как AWS JITR автоматически настраивает предварительно настроенные устройства IoT. ZTP представляет собой особенно важную концепцию для приложений IoT, которые, как ожидается, будут содержать большое количество устройств. Используя стартовый комплект Microchip AT88CKECC-AWS-XSTK, разработчики могут использовать AWS JITR, чтобы лучше понять детали конфигурации сертификата и ZTP. В частности, разработчики могут использовать бессерверный сервис AWS Lambda, чтобы изучить возможность использования специального программного обеспечения для удовлетворения уникальных потребностей процессов ZTP.
Along with the IoT design hardware mentioned above, the starter kit comes with the Microchip
Наряду с упомянутым выше аппаратным обеспечением для проектирования IoT вместе с Microchip поставляется стартовый комплект.AT88CKECCROOTroot module utility and
утилита корневого модуля иAT88CKECCSIGNER signer module utility. The root and signer modules each come with a USB dongle that contains root keys and signing keys, respectively.
Утилита модуля подписи. Каждый из модулей root и signer несет USB-ключ, содержащий корневой ключ и ключ подписи соответственно.
Working with the starter kit, developers connect the AT88CKECC-AWS-XSTK and modules via USB to their PC, which should be running the starter kit software package. The starter kit application walks users through the details of registering certificates on AWS IoT. It uses the root and signer modules mentioned above to represent the roles of the actual root certificates and signing certificates that will eventually be used during manufacturing. For production units, a similar process would occur in the Microchip manufacturing facility where "blank" ATECC508As are configured using certificates that build upon the development organization's own root of trust (Figure 3).
Используя стартовый комплект, разработчик подключает AT88CKECC-AWS-XSTK и модуль через USB к ПК, на котором должен быть запущен пакет стартового комплекта. Приложение начального набора знакомит пользователя с деталями регистрации сертификата в AWS IoT. Он использует упомянутые выше модули root и signer для представления ролей фактических корневых сертификатов и сертификатов подписи, которые в конечном итоге будут использоваться во время производства. Для производственных ячеек аналогичный процесс происходит на производственном предприятии Microchip, где «пустой» ATECC508A настраивается с сертификатом, основанным на собственном корне доверия организации-разработчика (рис. 3).
Microchip supports the starter kit with a software package that reduces operations and interactions with AWS IoT to a few simple software calls. For example, the main routine in the sample application calls aws_demo_tasks_init(), which launches a series of separate tasks associated with each hardware component in the starter kit.
Microchip поддерживает стартовый комплект с программным пакетом, который сокращает работу и взаимодействие с AWS IoT до нескольких простых программных вызовов. Например, основная процедура в примере приложения вызывает aws_demo_tasks_init(), которая запускает серию отдельных задач, связанных с каждым аппаратным компонентом в стартовом наборе.
Developers can leverage the sample code set to create their own ATECC508-based designs for AWS IoT applications. In fact, the kit builds on the same CryptoAuthLib C-language offered as a standard package for ATECC508 software support. The starter kit simply converts higher-level calls to a series of low-level calls to the CryptoAuthLib library's "at" routines (Listing 1).
Разработчики могут использовать набор образцов кода для создания собственных проектов на основе ATECC508 для приложений AWS IoT. Фактически, комплект основан на том же языке CryptoAuthLib C, который предоставляется в качестве стандартного пакета, поддерживаемого программным обеспечением ATECC508. Стартовый набор просто переводит высокоуровневые вызовы в серию низкоуровневых вызовов подпрограммы at библиотеки CryptoAuthLib (листинг 1).
/**
* \brief Send a command array to ATECC508A over I2C.
*
* \param[in] tx_buffer Buffer to be sent
* \return ATCA_SUCCESS On success
*/
uint8_t aws_prov_send_command(uint8_t *tx_buffer)
{
uint8_t status = ATCA_SUCCESS;
uint8_t cmd_index;
uint16_t rx_length;
uint16_t execution_time = 0;
uint8_t *cmd_buffer;
ATCADevice _gDevice = NULL;
ATCACommand _gCommandObj = NULL;
ATCAIface _gIface = NULL;
do {
if (tx_buffer == NULL)
break;
/* Collect command information from TX buffer. */
if (aws_prov_get_commands_info(tx_buffer, &cmd_index, &rx_length) != ATCA_SUCCESS)
break;
cmd_buffer = (uint8_t *)malloc(tx_buffer[0] + 1);
memcpy(&cmd_buffer[1], tx_buffer, tx_buffer[0]);
/* Initialize every objects. */
_gDevice= atcab_getDevice();
_gCommandObj = atGetCommands(_gDevice);
_gIface = atGetIFace(_gDevice);
/* Get command execution time. */
execution_time = atGetExecTime(_gCommandObj, cmd_index);
if ((status = atcab_wakeup()) != ATCA_SUCCESS )
break;
/* Send command. */
if ((status = atsend( _gIface, (uint8_t *)cmd_buffer, tx_buffer[0])) != ATCA_SUCCESS)
break;
.
.
.
} while(0);
return status;
}
For developers working in custom environments, the CryptoAuthLib provides a well-defined architecture that isolates hardware dependencies into a hardware abstraction layer (HAL) (Figure 4). By modifying the HAL routines, developers can build in support for their unique operating environments.
Для разработчиков, работающих в пользовательских средах, CryptoAuthLib предоставляет четко определенную архитектуру, которая изолирует аппаратные зависимости на уровне аппаратной абстракции (HAL) (рис. 4). Изменяя подпрограммы HAL, разработчики могут обеспечить поддержку своей уникальной операционной среды.
Conclusion
Mutual authentication provides the most secure approach to communications between devices, users, and services, and has emerged as a requirement in AWS IoT. Yet, implementation of mutual authentication presents significant challenges for IoT device deployments. Its success depends on efficient methods for reliably provisioning IoT devices with the intellectual property underlying secure communications protocols.
Взаимная аутентификация обеспечивает наиболее безопасный способ связи между устройствами, пользователями и сервисами и стала обязательным требованием в AWS IoT. Однако реализация взаимной аутентификации создает серьезные проблемы для развертывания устройств IoT. Его успех зависит от эффективного способа эффективной настройки устройств IoT с интеллектуальной собственностью безопасных протоколов связи.
Microchip's pre-configured ATECC508 devices remove traditional barriers to implementation of mutual authentication and provide developers with a drop-in solution to IoT applications designed for AWS IoT. Using these devices, developers can implement ZTP that eliminates manual intervention in IoT device deployment, relying instead on automatic recognition and registration of IoT devices.
Предварительно настроенные устройства ATECC508 от Microchip устраняют традиционные барьеры для взаимной аутентификации и предоставляют разработчикам простое решение для приложений IoT, разработанных для AWS IoT. Используя эти устройства, разработчики могут реализовать ZTP, исключая вмешательство человека в развертывание устройств IoT, а не полагаясь на автоматическую идентификацию и регистрацию устройств IoT.
Reference:
Disclaimer: The opinions, beliefs, and viewpoints expressed by the various authors and/or forum participants on this website do not necessarily reflect the opinions, beliefs, and viewpoints of Digi-Key Electronics or official policies of Digi-Key Electronics.
Отказ от ответственности: Взгляды, убеждения и мнения, выраженные различными авторами и/или участниками форума на этом веб-сайте, не обязательно отражают мнения, убеждения и мнения Digi-Key Electronics, а также не обязательно отражают официальную политику Digi-Key Electronics.
Китайский и английский режим чтения
Китайский режим чтения
Английский режим чтения
Посмотреть оригинальный английский
Общедоступный номер: Galaxy № 1
Контактный адрес электронной почты: public@space-explore.com
(Пожалуйста, не перепечатывайте без разрешения)