SlideShare une entreprise Scribd logo
1  sur  14
FIWARE IoTデバイスを保護する方法
(How to Secure FIWARE IoT Devices)
Jason Fox, Senior Technical Evangelist
FIWARE Foundation
Translated to Japanese by Kazuhito Suda, FIWARE Evangelist
学習目標
▪ システムのセキュリティ保護に役立つ一般的なアクションは何で
すか?
• HTTP トラフィックを保護するにはどのようなオプションが
必要ですか?
• MQTT トラフィックを保護するにはどのようなオプションが
必要ですか?
• 他のプロトコルにはどのようなオプションがありますか?
▪ PEP Proxy とは何ですか?サービスとデバイスを保護するため
にどのように使用できますか?
1
前提条件
▪ Docker
▪ Docker Compose
▪ Git
▪ Postman
▪ Cygwin for Windows
2
git clone https://github.com/FIWARE/tutorials.Step-
by-Step.git
cd tutorials.Step-by-Step/
git submodule update --init --recursive
▪ https://www.docker.com/
▪ https://docs.docker.com/compose/install/
▪ https://git-scm.com/downloads
▪ https://www.getpostman.com/downloads/
▪ https://www.cygwin.com/install.html
FIWARE Catalogue
33
Data/APIManagement
PublicationMonetization
Core Context Management
(Context Broker)
Context
Processing, Analysis, Visualization
Interface to
IoT, Robotics and third party systems
Deploymenttools
3
Development of
Context-aware applications
(Orion, Orion-LD, Scorpio,
STH-Comet, Cygnus,
QuantumLeap, Draco)
Connection to the
Internet of Things
(IDAS, OpenMTC)
Real-time
processing of
context events
(Perseo)
Handling authorization
and access control to
APIs
(Keyrock, Wilma,
AuthZForce, APInf )
Publication and
Monetization of Context
Information
(CKAN extensions, Data/API
Biz Framework, IDRA)
Creation of
Application Dashboards
(Wirecloud)
Real-time
Processing of media
streams
(Kurento)
Business Intelligence
(Knowage)
Connection to robots
(FIROS, Fast RTPS,Micro XRCE-DDS)
Big Data
Context Analysis
(Cosmos)
Cloud Edge
(FogFlow)
Documents exchange
(Domibus)
復習 – HTTP マイクロサービスの保護
4
PEP Proxy を使用した安全なサービス
● 承認された HTTP トラフィックのみを許可
するには、クライアント・アプリケーション
(スーパーマーケット・アプリなど) と
Context Broker の間にセキュリティ・
コンポーネントを挿入する必要があります
● ユーザ・アカウントを提供し、パスワードを
確認するには、Identity Manager が必要で
す
安全でない HTTP トラフィックをブロックするよ
うに Web server を設定します
● 301 - Moved Permanently に転送命令を含
めます
● 詳細情報 : https://www.digicert.com/ssl/
HTTPS の構成例 : NGINX
▪ ドメイン証明書を作成する必要があります
• 信頼の連鎖 - あなたは(一連の)プロバイダによっ
て承認されています
▪ 秘密鍵を提供する必要があります
▪ 多くのチュートリアル - 詳細は使用する
Webサーバに依存します
• 例 Digital Ocean: Let‘s Encryptで Nginx を
保護する方法
• https://www.digitalocean.com/community
/tutorial_collections/22
5
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name example.com www.example.com;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl default_server;
listen [::]:443 ssl default_server;
include snippets/ssl-example.com.conf;
include snippets/ssl-params.conf;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
PEP Proxy 構成の例 : Wilma
▪ どこでリッスンしていますか?
• PEP_PROXY_PORT
▪ 何を保護していますか? どこに転送しますか?
• PEP_PROXY_APP_HOST, PEP_PROXY_APP_PORT
▪ 誰がアクセス・トークンをチェックする責任がありますか?
• PEP_PROXY_IDM_PORT, PEP_PROXY_IDM_HOST
▪ IDM はどのように私を認識しますか?
• PEP_PROXY_APP_ID, PEP_PROXY_USERNAME,PEP_PASSWORD
詳細情報 : https://hub.docker.com/r/fiware/pep-proxy
6
HTTP トラフィックの保護: IoT デバイス
7
● デバイスは HTTP を使用して通信するため、クライア
ント・アプリケーション(デバイスなど)と IoT Agent の
間に PEP proxy を含めることができます
● ユーザ・アカウントを提供し、パスワードを確認するに
は、 Identity Manager が必要です
● PEP Proxy は、次の設定を使用して定義されます:
○ PEP_PROXY_APP_HOST
○ PEP_PROXY_APP_PORT
○ PEP_PROXY_PORT
● もちろん以前に示したように、HTTPS を使用して
マイクロサービス間の通信を保護することもできます
マイクロサービスのユースケースと同様の設定ですが、
現在、各 IoT device はそれ自体が(制限された)ユーザです
● DUMMY_DEVICES_USER, DUMMY_DEVICES_PASSWORD
HTTPトラフィックの保護: IoT Agent
8
IoT Agent が (制限された) ユーザになりました - Context broker と
IoT Agent の間のトラフィックが保護されます
● 永続的なトークンを保持する追加の信頼属性 (trust attribute) を使用してデバイスを
プロビジョニングします
● HTTPS も必要になる場合があります。これは、使用するアーキテクチャと、 IoT devices が IoT Agent
と通信するプロトコルによって異なります
curl -iX POST 
'http://localhost:4041/iot/services' 
-H 'Content-Type: application/json' 
-H 'fiware-service: openiot' 
-H 'fiware-servicepath: /' 
-d '{
"services": [ {
"apikey": "4jggokgpepnvsb2uv4s40d59ov",
"cbroker": "http://orion:1026",
"entity_type": "Motion",
"resource": "/iot/d",
"trust": "e37aeef5d48c9c1a3d4adf72626a8745918d4355"
} ]
}'
MQTTトラフィックの保護: IoT デバイス
9
MQTT 接続でユーザ名とパスワードを入力します
MQTTブローカーのユーザ名/パスワードのハッシュ・ファイルを
作成します 例: /etc/mosquitto/passwd
例. Hackaday の例: https://hackaday.io/project/12482-
garage-door-opener/log/43367-using-a-username-and-
password-for-mqtt
● IOTA_MQTT_USERNAME,IOTA_MQTT_PASSWORD
MQTT over SSL を使用します
証明書を作成し、MQTT ブローカーを適切に設定する必要があります
例. ThingsBoard ドキュメント: https://thingsboard.io/docs/user-guide/mqtt-over-ssl/
● IOTA_MQTT_CA, IOTA_MQTT_CERT, IOTA_MQTT_KEY
安全な MQTT を使用して IoT デバイスを接続する方法
10
const mqtt = require('mqtt');
const options = {
protocol: 'mqtt',
host: 'localhost',
port: 1883,
key: <key>,
ca: <certificate-authority>,
cert: <certificate>,
rejectUnauthorized: true,
username: <device-username>,
password: <device-password>,
keepalive: 0,
connectTimeout: 60 * 60 * 1000
};
const mqttClient = mqtt.connect(
options.protocol + '://' + <host> + ':' + <port>,
options
);
IoT Agent と IoT デバイスの両方が同じ方法で
MQTT ブローカーに接続します
豊富な MQTT クライアントライブラリが利用可能
● https://github.com/mqtt/mqtt.github.io/wiki/libraries
IoT Agent は共通の Node.js ライブラリを使用します
● https://github.com/mqttjs/MQTT.js
詳細については :
● http://mqtt.org/
サマリ: FIWARE ベースのシステムの保護
▪ 製品とデータの整合性を確保するための安全なシステムが必要です:
• 信頼できる読み取りだけを受け入れます
• 認識できるユーザにのみデータを提供します
▪ システムを保護するための最初のステップ:
• アクターを特定するために可能な限りユーザ名とパスワードを使用します
• SSLを使用します - メッセージと構成でプレーン・テキストを使用してはいけません
• ユーザ・アクセスを最小限に抑えます (例: root アクセス、開いているポートなし)
• すべてをログに記録します
▪ データのゲートキーパーとして機能する PEP Proxy を使用します
▪ FIWARE はシステムの保護に役立つ一連のコンポーネントを提供します
• FIWARE カタログのコンポーネントの使用は必須ではありませんが、それらを使用するか、
同等に安全な代替手段を使用する必要があります
11
最終的な考え
▪ 製品の評判の基礎は信頼です。
システムが安全でない場合、ユーザはどのようにあなたを信頼
できますか?
▪ このセキュリティ・プレゼンテーションは簡単な紹介であり、
常にセキュリティをより詳細に検討する機会があります
12
Thank you!
http://fiware.org
Follow @FIWARE on Twitter
13

Contenu connexe

Tendances

FIWARE Orion Context Broker コンテキスト情報管理 (Orion 2.3.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 2.3.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 2.3.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 2.3.0対応)fisuda
 
FIWARE アーキテクチャの保護 - FIWARE WednesdayWebinars
FIWARE アーキテクチャの保護 - FIWARE WednesdayWebinarsFIWARE アーキテクチャの保護 - FIWARE WednesdayWebinars
FIWARE アーキテクチャの保護 - FIWARE WednesdayWebinarsfisuda
 
誰でもできるスマートシティ向けOSS : FIWAREのはじめかた
誰でもできるスマートシティ向けOSS : FIWAREのはじめかた誰でもできるスマートシティ向けOSS : FIWAREのはじめかた
誰でもできるスマートシティ向けOSS : FIWAREのはじめかたShunsuke Kikuchi
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.5.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.5.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.5.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.5.0対応)fisuda
 
コンテキストデータの永続化のための戦略
コンテキストデータの永続化のための戦略コンテキストデータの永続化のための戦略
コンテキストデータの永続化のための戦略fisuda
 
FIWARE Overview and description of GEs
FIWARE Overview and description of GEsFIWARE Overview and description of GEs
FIWARE Overview and description of GEsfisuda
 
データベース屋がHyperledger Fabricを検証してみた
データベース屋がHyperledger Fabricを検証してみたデータベース屋がHyperledger Fabricを検証してみた
データベース屋がHyperledger Fabricを検証してみたHyperleger Tokyo Meetup
 
オープンデータ・プラットフォーム KYOTO OPEN DATA
オープンデータ・プラットフォーム KYOTO OPEN DATAオープンデータ・プラットフォーム KYOTO OPEN DATA
オープンデータ・プラットフォーム KYOTO OPEN DATA惠 紀野
 
FIWARE - スマートサービスを支えるオープンソース
FIWARE - スマートサービスを支えるオープンソースFIWARE - スマートサービスを支えるオープンソース
FIWARE - スマートサービスを支えるオープンソースfisuda
 
FIWAREシステム内の短期履歴の管理
FIWAREシステム内の短期履歴の管理FIWAREシステム内の短期履歴の管理
FIWAREシステム内の短期履歴の管理fisuda
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.7.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.7.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.7.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.7.0対応)fisuda
 
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 1.14.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 1.14.0対応)NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 1.14.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 1.14.0対応)fisuda
 
Hyperledger Fabric Private Chaincodeについて
Hyperledger Fabric Private ChaincodeについてHyperledger Fabric Private Chaincodeについて
Hyperledger Fabric Private ChaincodeについてHyperleger Tokyo Meetup
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Kohei Tokunaga
 
FIWARE Big Data Ecosystem : Cygnus and STH Comet
FIWARE Big Data Ecosystem : Cygnus and STH CometFIWARE Big Data Ecosystem : Cygnus and STH Comet
FIWARE Big Data Ecosystem : Cygnus and STH Cometfisuda
 
TLS 1.3 と 0-RTT のこわ〜い話
TLS 1.3 と 0-RTT のこわ〜い話TLS 1.3 と 0-RTT のこわ〜い話
TLS 1.3 と 0-RTT のこわ〜い話Kazuho Oku
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 2.2.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 2.2.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 2.2.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 2.2.0対応)fisuda
 
ストリーム処理勉強会 大規模mqttを支える技術
ストリーム処理勉強会 大規模mqttを支える技術ストリーム処理勉強会 大規模mqttを支える技術
ストリーム処理勉強会 大規模mqttを支える技術Keigo Suda
 
分散型IDと検証可能なアイデンティティ技術概要
分散型IDと検証可能なアイデンティティ技術概要分散型IDと検証可能なアイデンティティ技術概要
分散型IDと検証可能なアイデンティティ技術概要Naohiro Fujie
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 1.13.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 1.13.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 1.13.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 1.13.0対応)fisuda
 

Tendances (20)

FIWARE Orion Context Broker コンテキスト情報管理 (Orion 2.3.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 2.3.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 2.3.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 2.3.0対応)
 
FIWARE アーキテクチャの保護 - FIWARE WednesdayWebinars
FIWARE アーキテクチャの保護 - FIWARE WednesdayWebinarsFIWARE アーキテクチャの保護 - FIWARE WednesdayWebinars
FIWARE アーキテクチャの保護 - FIWARE WednesdayWebinars
 
誰でもできるスマートシティ向けOSS : FIWAREのはじめかた
誰でもできるスマートシティ向けOSS : FIWAREのはじめかた誰でもできるスマートシティ向けOSS : FIWAREのはじめかた
誰でもできるスマートシティ向けOSS : FIWAREのはじめかた
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.5.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.5.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.5.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.5.0対応)
 
コンテキストデータの永続化のための戦略
コンテキストデータの永続化のための戦略コンテキストデータの永続化のための戦略
コンテキストデータの永続化のための戦略
 
FIWARE Overview and description of GEs
FIWARE Overview and description of GEsFIWARE Overview and description of GEs
FIWARE Overview and description of GEs
 
データベース屋がHyperledger Fabricを検証してみた
データベース屋がHyperledger Fabricを検証してみたデータベース屋がHyperledger Fabricを検証してみた
データベース屋がHyperledger Fabricを検証してみた
 
オープンデータ・プラットフォーム KYOTO OPEN DATA
オープンデータ・プラットフォーム KYOTO OPEN DATAオープンデータ・プラットフォーム KYOTO OPEN DATA
オープンデータ・プラットフォーム KYOTO OPEN DATA
 
FIWARE - スマートサービスを支えるオープンソース
FIWARE - スマートサービスを支えるオープンソースFIWARE - スマートサービスを支えるオープンソース
FIWARE - スマートサービスを支えるオープンソース
 
FIWAREシステム内の短期履歴の管理
FIWAREシステム内の短期履歴の管理FIWAREシステム内の短期履歴の管理
FIWAREシステム内の短期履歴の管理
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.7.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.7.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.7.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.7.0対応)
 
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 1.14.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 1.14.0対応)NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 1.14.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 1.14.0対応)
 
Hyperledger Fabric Private Chaincodeについて
Hyperledger Fabric Private ChaincodeについてHyperledger Fabric Private Chaincodeについて
Hyperledger Fabric Private Chaincodeについて
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
 
FIWARE Big Data Ecosystem : Cygnus and STH Comet
FIWARE Big Data Ecosystem : Cygnus and STH CometFIWARE Big Data Ecosystem : Cygnus and STH Comet
FIWARE Big Data Ecosystem : Cygnus and STH Comet
 
TLS 1.3 と 0-RTT のこわ〜い話
TLS 1.3 と 0-RTT のこわ〜い話TLS 1.3 と 0-RTT のこわ〜い話
TLS 1.3 と 0-RTT のこわ〜い話
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 2.2.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 2.2.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 2.2.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 2.2.0対応)
 
ストリーム処理勉強会 大規模mqttを支える技術
ストリーム処理勉強会 大規模mqttを支える技術ストリーム処理勉強会 大規模mqttを支える技術
ストリーム処理勉強会 大規模mqttを支える技術
 
分散型IDと検証可能なアイデンティティ技術概要
分散型IDと検証可能なアイデンティティ技術概要分散型IDと検証可能なアイデンティティ技術概要
分散型IDと検証可能なアイデンティティ技術概要
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 1.13.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 1.13.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 1.13.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 1.13.0対応)
 

Similaire à FIWARE IoTデバイスを保護する方法

MVPComCamp2015:Hyper-V仮想スイッチのTipsとTo Be(仮)
MVPComCamp2015:Hyper-V仮想スイッチのTipsとTo Be(仮)MVPComCamp2015:Hyper-V仮想スイッチのTipsとTo Be(仮)
MVPComCamp2015:Hyper-V仮想スイッチのTipsとTo Be(仮)wind06106
 
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向Hitachi, Ltd. OSS Solution Center.
 
Rescale ScaleX講習会 ~AWSクラウド環境におけるHPC利用
Rescale ScaleX講習会 ~AWSクラウド環境におけるHPC利用Rescale ScaleX講習会 ~AWSクラウド環境におけるHPC利用
Rescale ScaleX講習会 ~AWSクラウド環境におけるHPC利用Rescale Japan株式会社
 
loggregator update
loggregator updateloggregator update
loggregator updateKen Ojiri
 
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)NTT DATA Technology & Innovation
 
Cld014 セキュアな io_t_システ
Cld014 セキュアな io_t_システCld014 セキュアな io_t_システ
Cld014 セキュアな io_t_システTech Summit 2016
 
Cld014 セキュアな io_t_システ
Cld014 セキュアな io_t_システCld014 セキュアな io_t_システ
Cld014 セキュアな io_t_システTech Summit 2016
 
Tokyo Jazug Night 2020-01 Azure Monitor を使った運用監視コトハジメ
Tokyo Jazug Night 2020-01 Azure Monitor を使った運用監視コトハジメTokyo Jazug Night 2020-01 Azure Monitor を使った運用監視コトハジメ
Tokyo Jazug Night 2020-01 Azure Monitor を使った運用監視コトハジメTsubasa Yoshino
 
最新Web 通信系API総まくり!WebRTC, Streams, Push api etc.
最新Web 通信系API総まくり!WebRTC, Streams, Push api etc.最新Web 通信系API総まくり!WebRTC, Streams, Push api etc.
最新Web 通信系API総まくり!WebRTC, Streams, Push api etc.Kensaku Komatsu
 
サンドボックス化によるセキュアなプログラミング
サンドボックス化によるセキュアなプログラミングサンドボックス化によるセキュアなプログラミング
サンドボックス化によるセキュアなプログラミングYikei Lu
 
20140404 vyatta users Group / REST API解説
20140404 vyatta users Group / REST API解説20140404 vyatta users Group / REST API解説
20140404 vyatta users Group / REST API解説Yukihiro Kikuchi
 
IoT Agents をデバッグする方法 - FIWARE WednesdayWebinars
IoT Agents をデバッグする方法 - FIWARE WednesdayWebinarsIoT Agents をデバッグする方法 - FIWARE WednesdayWebinars
IoT Agents をデバッグする方法 - FIWARE WednesdayWebinarsfisuda
 
Otrs&OTOBO_document 20210402
Otrs&OTOBO_document 20210402Otrs&OTOBO_document 20210402
Otrs&OTOBO_document 20210402IO Architect Inc.
 
【HinemosWorld2015】B1-2_【入門】Hinemosではじめるシステム監視
【HinemosWorld2015】B1-2_【入門】Hinemosではじめるシステム監視【HinemosWorld2015】B1-2_【入門】Hinemosではじめるシステム監視
【HinemosWorld2015】B1-2_【入門】Hinemosではじめるシステム監視Hinemos
 
既存RailsアプリをSSO化して、本番環境で活用した話【WESEEK Tech Conf #12】
既存RailsアプリをSSO化して、本番環境で活用した話【WESEEK Tech Conf #12】既存RailsアプリをSSO化して、本番環境で活用した話【WESEEK Tech Conf #12】
既存RailsアプリをSSO化して、本番環境で活用した話【WESEEK Tech Conf #12】WESEEKWESEEK
 
ロボット管理プラットフォーム「 RoboticBase 」の紹介
ロボット管理プラットフォーム「 RoboticBase 」の紹介ロボット管理プラットフォーム「 RoboticBase 」の紹介
ロボット管理プラットフォーム「 RoboticBase 」の紹介Kazuki Urabe
 
ラズパイ × Bluemix IoTハンズオンセミナー
ラズパイ × Bluemix IoTハンズオンセミナーラズパイ × Bluemix IoTハンズオンセミナー
ラズパイ × Bluemix IoTハンズオンセミナーsoftlayerjp
 
2015 0227 OSC-Spring Tokyo NETMF
2015 0227 OSC-Spring Tokyo NETMF2015 0227 OSC-Spring Tokyo NETMF
2015 0227 OSC-Spring Tokyo NETMFAtomu Hidaka
 

Similaire à FIWARE IoTデバイスを保護する方法 (20)

MVPComCamp2015:Hyper-V仮想スイッチのTipsとTo Be(仮)
MVPComCamp2015:Hyper-V仮想スイッチのTipsとTo Be(仮)MVPComCamp2015:Hyper-V仮想スイッチのTipsとTo Be(仮)
MVPComCamp2015:Hyper-V仮想スイッチのTipsとTo Be(仮)
 
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向
 
Rescale ScaleX講習会 ~AWSクラウド環境におけるHPC利用
Rescale ScaleX講習会 ~AWSクラウド環境におけるHPC利用Rescale ScaleX講習会 ~AWSクラウド環境におけるHPC利用
Rescale ScaleX講習会 ~AWSクラウド環境におけるHPC利用
 
loggregator update
loggregator updateloggregator update
loggregator update
 
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
 
Cld014 セキュアな io_t_システ
Cld014 セキュアな io_t_システCld014 セキュアな io_t_システ
Cld014 セキュアな io_t_システ
 
Cld014 セキュアな io_t_システ
Cld014 セキュアな io_t_システCld014 セキュアな io_t_システ
Cld014 セキュアな io_t_システ
 
ゼロから学ぶIoT
ゼロから学ぶIoTゼロから学ぶIoT
ゼロから学ぶIoT
 
Tokyo Jazug Night 2020-01 Azure Monitor を使った運用監視コトハジメ
Tokyo Jazug Night 2020-01 Azure Monitor を使った運用監視コトハジメTokyo Jazug Night 2020-01 Azure Monitor を使った運用監視コトハジメ
Tokyo Jazug Night 2020-01 Azure Monitor を使った運用監視コトハジメ
 
最新Web 通信系API総まくり!WebRTC, Streams, Push api etc.
最新Web 通信系API総まくり!WebRTC, Streams, Push api etc.最新Web 通信系API総まくり!WebRTC, Streams, Push api etc.
最新Web 通信系API総まくり!WebRTC, Streams, Push api etc.
 
サンドボックス化によるセキュアなプログラミング
サンドボックス化によるセキュアなプログラミングサンドボックス化によるセキュアなプログラミング
サンドボックス化によるセキュアなプログラミング
 
20140404 vyatta users Group / REST API解説
20140404 vyatta users Group / REST API解説20140404 vyatta users Group / REST API解説
20140404 vyatta users Group / REST API解説
 
IoT Agents をデバッグする方法 - FIWARE WednesdayWebinars
IoT Agents をデバッグする方法 - FIWARE WednesdayWebinarsIoT Agents をデバッグする方法 - FIWARE WednesdayWebinars
IoT Agents をデバッグする方法 - FIWARE WednesdayWebinars
 
Otrs&OTOBO_document 20210402
Otrs&OTOBO_document 20210402Otrs&OTOBO_document 20210402
Otrs&OTOBO_document 20210402
 
【HinemosWorld2015】B1-2_【入門】Hinemosではじめるシステム監視
【HinemosWorld2015】B1-2_【入門】Hinemosではじめるシステム監視【HinemosWorld2015】B1-2_【入門】Hinemosではじめるシステム監視
【HinemosWorld2015】B1-2_【入門】Hinemosではじめるシステム監視
 
Video mqtt
Video mqttVideo mqtt
Video mqtt
 
既存RailsアプリをSSO化して、本番環境で活用した話【WESEEK Tech Conf #12】
既存RailsアプリをSSO化して、本番環境で活用した話【WESEEK Tech Conf #12】既存RailsアプリをSSO化して、本番環境で活用した話【WESEEK Tech Conf #12】
既存RailsアプリをSSO化して、本番環境で活用した話【WESEEK Tech Conf #12】
 
ロボット管理プラットフォーム「 RoboticBase 」の紹介
ロボット管理プラットフォーム「 RoboticBase 」の紹介ロボット管理プラットフォーム「 RoboticBase 」の紹介
ロボット管理プラットフォーム「 RoboticBase 」の紹介
 
ラズパイ × Bluemix IoTハンズオンセミナー
ラズパイ × Bluemix IoTハンズオンセミナーラズパイ × Bluemix IoTハンズオンセミナー
ラズパイ × Bluemix IoTハンズオンセミナー
 
2015 0227 OSC-Spring Tokyo NETMF
2015 0227 OSC-Spring Tokyo NETMF2015 0227 OSC-Spring Tokyo NETMF
2015 0227 OSC-Spring Tokyo NETMF
 

Plus de fisuda

FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.12.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.12.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.12.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.12.0対応)fisuda
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.11.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.11.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.11.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.11.0対応)fisuda
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.10.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.10.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.10.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.10.0対応)fisuda
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.9.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.9.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.9.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.9.0対応)fisuda
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.8.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.8.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.8.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.8.0対応)fisuda
 
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.7.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.7.0対応)NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.7.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.7.0対応)fisuda
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.6.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.6.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.6.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.6.0対応)fisuda
 
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.6.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.6.0対応)NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.6.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.6.0対応)fisuda
 
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.5.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.5.0対応)NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.5.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.5.0対応)fisuda
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.4.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.4.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.4.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.4.0対応)fisuda
 
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.4.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.4.0対応)NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.4.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.4.0対応)fisuda
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.3.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.3.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.3.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.3.0対応)fisuda
 
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.3.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.3.0対応)NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.3.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.3.0対応)fisuda
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.2.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.2.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.2.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.2.0対応)fisuda
 
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.2.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.2.0対応)NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.2.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.2.0対応)fisuda
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.1.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.1.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.1.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.1.0対応)fisuda
 
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.1.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.1.0対応)NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.1.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.1.0対応)fisuda
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.0.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.0.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.0.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.0.0対応)fisuda
 
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.0.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.0.0対応)NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.0.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.0.0対応)fisuda
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 2.6.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 2.6.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 2.6.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 2.6.0対応)fisuda
 

Plus de fisuda (20)

FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.12.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.12.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.12.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.12.0対応)
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.11.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.11.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.11.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.11.0対応)
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.10.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.10.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.10.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.10.0対応)
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.9.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.9.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.9.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.9.0対応)
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.8.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.8.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.8.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.8.0対応)
 
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.7.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.7.0対応)NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.7.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.7.0対応)
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.6.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.6.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.6.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.6.0対応)
 
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.6.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.6.0対応)NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.6.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.6.0対応)
 
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.5.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.5.0対応)NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.5.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.5.0対応)
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.4.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.4.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.4.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.4.0対応)
 
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.4.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.4.0対応)NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.4.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.4.0対応)
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.3.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.3.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.3.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.3.0対応)
 
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.3.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.3.0対応)NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.3.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.3.0対応)
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.2.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.2.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.2.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.2.0対応)
 
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.2.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.2.0対応)NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.2.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.2.0対応)
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.1.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.1.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.1.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.1.0対応)
 
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.1.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.1.0対応)NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.1.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.1.0対応)
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.0.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.0.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.0.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.0.0対応)
 
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.0.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.0.0対応)NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.0.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.0.0対応)
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 2.6.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 2.6.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 2.6.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 2.6.0対応)
 

FIWARE IoTデバイスを保護する方法

  • 1. FIWARE IoTデバイスを保護する方法 (How to Secure FIWARE IoT Devices) Jason Fox, Senior Technical Evangelist FIWARE Foundation Translated to Japanese by Kazuhito Suda, FIWARE Evangelist
  • 2. 学習目標 ▪ システムのセキュリティ保護に役立つ一般的なアクションは何で すか? • HTTP トラフィックを保護するにはどのようなオプションが 必要ですか? • MQTT トラフィックを保護するにはどのようなオプションが 必要ですか? • 他のプロトコルにはどのようなオプションがありますか? ▪ PEP Proxy とは何ですか?サービスとデバイスを保護するため にどのように使用できますか? 1
  • 3. 前提条件 ▪ Docker ▪ Docker Compose ▪ Git ▪ Postman ▪ Cygwin for Windows 2 git clone https://github.com/FIWARE/tutorials.Step- by-Step.git cd tutorials.Step-by-Step/ git submodule update --init --recursive ▪ https://www.docker.com/ ▪ https://docs.docker.com/compose/install/ ▪ https://git-scm.com/downloads ▪ https://www.getpostman.com/downloads/ ▪ https://www.cygwin.com/install.html
  • 4. FIWARE Catalogue 33 Data/APIManagement PublicationMonetization Core Context Management (Context Broker) Context Processing, Analysis, Visualization Interface to IoT, Robotics and third party systems Deploymenttools 3 Development of Context-aware applications (Orion, Orion-LD, Scorpio, STH-Comet, Cygnus, QuantumLeap, Draco) Connection to the Internet of Things (IDAS, OpenMTC) Real-time processing of context events (Perseo) Handling authorization and access control to APIs (Keyrock, Wilma, AuthZForce, APInf ) Publication and Monetization of Context Information (CKAN extensions, Data/API Biz Framework, IDRA) Creation of Application Dashboards (Wirecloud) Real-time Processing of media streams (Kurento) Business Intelligence (Knowage) Connection to robots (FIROS, Fast RTPS,Micro XRCE-DDS) Big Data Context Analysis (Cosmos) Cloud Edge (FogFlow) Documents exchange (Domibus)
  • 5. 復習 – HTTP マイクロサービスの保護 4 PEP Proxy を使用した安全なサービス ● 承認された HTTP トラフィックのみを許可 するには、クライアント・アプリケーション (スーパーマーケット・アプリなど) と Context Broker の間にセキュリティ・ コンポーネントを挿入する必要があります ● ユーザ・アカウントを提供し、パスワードを 確認するには、Identity Manager が必要で す 安全でない HTTP トラフィックをブロックするよ うに Web server を設定します ● 301 - Moved Permanently に転送命令を含 めます ● 詳細情報 : https://www.digicert.com/ssl/
  • 6. HTTPS の構成例 : NGINX ▪ ドメイン証明書を作成する必要があります • 信頼の連鎖 - あなたは(一連の)プロバイダによっ て承認されています ▪ 秘密鍵を提供する必要があります ▪ 多くのチュートリアル - 詳細は使用する Webサーバに依存します • 例 Digital Ocean: Let‘s Encryptで Nginx を 保護する方法 • https://www.digitalocean.com/community /tutorial_collections/22 5 server { listen 80 default_server; listen [::]:80 default_server; server_name example.com www.example.com; return 301 https://$server_name$request_uri; } server { listen 443 ssl default_server; listen [::]:443 ssl default_server; include snippets/ssl-example.com.conf; include snippets/ssl-params.conf; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
  • 7. PEP Proxy 構成の例 : Wilma ▪ どこでリッスンしていますか? • PEP_PROXY_PORT ▪ 何を保護していますか? どこに転送しますか? • PEP_PROXY_APP_HOST, PEP_PROXY_APP_PORT ▪ 誰がアクセス・トークンをチェックする責任がありますか? • PEP_PROXY_IDM_PORT, PEP_PROXY_IDM_HOST ▪ IDM はどのように私を認識しますか? • PEP_PROXY_APP_ID, PEP_PROXY_USERNAME,PEP_PASSWORD 詳細情報 : https://hub.docker.com/r/fiware/pep-proxy 6
  • 8. HTTP トラフィックの保護: IoT デバイス 7 ● デバイスは HTTP を使用して通信するため、クライア ント・アプリケーション(デバイスなど)と IoT Agent の 間に PEP proxy を含めることができます ● ユーザ・アカウントを提供し、パスワードを確認するに は、 Identity Manager が必要です ● PEP Proxy は、次の設定を使用して定義されます: ○ PEP_PROXY_APP_HOST ○ PEP_PROXY_APP_PORT ○ PEP_PROXY_PORT ● もちろん以前に示したように、HTTPS を使用して マイクロサービス間の通信を保護することもできます マイクロサービスのユースケースと同様の設定ですが、 現在、各 IoT device はそれ自体が(制限された)ユーザです ● DUMMY_DEVICES_USER, DUMMY_DEVICES_PASSWORD
  • 9. HTTPトラフィックの保護: IoT Agent 8 IoT Agent が (制限された) ユーザになりました - Context broker と IoT Agent の間のトラフィックが保護されます ● 永続的なトークンを保持する追加の信頼属性 (trust attribute) を使用してデバイスを プロビジョニングします ● HTTPS も必要になる場合があります。これは、使用するアーキテクチャと、 IoT devices が IoT Agent と通信するプロトコルによって異なります curl -iX POST 'http://localhost:4041/iot/services' -H 'Content-Type: application/json' -H 'fiware-service: openiot' -H 'fiware-servicepath: /' -d '{ "services": [ { "apikey": "4jggokgpepnvsb2uv4s40d59ov", "cbroker": "http://orion:1026", "entity_type": "Motion", "resource": "/iot/d", "trust": "e37aeef5d48c9c1a3d4adf72626a8745918d4355" } ] }'
  • 10. MQTTトラフィックの保護: IoT デバイス 9 MQTT 接続でユーザ名とパスワードを入力します MQTTブローカーのユーザ名/パスワードのハッシュ・ファイルを 作成します 例: /etc/mosquitto/passwd 例. Hackaday の例: https://hackaday.io/project/12482- garage-door-opener/log/43367-using-a-username-and- password-for-mqtt ● IOTA_MQTT_USERNAME,IOTA_MQTT_PASSWORD MQTT over SSL を使用します 証明書を作成し、MQTT ブローカーを適切に設定する必要があります 例. ThingsBoard ドキュメント: https://thingsboard.io/docs/user-guide/mqtt-over-ssl/ ● IOTA_MQTT_CA, IOTA_MQTT_CERT, IOTA_MQTT_KEY
  • 11. 安全な MQTT を使用して IoT デバイスを接続する方法 10 const mqtt = require('mqtt'); const options = { protocol: 'mqtt', host: 'localhost', port: 1883, key: <key>, ca: <certificate-authority>, cert: <certificate>, rejectUnauthorized: true, username: <device-username>, password: <device-password>, keepalive: 0, connectTimeout: 60 * 60 * 1000 }; const mqttClient = mqtt.connect( options.protocol + '://' + <host> + ':' + <port>, options ); IoT Agent と IoT デバイスの両方が同じ方法で MQTT ブローカーに接続します 豊富な MQTT クライアントライブラリが利用可能 ● https://github.com/mqtt/mqtt.github.io/wiki/libraries IoT Agent は共通の Node.js ライブラリを使用します ● https://github.com/mqttjs/MQTT.js 詳細については : ● http://mqtt.org/
  • 12. サマリ: FIWARE ベースのシステムの保護 ▪ 製品とデータの整合性を確保するための安全なシステムが必要です: • 信頼できる読み取りだけを受け入れます • 認識できるユーザにのみデータを提供します ▪ システムを保護するための最初のステップ: • アクターを特定するために可能な限りユーザ名とパスワードを使用します • SSLを使用します - メッセージと構成でプレーン・テキストを使用してはいけません • ユーザ・アクセスを最小限に抑えます (例: root アクセス、開いているポートなし) • すべてをログに記録します ▪ データのゲートキーパーとして機能する PEP Proxy を使用します ▪ FIWARE はシステムの保護に役立つ一連のコンポーネントを提供します • FIWARE カタログのコンポーネントの使用は必須ではありませんが、それらを使用するか、 同等に安全な代替手段を使用する必要があります 11