CryptodevATECCx08 Auth: различия между версиями
Xenols (обсуждение | вклад) Метка: visualeditor-switched |
Xenols (обсуждение | вклад) Метка: visualeditor-switched |
||
Строка 1: | Строка 1: | ||
== Использование встроенного чипа ATECCx08 для авторизации на внешних сервисах. == | == Использование встроенного чипа ATECCx08 для авторизации на внешних сервисах. == | ||
В контроллеры '''WirenBoard''' встроен чип '''ATECCx08''', назначением которого является генерация ключевых пар, | В контроллеры '''WirenBoard''' встроен чип '''ATECCx08''', назначением которого является генерация ключевых пар, | ||
Строка 18: | Строка 20: | ||
Далее нужно отредактировать файл /etc/ssl/openssl.cnf, добавив в нем следующие строчки: | Далее нужно отредактировать файл /etc/ssl/openssl.cnf, добавив в нем следующие строчки: | ||
< | |||
<pre> | |||
openssl_conf = openssl_init | openssl_conf = openssl_init | ||
Строка 29: | Строка 32: | ||
[ateccx08_section] | [ateccx08_section] | ||
init = 1 | init = 1 | ||
</ | </pre> |
Версия 17:39, 5 февраля 2019
Использование встроенного чипа ATECCx08 для авторизации на внешних сервисах.
В контроллеры WirenBoard встроен чип ATECCx08, назначением которого является генерация ключевых пар, хранение приватных ключей а также операции асимметричного шифрования с использованием эллиптических кривых.
Приватный ключ после начальной инициализации хранится в микросхеме и не покидает ее, тем самым исключается его компрометация.
Используя данную микросхему можно организовать авторизацию контроллера и защиту соединения по SSL на внешних сервисах и быть уверенным, что запрос выполнен с использованием именно этого экземпляра микросхемы.
В данной статье пойдет речь о трех вариантах применения: nginx, openssl, mosquitto.
Для доступа к криптоустройству нужна библиотека libateccssl1.1, установим ее
- apt install libateccssl1.1
Далее нужно отредактировать файл /etc/ssl/openssl.cnf, добавив в нем следующие строчки:
openssl_conf = openssl_init [openssl_init] engines = engine_section [engine_section] ateccx08 = ateccx08_section [ateccx08_section] init = 1