Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
デバイス内データの安全な保管を考える
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
cyberomusubi
May 07, 2022
Technology
110
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
デバイス内データの安全な保管を考える
cyberomusubi
May 07, 2022
More Decks by cyberomusubi
See All by cyberomusubi
自宅スケーラブル・ファイルシステムのご紹介
cyberomusubi
0
31
セキュアエレメントによるWireGuardのセキュリティ強化
cyberomusubi
0
6.9k
Private key protection hardened WireGuard implementation
cyberomusubi
0
570
セキュアエレメントとWireGuard
cyberomusubi
0
140
IoTデバイスセキュリティ
cyberomusubi
0
86
セキュアなホームゲートウェイを作る
cyberomusubi
0
72
セキュアエレメントとIoTデバイスセキュリティ
cyberomusubi
0
190
simplecodec schematics
cyberomusubi
0
100
rainbowtype secure prototyping suite
cyberomusubi
0
56
Other Decks in Technology
See All in Technology
Backstageでつくるセルフサービスな社内開発基盤
kikunosuke75
1
340
Multica × 長期記憶:40個のミニプロジェクト管理
eiei114
0
140
DGX Sparkを2台使って いろいろ動かす話
sonoda_mj
1
130
作り直せるコードは迅速に 作り直せないDBは慎重に - AI時代のプロダクトエンジニアが「判断の不可逆性」で開発速度を変える話
kinosuke01
0
250
Kiro Crewしか勝たん!?
miu_crescent
PRO
0
180
IoTハンズオンの舞台裏
shirouz
2
150
Beyond the Hype: Practical AI for Your Oracle Database with MCP
thatjeffsmith
1
270
module Synths; end
asonas
1
120
設計の世代交代を乗り越える、14年続くAndroidアプリの開発戦略
sansantech
PRO
1
150
リージョンの壁を越える、 ちょっと変わったAWSサービスの話
falken
PRO
0
260
20260906 「AWS運用入門」著者が教える、運用業務への生成AI活用入門
masaruogura
0
240
推論の観測、できていますか? 〜 Google Cloud Gemini Enterprise Agent Platformで 3つの Gemini モデルを実測して踏んだ、評価の罠 〜
shukob
PRO
0
150
Featured
See All Featured
Optimizing for Happiness
mojombo
378
71k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
810
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
The Pragmatic Product Professional
lauravandoore
37
7.4k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.9k
Docker and Python
trallard
47
4.2k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.8k
Deep Space Network (abreviated)
tonyrice
0
290
Making the Leap to Tech Lead
cromwellryan
135
10k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
510
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.8k
Transcript
デバイス内データの 安全な保管を考える 光安 健太郎
Agenda • 自己紹介 • 昨今の話のまとめときっかけ • IoTセキュリティの潮流 • How to
implement it • 暗号化 • 考察とまとめ
自己紹介 インフラの出身で、サイバートラストというLinuxと電子認証局のビジネスを している会社で働いています。 自宅でいろいろやってきました。 自宅外向けDNS AD構築(Samba4) Nextcloudサーバー運用 自宅Gluster分散ファイルシステム構築(infiniband) Jupyter notebook
GPU 機械学習サーバー(nvidia Geforce RTX2070) Volumio Airplayサーバー https://qiita.com/kmitsu76 https://github.com/kmwebnet https://www.slideshare.net/KentaroM itsuyasu1/iot-144602008
昨今の話のまとめときっかけ IoTベンチャーでのいたましい事故 物を作るところから、自宅で趣味からセキュリティを検討しておこう。 そんな難しい話じゃないですよ。クライアント認証 はしてません。デバイス側のリソースが厳しいため、 サーバ証明書のフィンガープリントをハードコード してました(証明書チェーンは見ない)。サーバ証 明書はAWS ACMなんですけど、よりによって1年っ ていう短い設定かつ、自動更新(つづく)
IoTセキュリティの潮流 デバイス側は悪意のあるものに渡った時に秘密鍵を守れない。 それを守る方法として Hardware Root-of-Trustという仕組みで 秘密鍵を守ることが望ましい。 参考資料: IoT開発におけるセキュリティ設計の手引き 独立行政法人情報処理推進機構 https://www.ipa.go.jp/security/iot/iotguide.html
対応している仕組み: Arm Trustzoneとしてチップ内部に融合 セキュアエレメントとしての専用チップ
How to implement it ▪セキュアエレメント ATECC608購入 Digi-keyにて発注 25個買うと割引! SOIC⇒DIP変換のほうが高い! 索引
数量 品番 メーカー品番 商品概要 単価 金額 1 25A880AR-ND LCQT-SOIC8-8 SOCKET ADAPTER SOIC TO 8DIP 279.28¥6,982 2 25 ATECC608A- SSHDA-TCT-ND ATECC608A- SSHDA-T IC AUTHENTICATION CHIP 8SOIC 85.08¥2,127 小計 ¥9,109
How to implement it ▪実装 BOMリスト: ESP32-DevKitC 1個 ATECC608 1個
SOIC⇒DIP変換 1個 GY-BME280 1個 I2Cは100kHzで I2C0をピン21,22(ATECC608) I2C1をピン18,19(GY-BME280)へ接続 ▪開発環境 VSCode+platformio ESP-IDF 3.30
暗号化 ▪IoTデバイス内に重要情報を持たせる場合、どうしたらいいか。 そもそも持たせない(TLS通信でサーバーから取得) 持たせるしかない場合(ネットワーク接続のためのWIFI SSIDのパスワードなど) 暗号化を検討
暗号化 ▪暗号の基本:暗号化したいデータを暗号化(Encrypt)して、復号するための 鍵を入手する。その鍵を使ってのみ復号できる。 Encrypt Decrypt Plain Text Cipher Text Plain
Text
暗号化 ▪今回、AES-GCMという暗号を使用する。 AESは共通鍵暗号で、ブロック暗号といわれるデータを128ビットのブロックで 暗号化するアルゴリズム。
暗号化 ▪今回、AES-GCMという暗号を使用する。 GCMはブロック暗号の暗号利用モードの一つ。1ブロック128ビット(16バイト) より大きいデータを暗号化する際にどういう風にブロックを関連させるかを決定
暗号化 ▪暗号利用モードの選択は結構重要。ECBというモードではブロック間の関連を 考慮せず暗号化するため、データのパターンが露呈する。 よってECBモード以外を使用。 https://ja.wikipedia.org/wiki/%E6%9A%97%E5%8F%B7%E5%88%A9%E7%94%A8%E3%83%A2%E3%83%BC%E3%83%89 元画像 ECBモード ECBモード以外
IoTデバイス 暗号化 ▪デバイス内に、暗号化されたデータと鍵を置く。 鍵が簡単に見れてはまずいので、隠す必要がある。 Cipher Text ノムラテック カギの収納BOX NEW キーストック
ハンディ
暗号化 ▪ATECC608の持つAES-GCM機能を使用する。 •AES-128: encrypt/decrypt, galois field multiply for GCM
考察とまとめ 想定される攻撃: セキュアエレメントを基盤からはがしてのI2Cコマンド実行。 これを防ぐには、物理的な侵入検知の仕掛けを組み合わせて分解されたら 共通鍵を消す仕掛けを入れておく等、考えられる。 サンプルコードは下記にて公開: https://github.com/kmwebnet/ECC608-AES-GCM-test 日本のスタートアップIoTを安全に!