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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Kentaro Mitsuyasu
May 07, 2022
Technology
100
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
デバイス内データの安全な保管を考える
Kentaro Mitsuyasu
May 07, 2022
More Decks by Kentaro Mitsuyasu
See All by Kentaro Mitsuyasu
自宅スケーラブル・ファイルシステムのご紹介
kmwebnet
0
18
セキュアエレメントによるWireGuardのセキュリティ強化
kmwebnet
0
6.8k
Private key protection hardened WireGuard implementation
kmwebnet
0
550
セキュアエレメントとWireGuard
kmwebnet
0
120
IoTデバイスセキュリティ
kmwebnet
0
76
セキュアなホームゲートウェイを作る
kmwebnet
0
61
セキュアエレメントとIoTデバイスセキュリティ
kmwebnet
0
180
simplecodec schematics
kmwebnet
0
90
rainbowtype secure prototyping suite
kmwebnet
0
45
Other Decks in Technology
See All in Technology
ぼっちではじめた登壇が「51名」「241件」の発信に化けた
subroh0508
1
300
手塩にかけりゃいいってもんじゃない
ming_ayami
0
620
GitHub Copilot 最新アップデート – 「一歩先」の実践活用術
moulongzhang
5
1.6k
40代で“やっとエンジニアになれた”――閉じた学びを開き、空の青さを知る / 20260628 Naoki Takahashi
shift_evolve
PRO
4
650
【セミナー資料】Claude Code をセキュアに使うための考え方と設定の勘どころ / Claude Code Webinar 20260616
masahirokawahara
2
450
OTel × Datadog で 「AI活用」を計測し、改善に繋げる
shihochan
2
580
千葉での単身赴任からAWSをやり続け、千葉に戻ってきた話
yama3133
1
100
從開發到部署全都交給 AI:實作 AI 驅動的自動化流程
appleboy
0
120
When Platform Engineering Meets GenAI
sucitw
0
160
Kiro Ambassador を目指す話
k_adachi_01
0
110
IaC コードを資産へ:AWS CDK 社内ライブラリと横断展開 / aws-summit-japan-2026
gotok365
10
1.5k
iOS アプリの「これって不具合ですか?」を AI に調べてもらう
miichan
0
140
Featured
See All Featured
Mind Mapping
helmedeiros
PRO
1
260
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.5k
Music & Morning Musume
bryan
47
7.2k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.5k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
55k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
430
How to Ace a Technical Interview
jacobian
281
24k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.3k
Skip the Path - Find Your Career Trail
mkilby
1
150
New Earth Scene 8
popppiees
3
2.3k
Why Our Code Smells
bkeepers
PRO
340
58k
Navigating Team Friction
lara
192
16k
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を安全に!