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
What is a AzureSphere?
Search
motoriderse
October 26, 2018
Programming
0
550
What is a AzureSphere?
Azure Sphereって何それ?おいしいの?、というところから 関連するAzureのサービスや開発方法などについて解説します。
motoriderse
October 26, 2018
Tweet
Share
More Decks by motoriderse
See All by motoriderse
いまさら聞けないSPAのきほん
motoriderse
0
290
Azure Bot ServiceとLUISとちょっとだけIoTの話
motoriderse
0
690
Azure IoT SDKs LTSB リリース
motoriderse
0
450
5分でわかった気になるEdge Computing とAzure IoT Edge
motoriderse
0
380
Azure Iot Edge Shallow Dive
motoriderse
0
1k
Azureで最も手軽にIoTを始める手法
motoriderse
0
350
Azure IoT Hubのススメ ~デバイス管理編~
motoriderse
0
1.9k
Azure IoT Hubのススメ ~概要編~
motoriderse
0
870
Other Decks in Programming
See All in Programming
SODA - FACT BOOK(JP)
sodainc
1
8.6k
SwiftDataを使って10万件のデータを読み書きする
akidon0000
0
230
Webサーバーサイド言語としてのRustについて
kouyuume
0
2.3k
コードとあなたと私の距離 / The Distance Between Code, You, and I
hiro_y
0
190
理論と実務のギャップを超える
eycjur
0
170
タスクの特性や不確実性に応じた最適な作業スタイルの選択(ペアプロ・モブプロ・ソロプロ)と実践 / Optimal Work Style Selection: Pair, Mob, or Solo Programming.
honyanya
3
180
他言語経験者が Golangci-lint を最初のコーディングメンターにした話 / How Golangci-lint Became My First Coding Mentor: A Story from a Polyglot Programmer
uma31
0
320
バッチ処理を「状態の記録」から「事実の記録」へ
panda728
PRO
0
180
CSC305 Lecture 06
javiergs
PRO
0
260
One Enishi After Another
snoozer05
PRO
0
130
CSC509 Lecture 07
javiergs
PRO
0
240
contribution to astral-sh/uv
shunsock
0
350
Featured
See All Featured
Measuring & Analyzing Core Web Vitals
bluesmoon
9
630
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Facilitating Awesome Meetings
lara
56
6.6k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
4 Signs Your Business is Dying
shpigford
185
22k
How GitHub (no longer) Works
holman
315
140k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.2k
How to Ace a Technical Interview
jacobian
280
24k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
920
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
36
6.1k
Building a Scalable Design System with Sketch
lauravandoore
463
33k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.2k
Transcript
Azure Sphere が やってくるってよ! 2018/9/22 .NET ラボ
Azure Sphereとは 2017/3/31 に立ち上がった「Project Sopris」による成果物。 IoTデバイスのセキュリティ強化が目的でシリコンチップからソフト ウェアに至るまでを評価。
極めてセキュリティの高いIoTデバイスを開発する為のソリューショ ンのこと。 ⇒ OSのことと勘違いされがち クラウド、ソフトウェア、デバイスを結びつける3つのコンポーネン トから成り立つ。
The Seven Properties of Highly Secure Devices ハードウェアベースの「Root of Trust」
小規模な信頼できるコンピューティングベース 多層防御 コンパートメント化 証明書ベースの認証 更新可能なセキュリティ 障害報告
セキュアなMCU MS製セキュリティ技術を搭載し認 定を受けたMCU。 セキュアなOS IoTデバイス向けに専用設計
Cloud Security Service 継続的なセキュリティサポート Azure Sphereのコンポーネント セキュアなMCU セキュアなOS Cloud Security Service
セキュアなMCU
そもそもMCUって? Micro Controller Unitの略で、通常マイコンと呼ばれる。 CPUやMPUに比べ、動作周波数のレンジが概ね1桁違う。 4/8/16/32bitアーキテクチャが混在。(4/8bitは根強い需要)
電圧高め。(標準3.3V) 消費電力は低め。(高くても数ワット) 価格は安め。(ほとんどが数十円~数百円) AzureSphereのMCUは認定を受ける必要がある。
HWアーキテクチャ
Microsoft Pluton Security Subsystem セキュリティプロセッサコア、暗 号化エンジン、ハードウェア乱数 生成器、公開/秘密鍵生成、非対称 および対称暗号化、セキュアブー ト用の楕円曲線デジタル署名アル
ゴリズム(ECDSA)検証など様々 な改ざん対策を含む。 ブートプロセスの一環として動作 ランタイムサービスとしてデバイ スの他のコンポーネントからの要 求を処理。
Application processor ARM Cortex-A ハードウェアベースのプロセスの区 画化を可能にし、OS、アプリ、 サービスの実行を担当。 これは、ユーザーモードとスーパー
バイザモードの両方でコードを実行 する2つのOS環境をサポート。 (ノーマルワールドとセキュアワー ルド) 開発者のアプリは、ノーマルワール ドのユーザーモードで実行される。
Real-time processor ARM Cortex-M ベアメタルコードまたはリ アルタイムOS(RTOS)を 使用するARM Cortex-M I
/ Oサブシステムが搭載
ネットワーク WIFI 2.4/5GHz 802.11 b / g / n
Multiplexed I/O ARM Cortex-AまたはARM Cortex-M I/Oコアのいずれ かにマップ可能。
Microsoft firewalls I/Oペリフェラルがマップさ れているコアにのみアクセ スできるようにするための サンドボックス機能
記憶装置 最低4MBの内蔵RAMと 16MBの内蔵フラッシュメモ リ
開発用ボード 主なスペック MCU:Mediatek製MT3620 ARM Coretex A7 ARM Coretex M4 WIFI:2.4/5GHz
電源:5V/1A 認証:CE,FCC,MIC,RoHS
Starter Kit 拡張用ボード OLEDディスプレイ LEDボタン ブザー
アナログ式回転角センサー リレー 温湿度センサー 光センサー
セキュアなOS
セキュアなOS カスタムLinuxカーネル 複数レイヤーから成る アプリケーションは コンテナ上で実行 リアルタイムI/O 安全にクラウドに接続
SphereOSが初めてのUNIXではない 1981年にXENIXを発表 AT&Tからライセンスを受けた、 世界初の商用UNIX 仮想記憶すらもたない8086プロ セッサ、数MBのメモリ、HDD無 し、という現在では考えられない
ミニマムな環境で動作することが 可能だった。 1984年、SCOという会社に権利を 移した https://ja.wikipedia.org/wiki/XENIX
Azure Security Service
Azure Security Service ソフトウェアアップデート 新たなセキュリティ脅威の検出 証明書ベースのデバイス間通信 あまり情報が無い。。。
開発について
開発環境の準備 IDEはVS2017 Azure Sphere SDK をインストール ※2018/9/22時点でプレビュー https://marketplace.visualstudio.com/items?itemName=Azure
SphereTeam.AzureSphereSDKforVisualStudio PCと開発用ボードをUSB接続 電源の供給とデバッグ Azure IoT Hub Device Provisioning Serviceを 使えるようにしておく
VS2017では テンプレートから作成可能 ※現在はC++のみ Azure IoT Hub Device Provisioning Service
Azure IoT Hub Device Provisioning Service(DPS) 工場でIoT Hub への接続情報を 書き込むことなく
単一のIoTソリューションに ZTP(ゼロタッチ・プロビジョニング) することが可能。
プロビジョニングの流れ DPS IoT hub 5. IoT Hubへ接続 device 1. DPSへ自身のhubを問い合わせ
2. ID作成依頼 4. 接続情報を返却 3. IDを返却
DSPへの接続設定は簡単
まとめ Azure Sphereとは3つのコンポーネントからなるソリューション セキュアなMCU マイクロソフトの認定 サンドボックス
セキュアなOS 各種レイヤー コンテナ クラウドのセキュリティサービス 証明書ベース ゼロタッチプロビジョニングが便利 AzureSphereでなくても使える
参考 http://blogs.itmedia.co.jp/appliedmarketing/2018/07/azure_sphere. html https://japan.zdnet.com/article/35099344/ https://docs.microsoft.com/en-us/azure-sphere/ https://www.seeedstudio.com/MT3620-Development-Board-for-
Azure-Sphere-p-3052.html# https://marketplace.visualstudio.com/items?itemName=AzureSpher eTeam.AzureSphereSDKforVisualStudio http://ascii.jp/elem/000/001/665/1665218/ https://azure.microsoft.com/en-us/blog/developing-an-azure- sphere-experience-with-visual-studio/ https://tech.nikkeibp.co.jp/atcl/nxt/column/18/00001/00325/