Contenu connexe Similaire à IoT/M2Mのセキュリティ ~こんなはずじゃ!orz になる前に知っておきたい IoT/M2Mの落とし穴~ (20) IoT/M2Mのセキュリティ ~こんなはずじゃ!orz になる前に知っておきたい IoT/M2Mの落とし穴~3. 講師紹介
• 講師紹介
IT&組込み技術ライター
トライアングルエレクトロニクス 代表 久保幸夫
• 関西の大手電鉄系エンジニアリング会社勤務後、2001年にIT関連セミ
ナー講師として独立。現在は、日経BP社、電波新聞社、CQ出版社、オー
ム社など技術系の出版社で執筆や講演活動を行う。ITや組込み、エレク
トロニクス関連まで、幅広くてがける“何でも屋”。最近は、IoT/M2Mがら
みの執筆仕事や講演・講座が急増中。
• 大阪・日本橋 ROBOBAの住人
– 日本橋でんでんタウン・ロボット連絡会 監事
• 雑誌連載
– 日経ネットワーク誌 ネットワーク実験室シリーズ 2003年4月~
– 電波新聞社 電子工作マガジン 工作記事 2008年~
– オーム社 電気と工事 ネットワークQ&A 20016年4月~
• CQ出版 インタフェース誌 2007年7月~2008年7月 その他
7. 1 セキュリティとは?
• JIS Q 27002 (ISO/IEC 27002)の定義
– 機密性 (confidentiality)
• 情報へのアクセスを認められた者だけが、その情 報にアクセ
スできる状態を確保すること
– 完全性 (integrity)
• 情報が破壊、改ざん又は消去されていない状態を確保す
ること
– 可用性 (availability)
• 情報へのアクセスを認められた者が、必要時に中断す るこ
となく、情報及び関連資産にアクセスできる状態を確保す
ること
– 以上3点(CIA)を維持すること。
8. 1 セキュリティとは?
• JIS Q 27002 (ISO/IEC 27002)の定義
– 機密性 (confidentiality)
• 情報へのアクセスを認められた者だけが、その情 報にアクセ
スできる状態を確保すること
– 完全性 (integrity)
• 情報が破壊、改ざん又は消去されていない状態を確保す
ること
– 可用性 (availability)
• 情報へのアクセスを認められた者が、必要時に中断す るこ
となく、情報及び関連資産にアクセスできる状態を確保す
ること
– 以上3点(CIA)を維持すること。
はあ?
9. 1 セキュリティとは?
• C:機密性 (コンフィデンシャリィ)
– (見たらイケない人は)情報を見れない
• 暗号化により、イケない人が見ても意味不明
• I:完全性 (インテグリティ)
– 情報が正しく、書き換えられていないこと
• デジタル署名などにより、改ざんを検知
• A:可用性 (アベイラビリティ)
– 情報にアクセスできること
• (見ても良い人は)必要な時に、情報にアクセスできる
• 要は、いつも使えること
• 以上3点(CIA)を維持すること。
13. 2 IoT/M2Mのセキュリティ
• IoT/M2Mシステムの要素
– データ
• 蓄積・分析・判断 ビッグデータ、機械学習…
– コネクタビリティ
• 無線(PAN、モバイル)、有線
– ノード(デバイス)
– センシング
– コントロール
– 実世界(リアル)
• 計測対象・制御対象
– これらが(これらの中に)情報資産があり
脅威から守るべき対象となる。
情報資産
情報資産
情報資産
情報資産 情報資産
15. 2 IoT/M2Mのセキュリティ
• IoT/M2Mシステムの要素
– データ
• 蓄積・分析・判断 ビッグデータ、機械学習…
– コネクタビリティ
• 無線(PAN、モバイル)、有線
– ノード(デバイス)
– センシング
– コントロール
– 実世界(リアル)
– 物理セキュリティ
• IoT/M2Mのセキュリティ
IoT/M2Mのセキュリティ
=サイバーセキュリティ+リアル世界のセキュリティ
ここの、セキュリティは、
結構注目されているような・・・
レイヤが低めの
セキュリティが、
遅れているような・・・
17. 3 機密性の面からIoT/M2Mを考える
• こんな IoT/M2M嫌だ!
• 例
– IoT対応Bluetoothヘルスメータのデータが外部に
漏洩したら・・・
• 知らないBluetoothデバイスにペアリングしたら・・・
隣の家のヘルスメータだった・・・
• こんなの嫌だ!
• IoT/M2Mのシステムを作り、サービスを提供する
ほうも、個人情報への配慮が必要
18. 3 機密性の面からIoT/M2Mを考える
• 個人情報が漏洩したときの代償
– 某、通信教育 会社
• 秘匿性 低
– 基本的情報
» 氏名、住所、性別、年齢・・・
– 500円の商品券/一人
– 下着メーカやエステ
• 秘匿性 高い
– 知られると超!恥ずかしい
» スリーサイズ
» エステの施術コース
– 数万円/一人
–
– 参考
• 弁護士法人みずほ中央法律事務所
– http://www.mc-law.jp/kigyohomu/9055/
19. 3 機密性の面からIoT/M2Mを考える
• IoT/M2M時代
– 家の中、社会の隅々までセンサーノードが
– ねっとにつながる機器が増える
– ウェアラブル機器
• バイタル情報・・・
– 今まで、見えなかったことも、可視化できる
– 恥ずかしいデータも、増える
• 匿名であれば問題無し
• これが、個人を特定できるデータと、紐づけられたら・・・
– しっかりと、対策を考える必要がある
20. 4 完全性の面からIoT/M2Mを考える
• 完全性 (インテグリティ)
– 情報が正しく、書き換えられていないこと
• デジタル署名などにより、改ざんを検知
• と、書くと
– 悪意の第三者(攻撃者)によって、
データが,“改ざん”される
• 書き換えられるのは嫌だ!
• 正しいデータがあってはずの、BigData
– じゃ、デジタル署名やMAC(メッセージ認証符号)
を使って・・・メッセージの認証を・・・
• それも大事であるが、その前に・・・
今日は、オープンハード
カンファレンスなので、
ハードの話も
24. 4 完全性の面からIoT/M2Mを考える
• そもそも、そのデータ、取引に使えますか?
• 計量法
– 計量法第10条第1項は、法定計量単位により取引又
は証明における計量をする者に、正確に計量をするよう
努めることを義務づけています。この規定は、2.で後述
する特定商品以外の商品を取引する場合にも適用され
ます。 ・・・
– 詳しくは 経済産業省
– 計量法における商品量目制度の概要
» http://www.meti.go.jp/policy/economy/hyojun/te
chno_infra/14_gaiyou_ryoumoku.html
26. 4 完全性の面からIoT/M2Mを考える
• 1500件を交換、東北電力のスマートメーターに不具合
• http://itpro.nikkeibp.co.jp/atcl/news/16/012100184
• 東北電力は2016年1月20日、同社が設置していたスマートメーター
の一部に不具合があったと発表した。2015年12月から設置を進める
スマートメーターの電子回路に設計ミスあり、正しく電力量を測定できな
かった。不具合があった設置済みのスマートメーターは約1500件。
• 不具合があったスマートメーターは、容量が比較的大きな250アンペ
アの契約をしている顧客向けに、東北電力が2015年10月から設置を
始めたもの。売電設備を持たない顧客で売電用の電力量が測定され
たり、顧客が使用した電力量を正確に測定できないケースがあった。
• 「スマートメーターの電子回路内にある電波のノイズを検知する機能
に、設計時から不具合があったことが原因」(東北電力の広報担当
者)という。12月末に実施した検査の際に、東北電力の社員が不具
合を発見した。
27. 4 完全性の面からIoT/M2Mを考える
• 電気料金を高く取られるのは、嫌だし
– そんないい加減なスマートメータのメータデータをAルートを
使って取集して、 MDMS(メータデータ管理システム)
に集めたビッグデータからデータマイニングして
意味あるの?
• 大丈夫か!スマートメータ!
– 大丈夫か!スマートグリッド
– 大丈夫か!IoT/M2M
• “ビッグデータ”と、言う前に 足元固めないと
気を付けましょう! 時間の関係で
次の話へ・・・
28. 5 可用性の面からIoT/M2Mを考える
• 可用性 (アベイラビリティ)
– 情報にアクセスできること
– (見ても良い人は)必要な時に、情報にアクセスできる
– 使って良い人は、使いたいときに、使える
• 要は、動かないコンピュータ
にならないこと!
29. 5 可用性の面からIoT/M2Mを考える
• よくある可用性対策
– 故障、障害対策
• 信頼性設計
– バックアップ
» システムの2重化(冗長化)
– 縮退運転(フェールソフト、フォールバック)
– 災害対策
• サーバをIDCへ
• データのバックアップ
• 電源
– UPS・・・
– これも、大事 だけど・・・
…そもそも IoT/M2Mの場合
バックアップ
31. 5 可用性の面からIoT/M2Mを考える
• 例えば、
– 毎時0分0秒に、データを計測して、無線で上位の
機器(サーバ)に伝送する・・・センサーノード
• 無線でのリトライがなければ、1秒動作して、後の時間は、
デープスリープで省電力
• 無線モジュールのメーカの話では、ボタン電池1個で3年間、
使用可能。
• これが、1個、2個では問題は無いと思うが・・・
35. 5 可用性の面からIoT/M2Mを考える
• HTTP(REST)の落とし穴
– 数バイトのデータを送るだけでも、
最低でも9個のIPパケット
• 1パケット
MACヘッダ 14バイト
IPV4ヘッダ 20バイト
TCP ヘッダ 20バイト
+
HTTPヘッダ・・・
※RFC上は、HTTP GETのURIの長さに上限なしとか
※参考にしたサイト
http://www.autoidlab.jp/wp-content/themes/Autoid2011/rgthesis/hizumi-bachelor-thesis.pdf
38. 5 可用性の面からIoT/M2Mを考える
• こんなのが、せーのードン!で、数100、数1000きたら、
大変だ!
• HTTPは、どう考えても 重たすぎる
– データのアップロードには、使えても、
レスポンスを考えると、制御には使いづらい
• IoT/M2M向けの軽くて簡易なプロトコルも考えよう
• 有名どころでは
– 実績がある
• MQTT 元々IBMが考えた、M2Mプロトコル
– Representational State Transfer(REST)
じゃないとダメ、なら
• CoAP(Constrained Application Protocol)がある
WEBサーバ
大量のパケットが集中
39. 5 可用性の面からIoT/M2Mを考える
• MQTT(MQ Telemetry Transport)
• MQはMessage Queueingとの説有
(Queでは無いとの説もあり)
– IoT/M2M向けの軽量なプロトコル
– パブリッシュ/サブスクライブ型のモデル
• メッセージを送信する側
– パブリッシャー (発行者)
• メッセージを受信する側
– サブスクライバー(購読者)
– 中継をするのが、 MQTTサーバ ブローカー
• サブスクライバー(購読者)は、
欲しいデータ(トピックス)のみ、 Subscribeできる。
– 3段階のQoSの確保が可能
– 必要に応じてSSL/TLSで暗号化できる。
40. 5 可用性の面からIoT/M2Mを考える
• Publish/Subscribe
– Publish
• センサー側からMQTTサーバへ送信(発行)
– Subscribe
• MQTTサーバから(購読している)データを転送
• MQTTの特徴
– 相手の状況に関係なく、メッセージを送ることができる。
– サブスクライバー(購読者)側がダウン(スリープ)または、無線等
の回線がダウンしていてもパブリッシャー(発行者)は、メッセージを送
れる。
(ブローカーが保存してくれている。)
– Will(遺言)機能
• サーバはクライアントを定期的に(デフォルト60秒)にPINGで死活を監
視
• サーバがクライアントのダウンを検知すると、事前に設定しておいた、
Will(遺言)メッセージを配信
44. 5 可用性の面からIoT/M2Mを考える
• MQTTの実装は簡単
– Mosquitto の例
pi@raspberrypi ~ $ mosquitto_pub -h lite.mqtt.shiguredo.jp
-u "tentenVVVF@github" -t "tentenVVVF@github/" -P
scLb1m9jhzoe6Dk6 -l –d
Client mosqpub/2412-raspberryp sending CONNECT
Client mosqpub/2412-raspberryp received CONNACK
pub1<RET>
pub2<RET>
pub3<RET>
・・・・
パブリッシャー側
pi@raspberrypi ~ $ sudo mosquitto_sub -h
lite.mqtt.shiguredo.jp -u "tentenVVVF@github" -t
"tentenVVVF@github/" -P scLb1m9jhzoe6Dk6 -d
Client mosqsub/2450-raspberryp sending CONNECT
Client mosqsub/2450-raspberryp received CONNACK
Client mosqsub/2450-raspberryp sending SUBSCRIBE
(Mid: 1, Topic: tentenVVVF@github/, QoS: 0)
Client mosqsub/2450-raspberryp received SUBACK
Subscribed (mid: 1): 0
Client mosqsub/2450-raspberryp received PUBLISH (d0,
q0, r0, m0, 'tentenVVVF@github/', ... (4 bytes))
pub1
Client mosqsub/2450-raspberryp sending PINGREQ
Client mosqsub/2450-raspberryp received PINGRESP
・・・・
pub2
・・・・
サブスクライバー側
“pub1”をパブリッシュ
mosquittoの
パブリッシュ コマンド
47. 5 可用性の面からIoT/M2Mを考える
from webiopi.clients import *
from time import sleep
# Create a WebIOPi client
#client = PiHttpClient("192.168.0.7")
#client = PiMixedClient("192.168.0.7")
client = PiCoapClient("192.168.0.7")
#client = PiMulticastClient()
client.setCredentials("webiopi", "raspberry")
# RPi native GPIO
gpio = NativeGPIO(client)
gpio.setFunction(25, "out")
state = True
while True:
# toggle digital state
state = not state
gpio.digitalWrite(25, state)
sleep(1)
繰り返し
1秒ごとに、GPIO25に論理1、論理0を交
互に出力
WebIOPのクライアント側で
CoAPを使う設定
汎用IOポートの25番(GPIO25)を出力
モードに設定
CoAPクライアント側のRaspberry Pi Pythonスプリクト
49. 5 可用性の面からIoT/M2Mを考える
• IoT/M2Mでは無線を使うシステムが多い。
• しかし…
2.4GHz帯の無線の混雑状況を考えると
正常に動作するのか?
• 2.4GHz帯の無線
– Bluetooth・BLE
(Bluetooth Low Energy)
– IEEE802.15.4/ZigBee
– 無線LAN(WiFi)
– 小電力無線
– デジタルコードレス電話
– ラジコン
– 電子レンジ
– ワイヤレスマイク
– 医療器具・・・・
電波が混雑すると、
伝送遅延
伝送エラー
回線の切断
等が発生する
57. 実験環境
R0024382
logitec53 11n/3ch+7 450Mbps 3ストリームMIMO
logitec66 11n/12ch+8ch 300Mbps 2ストリームMIMO
WARPSTAR-ACF318 11n/6ch+10ch 300Mbps 2ストリームMIMO
3台のAPを用意
Wi-SPY
Chanalyzer
APとBluetooth
オーディオレ
シーバーの距
離は、見通し
約7~8M
Bluetooth
オーディオレシーバー
Bluetoothの邪魔
をする2.4GHz帯の
無線LANを搭載した
パソコン
Bluetoothで
音楽を送信するスマホ
(移動させて実験)
65. 図 実験環境
A
P
1
A
P
2
1ch+5ch 13ch BLE Windows8.1
クラシック
Bluetooth
実験2で使用
設定用PC
実験2は、無線LANの影響下でBLE
とBluetoothの接続性を確かめる
実験1では、電波が混雑していない状態
でBLEとBluetoothの接続性を確かめる
70. 無線問題の対策
• 無線LANの2.4GHz帯の電波は混雑が激しい
• 根本的対策
– サブギガ帯 920MHzなどへ移行
– 特にミッションクリティカルなシステムはサブギガ帯の使
用を考える と言っても急には無理なはなし
• 運用面
– 紹介したツールなどを使ってモニタリング
– 無線LANは5GHzに移行し、2.4GHzの使用を減らす
– 人が集まる場合、
無線LANや、 Bluetoothの使用を減らすための
お願いをする
• 特に、WiFiテザリングや無線ルータ
• 代わりに、その限りの公衆無線LANなどを用意しておく
これ大事!結構有効!
71. 問題解決には、まず知ること
• 電波は見えないだけに やっかい
– 見えない電波を知ること
– 見えない電波を調べること
– みんなに 見えない電波 を 知ってもらうこと
• 節度をもって使えば、最高に便利なツール
• 見えないことを良いことに、
各自が好き勝手やれば、最悪なツール
• 電波の有効利用を考えて、
みんなが HAPPY になりたいものですね