Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
デバイス内データの安全な保管を考える
Search
Kentaro Mitsuyasu
May 07, 2022
Technology
0
83
デバイス内データの安全な保管を考える
Kentaro Mitsuyasu
May 07, 2022
Tweet
Share
More Decks by Kentaro Mitsuyasu
See All by Kentaro Mitsuyasu
セキュアエレメントによるWireGuardのセキュリティ強化
kmwebnet
0
6.1k
Private key protection hardened WireGuard implementation
kmwebnet
0
480
セキュアエレメントとWireGuard
kmwebnet
0
100
IoTデバイスセキュリティ
kmwebnet
0
53
セキュアなホームゲートウェイを作る
kmwebnet
0
38
セキュアエレメントとIoTデバイスセキュリティ
kmwebnet
0
140
simplecodec schematics
kmwebnet
0
62
rainbowtype secure prototyping suite
kmwebnet
0
23
セキュアエレメントとIOTデバイスセキュリティ2
kmwebnet
0
85
Other Decks in Technology
See All in Technology
段階的に進める、 挫折しない自宅サーバ入門
yu_kod
5
2.2k
小規模チームによる衛星管制システムの開発とスケーラビリティの実現
sankichi92
0
190
Modern Data Stack大好きマンが語るSnowflakeの魅力
sagara
0
270
AI駆動開発によるDDDの実践
dip_tech
PRO
0
270
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
5
47k
Multimodal AI Driving Solutions to Societal Challenges
keio_smilab
PRO
1
110
履歴テーブル、今回はこう作りました 〜 Delegated Types編 〜 / How We Built Our History Table This Time — With Delegated Types
moznion
15
9.3k
MySQL AIとMySQL Studioを使ってみよう
ikomachi226
0
130
翻訳・対話・越境で強いチームワークを作ろう! / Building Strong Teamwork through Interpretation, Dialogue, and Border-Crossing
ar_tama
4
1.5k
タグ付きユニオン型を便利に使うテクニックとその注意点
uhyo
2
470
Ryzen NPUにおけるAI Engineプログラミング
anjn
0
180
こがヘンだよ!Snowflake?サービス名称へのこだわり
tarotaro0129
0
110
Featured
See All Featured
Side Projects
sachag
455
43k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
36
6.2k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Producing Creativity
orderedlist
PRO
348
40k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.3k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
It's Worth the Effort
3n
187
29k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
690
Become a Pro
speakerdeck
PRO
30
5.7k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
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を安全に!