はじめに
Nerves Slack を何気なく眺めていたところ、ATECC608 に関するやり取りが目に留まりました。
自分はまだセキュアエレメントや NervesKey を本格的に使ったことはありませんが、今後のための備忘録として、2025年12月時点の状況を簡潔にまとめておきます。
ATECC と NervesKey
Nerves では、Microchip の ATECC508A / ATECC608 系チップを載せた「NervesKey」を前提としたライブラリ群が用意されています。
nerves_key
- ATECC508A / ATECC608A を NervesKey として扱うための高水準ライブラリ。
- デバイス識別や NervesHub などとの TLS クライアント証明書認証で利用されます。
- HexDocs
atecc508a
- ATECC508A および後継の ATECC608 系を対象にした低水準ライブラリ。
- コンフィグ領域の読み出しや、ATECC608 形式への変換などを扱います。
- HexDocs
一方で ATECC608B はすでに生産終了(EOL)となっており、現在は ATECC608C が後継デバイスとして提供されています。 そのため、新規設計や基板リビジョンでは ATECC608C シリーズを前提に検討する流れが一般的になりつつあるようです。
Nerves コミュニティでの ATECC608C の話題
Nerves の Slack で印象に残ったポイントを、メモとしてまとめます。
-
ATECC608B は EOL、今後は 608C 前提へ
新しく基板を設計する場合、ATECC608C を前提にせざるを得ない状況になりつつある、という前提で議論されていました。 -
Nerves の ATECC ライブラリは 608C 搭載基板でも実運用されている
ATECC608C を載せたボードで、すでに Nerves のライブラリが使われており、出荷実績もあるとのことでした。
ただし「チップの全機能を網羅的に検証した」という意味ではなく、Nerves が実際に使っている範囲で問題なく動いているというニュアンスです。 -
タイミング差分はライブラリ側のリトライで吸収
世代間でコマンド応答時間などに差があっても、ライブラリ側がリトライする前提の実装になっており、細かいタイミング調整までは行っていない、というコメントがありました。 -
量産や基板リビジョンでは自前検証が前提
「608C でもたぶん大丈夫」という見立ては多いものの、基板リビジョンや製品設計では、実チップ・実基板を用いた検証が必須という慎重な意見もありました。
特に、公式データシートやマイグレーションガイドを確認した上で、自前で動作確認を行うのが現実的な対応とされています。
おわりに
ATECC608B の EOL により、今後の設計では ATECC608C を前提にせざるを得ない状況が見えてきました。
Nerves のライブラリは 608C を搭載した実機でも問題なく動作しているものの、608C 固有の挙動やタイミングまでは網羅的に検証されているわけではなさそうです。
製品設計等を行う場合は、自分たちのユースケースに合わせて実機で確認することが前提となりそうです。
今後は、自分でも「Nerves × ATECC608C」の組み合わせを検証してみたいと思っています。思ってはいます。