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
cyberomusubi
May 07, 2022
Technology
100
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
22
セキュアエレメントによるWireGuardのセキュリティ強化
cyberomusubi
0
6.8k
Private key protection hardened WireGuard implementation
cyberomusubi
0
550
セキュアエレメントとWireGuard
cyberomusubi
0
130
IoTデバイスセキュリティ
cyberomusubi
0
78
セキュアなホームゲートウェイを作る
cyberomusubi
0
62
セキュアエレメントとIoTデバイスセキュリティ
cyberomusubi
0
180
simplecodec schematics
cyberomusubi
0
93
rainbowtype secure prototyping suite
cyberomusubi
0
48
Other Decks in Technology
See All in Technology
Baseline対応のDOMの型定義を作った
uhyo
2
650
背中から、背中へ /paying forward to community
naitosatoshi
0
210
AI Agentをシステムに組み込む前にゆるく向き合ってみる
hayama17
0
190
Multi-Agent並列開発を 安全に回すための技術 / Technology for Safely Multi-Agent Parallel Development
tooppoo
0
250
『AIに負けない』より『AIと遊ぶ』」〜ワクワクが最強のテスト・QA学習戦略_公開用
odan611
1
370
インフラ寄りSREでも 開発に踏み出せる〜境界を越えてユーザー体験に向き合いたい〜
sansantech
PRO
0
160
フルAIで個人開発して学んだあれこれ / yuruai vol.1
isaoshimizu
0
170
組織における AI-DLC 実践
askul
0
300
なぜ私たちのSREプラクティスはなかなか機能しないのか 〜システムより先に組織を見る〜 / Why our SRE practices aren't really working
vtryo
0
160
そのハーネス、本当に境界になっていますか? AIエージェント時代の実行環境設計【MEGU-Meet #4】
cscengineer
PRO
0
100
AI時代における最適なQA組織の作り方
ymty
3
350
Agentic AI 時代のテスト手法: Kiro とはじめるプロパティベーステスト (AWS Summit Japan 2026 | DEV212)
ymhiroki
0
200
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Scaling GitHub
holman
464
140k
Building the Perfect Custom Keyboard
takai
2
810
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.5k
Amusing Abliteration
ianozsvald
1
220
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
62
44k
KATA
mclloyd
PRO
35
15k
Tell your own story through comics
letsgokoyo
1
980
The SEO identity crisis: Don't let AI make you average
varn
0
510
Odyssey Design
rkendrick25
PRO
2
720
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.3k
RailsConf 2023
tenderlove
30
1.5k
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を安全に!