Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
デバイス内データの安全な保管を考える
Search
cyberomusubi
May 07, 2022
Technology
120
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
34
セキュアエレメントによるWireGuardのセキュリティ強化
cyberomusubi
0
7k
Private key protection hardened WireGuard implementation
cyberomusubi
0
570
セキュアエレメントとWireGuard
cyberomusubi
0
140
IoTデバイスセキュリティ
cyberomusubi
0
91
セキュアなホームゲートウェイを作る
cyberomusubi
0
75
セキュアエレメントとIoTデバイスセキュリティ
cyberomusubi
0
200
simplecodec schematics
cyberomusubi
0
110
rainbowtype secure prototyping suite
cyberomusubi
0
60
Other Decks in Technology
See All in Technology
AIエージェント時代、Kaggleにどう取り組むか
takanao
2
390
Oracle Database Security 詳細解説
oracle4engineer
PRO
1
130
構造で守らせる データ・法務・セキュリティ・開発チームとつくる AI時代のデータガバナンスとデータ基盤のリアル
legalontechnologies
PRO
2
670
ポケモン対戦を自動で記録して振り返ろう
fufufukakaka
0
420
You Have Agency(サンキュー、Ruby)
snoozer05
PRO
4
590
Jev の中身は50行で再現できる。でも本物との差はどこにあるのか
hisuzuya
0
180
クラウドエージェントの先駆け Devin。今も最先端を走る、他との違い
kinopeee
1
510
AIテスト自動化と評価駆動開発EDD
happysamurai294
0
100
Microsoft のサポート ライフサイクルを理解する
murachiakira
PRO
0
230
契約で守るコンパウンドプロダクトのデザインシステム
yug1224
1
1.6k
外国人エンジニアがVueプロトタイプで仕様を合わせている話 / Vue Fes Japan 2026 LT
eluwing
0
300
Snowflake でできることが増えたら、 ABAC が必要になった
kaeton
0
120
Featured
See All Featured
How to Talk to Developers About Accessibility
jct
2
600
Producing Creativity
orderedlist
PRO
348
41k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.9k
sira's awesome portfolio website redesign presentation
elsirapls
0
480
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
900
Mobile First: as difficult as doing things right
swwweet
225
10k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
590
Code Review Best Practice
trishagee
74
20k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
12k
Bash Introduction
62gerente
615
220k
The Curse of the Amulet
leimatthew05
3
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を安全に!