$30 off During Our Annual Pro Sale. View Details »

電子証明書でデバイス認証を強化せよ

 電子証明書でデバイス認証を強化せよ

2022/11/28 【オンライン】エッジAI入門&活用シリーズ#4『Azure IoTサービス』編
https://algyan.connpass.com/event/265438/

MATSUOKA Takashi

November 28, 2022
Tweet

More Decks by MATSUOKA Takashi

Other Decks in Technology

Transcript

  1. 電子証明書で
    デバイス認証を
    強化せよ
    Takashi Matsuoka
    @matsujirushi12
    - 2022/11/28 【オンライン】エッジAI入門&活用シリー
    ズ#4『Azure IoTサービス』編 -

    View Slide

  2. Takashi Matsuoka
    @matsujirushi12
    2017~ MVP for Windows Development
    2020~ for Microsoft Azure
    2022~ for Internet of Things
    「e」3つ
    1991年大手メーカーに入社し、工場の自動
    化や情報システムの開発、運用に従事。
    2017年8月、Seeed株式会社設立時に転職。
    組み込みデバイスの開発環境整備やライブ
    ラリ開発を担当。
    “初心者の次”へ行くのに身に付けるべきスキルをとりまとめた書籍

    View Slide

  3. 本セッションで話すこと
    • Azure IoT Hubとデバイスの認証
    • Azure IoT Hub Device Provisioning Service、Azure IoT Centralは除外
    • X.509証明書や公開鍵暗号、デジタル署名、PKI、TLSは解説しません
    • 良質な書籍やWebで学んでください
    言いたいことがあれば#ALGYANでツィートを!
    (質問、要望、感想、意見、反論などなど)

    View Slide

  4. オススメの書籍
    発売日:2003/5/31
    ページ数:848
    発売日:2017/8/3
    ページ数:720
    発売日:2018/10/2
    ページ数:196
    発売日:2018/6/4
    ページ数:520

    View Slide

  5. Azureサービスとデバイスの接続
    Azure
    IoT Hub
    Azure
    Event Hubs
    Devices
    Cloud Gateway
    Azure
    Stream Analytics
    Azure
    Functions
    Azure
    Digital Twins
    Azure
    Data Explorer
    Azure
    Logic Apps
    Azure
    App Service
    Azure Services
    IoT Device
    Azure
    IoT Edge
    One-way
    Two-way
    Internet
    Azure
    IoT Edge
    IoT Device

    View Slide

  6. Azure IoT CentralはAzure IoT Hubでインプリ
    引用:【オンライン】『Azure IoT Central』入門セミナー!エンジニア達が全体像を解説します。
    https://youtu.be/hmoRw4WqtMc?t=1884

    View Slide

  7. Azure IoT Hubとデバイスの認証
    IoT Device #1
    Azure
    IoT Hub
    IoT Device #1
    IoT Device #2
    1.Azure IoT Hubを認証 2.デバイスを認証
    サーバ証明書とドメイン確認 2-A. SAS方式
    2-B. X.509方式
    参考:デバイスの認証
    https://learn.microsoft.com/ja-jp/azure/iot-hub/iot-hub-tls-support#device-authentication

    View Slide

  8. 1. Azure IoT Hubを認証
    IoT Device
    Azure
    IoT Hub
    サーバ証明書とドメイン確認
    サーバ証明書(+公開鍵)
    *.azure-devices.net
    サーバ秘密鍵
    中間証明書(+公開鍵)
    MSFT BALT RS256 CA
    ルート証明書(+公開鍵)
    Baltimore CyberTrust Root
    発行者
    発行者
    参考:IoT Hub でのトランスポート層セキュリティ (TLS) のサポート
    https://learn.microsoft.com/ja-jp/azure/iot-hub/iot-hub-tls-support

    View Slide

  9. 2-A. デバイスを認証 – SAS方式
    IoT Device
    Azure
    IoT Hub
    対称鍵
    SASトークン
    SharedAccessSignature sr=myhub.azure-devices.net%2fdevices%2fdevice1&
    sig=13y8ejUk2z7PLmvtwR5RqlGBOVwiq7rQR3WZ5xZX3N4%3D&se=1456971697
    SAS確認
    生成
    参考:デバイスとして SAS トークンを使用する
    https://learn.microsoft.com/ja-jp/azure/iot-hub/iot-hub-dev-guide-sas?
    tabs=node#use-sas-tokens-as-a-device
    引用:IoT Hubへ接続するときの認証やキーなど
    https://matsujirushi.hatenablog.jp/entry/2019/12/31/113519
    対称鍵
    一致

    View Slide

  10. 2-B. デバイスを認証 – X.509方式
    IoT Device
    Azure
    IoT Hub
    デバイス
    秘密鍵
    デバイス証明書確認
    拇印
    デバイス証明書(+公開鍵)
    device1
    ルート証明書(+公開鍵)
    発行者
    参考:デバイスの認証
    https://learn.microsoft.com/ja-jp/azure/iot-hub/iot-hub-tls-support#device-authentication
    一致
    X.509自己署名
    X.509CA署名

    View Slide

  11. SAS方式、X.509方式
    SAS方式
    ✓ 取り扱いがシンプル
    対称鍵
    ✓ 隠蔽は難しいかも?
    HSMのHMAC-SHA256を使う?
    ✓ TLS以外でも使える
    X.509方式
    ✓ 柔軟かつ堅牢な認証基盤
    拇印、中間証明書、ルート証明書
    有効期間、失効
    暗号スイート
    HSM
    ✓ 選択と運用が必要
    証明書の再発行
    ✓ コア部分の実装が辛い
    ✓ Azure IoT Edgeの透過ゲートウェイでは使えない?

    View Slide

  12. 本番環境はX.509方式を推奨
    引用:Device authentication concepts in IoT Central
    https://learn.microsoft.com/en-us/azure/iot-central/core/concepts-device-authentication
    “Devices authenticate with the IoT Central application by using either a shared
    access signature (SAS) token or an X.509 certificate. X.509 certificates are
    recommended in production environments.”

    View Slide

  13. X.509方式 – 選択と運用
    ✓ デバイス秘密鍵隠蔽
    ✓ ルート証明書更新
    ✓ デバイス公開鍵正当性確認
    ✓ デバイス証明書期間
    ✓ デバイス証明書更新
    FOTA
    HSM
    FOTA
    ✓ デバイス証明書発行
    拇印、PKI
    (自己署名)、私設CA署名、CAサービス署名

    View Slide

  14. Device Update for Azure IoT Hub
    引用:Device Update for IoT Hub is now generally available
    https://techcommunity.microsoft.com/t5/internet-of-things-blog/device-update-for-iot-hub-is-now-generally-available/ba-p/3664784

    View Slide

  15. まとめ
    • 正しいAzure IoT Hubなのかは、サーバ証明書で確認
    • 正しいデバイスなのかは、SASトークン or デバイス証明書で認証
    • SAS方式 … SASトークン
    • X.509方式 … デバイス証明書
    • X.509方式はイロイロと考えなければいけないことが多い
    • デバイス証明書発行
    • デバイス証明書更新
    • マイクロソフトは本番環境ではX.509方式を推奨
    • 暗に、開発環境はSAS方式のが良いと言ってる?

    View Slide

  16. Azure IoT TLS: Critical changes are almost here!
    https://techcommunity.microsoft.com/t5/internet-of-things-blog/azure-iot-tls-critical-changes-are-almost-here-and-why-you/ba-p/2393169
    参考:待ったなし! いますぐAzure IoTのルート証明書を確認せよ!(2023年2月期限)
    https://qiita.com/matsujirushi/items/6234b7ff79acb355f876

    View Slide

  17. https://algyan.connpass.com/event/267859/

    View Slide