Upgrade to Pro — share decks privately, control downloads, hide ads and more …

セキュアエレメントをライブデモで解説!

SORACOM
PRO
February 21, 2022

 セキュアエレメントをライブデモで解説!

2022年2月21日(月)SORACOM IoT Meetup 〜IoTデバイスセキュリティ勉強会!セキュアエレメントを学ぶ〜にて、ソラコム ソリューションアーキテクトの横田が発表した資料「セキュアエレメントをライブデモで解説!」を公開しました。
https://soracom.connpass.com/event/238001/

SORACOM
PRO

February 21, 2022
Tweet

More Decks by SORACOM

Other Decks in Technology

Transcript

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

    View Slide

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

    View Slide

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

    View Slide

  4. 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
    • 共通鍵暗号方式
    • 同じ鍵で暗号化/復号化を行う
    • 違う鍵だと正しく復号化できない

    View Slide

  5. 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などのクラウドプ
    ラットフォームで使用される標準的な証明書

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide