Slide 1

Slide 1 text

セキュアエレメントをライブデモで解説! 株式会社ソラコム ソリューションアーキテクト 横田峻

Slide 2

Slide 2 text

自己紹介 横田峻 (shun) ソリューションアーキテクト 株式会社リコーにて電子回路設計、組 み込み・B2B向けWebソリューション のバックエンド開発などに従事したの ち、ソラコムに入社(2019/9) 得意領域はデバイス、クラウド

Slide 3

Slide 3 text

今回のデモの概要 AES 秘密鍵 Raspberry Pi セキュアエレメント 内蔵 暗号化/復号化 0x1A2B... • RaspberryPiとセキュアエレメントでのテキストの暗号化・復号化 • セキュアエレメント内のAES鍵は読み出すことができないため、暗 号化/復号化のAPIが提供されている • cryptoauthlibで提供されるPythonのライブラリを利用

Slide 4

Slide 4 text

AES暗号方式 AES 秘密鍵A 0x1A2B... { "battery": 54, "latitude": 35.652748, "longitude": 139.750827 } 暗号化 { "battery": 54, "latitude": 35.652748, "longitude": 139.750827 } 復号化 AES 秘密鍵A { "battery": 54, "latitude": 35.652748, "longitude": 139.750827 } 復号化 AES 秘密鍵B • 共通鍵暗号方式 • 同じ鍵で暗号化/復号化を行う • 違う鍵だと正しく復号化できない

Slide 5

Slide 5 text

ATECC608B-TNGTLS • 利用製品はM5Stack用暗号認証ユニット(ATECC608B) • https://www.switch-science.com/catalog/7480/ • 暗号化チップ : ATECC608B-TNGTLSU-G • 対応アルゴリズム方式 : ECC-P256(ECDH、ECDSA)、SHA256、AES128-GCM • 通信インターフェース : I2C(Grove互換)、最大バス速度 : 1 Mbps • 電源供給電圧 : 5 V DC • サイズ : 24 x 24 x 13 mm 特徴 • 証明書、KEYがプリインストール済み • Trust&GOプラットフォーム対応 • AWS-IoT、Azure、Googleなどのクラウドプ ラットフォームで使用される標準的な証明書

Slide 6

Slide 6 text

内部EEPROMのデータ構造 • スロットと呼ばれるパーティション16個 • 各スロットにバイト列を保存する • 各スロットのバイト列の位置をブロックで指定 スロット ブロック

Slide 7

Slide 7 text

応用例:Arc.jsonの暗号化 • 事前にSORACOM Arcの認証情報をセキュアエレメントで暗号化 • 暗号化済みのArc.jsonをデバイスに保存 • 接続を作るときはセキュアエレメントで復元する • 特定のハードウェアからしかArcの接続を作れない仕組み 0x1A2B... 暗号化Arc.json AES 秘密鍵 ATECC608B 内蔵 復号化 Arc.json SORACOM Arc

Slide 8

Slide 8 text

まとめ • セキュアエレメントによって重要な情報(秘密鍵等)を読み 出すことなく利用が可能 • プロビジョニング済みのATECC608Bならば、プリインの 鍵や証明書を利用できるので非常に簡単 • ハードウェアによるセキュリティ強化が意外と簡単に実装 ができる • 触ってみるとわかるのでぜひチャレンジしてみてくださ い!

Slide 9

Slide 9 text

世界中のヒトとモノをつなげ 共鳴する社会へ