Presentation Title
Download
Report
Transcript Presentation Title
UPnP Security
Preston Hunt
[email protected]
Applications Engineering Mgr
Intel Corp.
Agenda
イントロダクション
ファンダメンタルズ: セキュリティのメカニズムと
UPnP 各フェーズの保護
シナリオ
Remote plugfest による学習機会
Introduction
UPnP Today
一般生活の向上を図る UPnP
自動ネットワーク設定
専門知識は不要
簡単で便利 “it just works”
安全なネットワークを前提
Introduction
広がる世界
携帯、集合住宅、学生寮、ホテル、企業内ネットワーク...
リモートアクセス
ハッカー
ウィルス
Introduction
必要なもの: セキュリティ
シナリオと要件 2001年初頭に定義 Security
セキュリティ作業委員会 2001年8月に設置
Version 0.8の仕様書完成 2002年3月
試験的実装と 3rd plugfest 進行中
Introduction
仕様書
DeviceSecurity – 基本サービス
SecurityConsole – キーと名前の公表と証明書
の配布するサービス
DeviceStealth –ディスカバリーを安全にする
サービス
AuditService – イベントログのサービス(セキュ
リティ関連に限定せず)
SecureDevice – デバイステンプレート、全体構
成記述
Introduction
現状
試作例 : Intel, LGE, Siemens (契約会社2社)、
Sony
Microsoft はテスト・ツールを整備中
DeviceSecurity および SecurityConsole サー
ビスは2002年中に完成
DeviceStealth、安全なイベンティングそして
AuditServiceもまもなく完成予定
最初の導入先 : IGD V2 (A/Vも期待 )
Introduction
利点と負担
利点
“bad guys” の防御
高価サービスの実現(例:遠隔電力測定、医療用モニタリング)
負担
デバイスの追加コード、暗号化用サイクル
より大型のネットワーク用パケットサイズ
従来型 UPnP と互換性がないこと(このことが特徴である)
一部コンフィグレーションが必要
セキュリティを失わずコンフィグレーションを最小化することが
課題
Version 2 (ベストゲス )
V2 solution はほぼ V1 solution と同等である
暗号化戦略はたぶん異なるものになる
安全なインベンティングは間違いなく異なるものになる
V1 UPnP のセキュリティはすでにWS-Security
(およびその関連仕様)にかなり近いレベルである
V2 UPnP のセキュリティはWS-Securityの真部分
集合になる
Microsoft は UPnP の要求を WS-Security が満
たすことを確認する作業を行っている
UPnP セキュリティ・ファンダメンタルズ
Fundamentals
プリンシパル
プリンシパルは“raw” な公開鍵(高価な公開鍵基
盤ではない)
鍵のハッシュ値が基本識別子となる
ユーザーは鍵にローカル名を付けることが可能
鍵の値は SOAP メッセージ (制御動作の場合 )
または自己認証式 X.509 証明書(プレゼンテー
ションのページの場合)で送られる
鍵のグループ化を定義することが可能
Fundamentals
パーミッション
XML要素はデバイス製造者側で定義
パーミッションはアブストラクションである ( UPnP
動作を1:1でマップしない )
デバイスはパーミッション(プロファイル)の指定設
定を定義することが可能
パラメーターを含むことが可能
E.g., “<read/>”, “<Administrator/>”,
“<user><name> Frodo </name></user>”
Fundamentals
アクセス制御リスト
<entry>
<subject> {<hash> or
<any/>} </subject>
<access> {permission elements or
<all/>} </access>
<valid> {optional <not-before>
and/or <not-after>} </valid>
</entry>
Fundamentals
Discovery: DeviceStealth
デバイスはジェネリックな “SecureDevice”
または “BasicDevice” として自己宣伝
アクセス制御 SOAP動作により詳細なデバイ
スの記述が得られる
Is Type Supported()
GetDeviceDetails()
Fundamentals
制御 : Secure SOAP
XML Dsigベースの署名と SOAPヘッダーにおけ
るリプレイ防止
SetSessionKey() –公開鍵で対称鍵をバインド
DecryptAndExecute() –プライバシー保護のた
め暗号化し HTTPパケット全体をトンネル化
最低限(null) の正規化
暗号アルゴリズム : RSA, SHA1-HMAC, AES
Fundamentals
Secure SOAPメッセージ
HTTPヘッダー
SOAP エンベロプ
SOAPヘッダー
(XML signature, {key info},
リプレイー防止用フレッシュネスブロック
SOAP ボディー
(UPnP 動作)
Fundamentals
安全なイベンティング
セッション鍵を設置するため DeviceSecurityを実
行することが必要
安全な subscribe call は 4 つの新しいヘッダーを
含む
KEY-ID, IV, KEY-SEQ, HMAC
イベントは暗号化され指定セッション鍵を用いて署
名される
Fundamentals
プレゼンテーションページ
自己認証式 X.509 証明書によるデバイス
(サーバー)の認証
ブラウザー(クライアント)も自己認証式証明書
で認証
またブラウザーの証明書の公開鍵に基づいて
パーミッションと ACLs プレゼンテーション・
ページに適用
Fundamentals
認証証明書
認証済み ACL エントリーと対応
さらに発行者、デバイス公開鍵IDそして署名を含む
小型 ACLs を実現
パーミッションの制約付きデリゲーションをサポート
Fundamentals
デリゲーションのパワー
スケーラブルなアクセス制御を提供
フレックシブルなビジネスモデルを実現
階層的組織に適用可能
サブコントラクター
制約付きデリゲーションはパワー(責任)を制限
オーディタブル(パスワードの共有より良い)
シナリオ
Fundamentals
ブートストラッピング トラスト
制御ポイント鍵のトラストを確立する方法が必要
公開鍵は自由に送ることができる。しかしトラスト
をブートストラッピプするために帯域外のメカニズ
ムが必要である
ハードウェア (e.g., IR)
デフォルト方式 (SecurityConsole)
Scenarios
新しいデバイスのイントロダクション
Security
Console
Device
discovery
GetPublicKeys()
TakeOwnership()
Scenarios
コントロールポイントのイントロダクション
Control
Point
Security
Console
discovery
PresentKey()
Scenarios
アクセス制御コンフィギュレーション
Security
Console
Device
(prior TakeOwnership…)
GetDefinedPermissions()
AddACLEntry()
Scenarios
コントロールポイントはデバイスを使用
Control
Point
Device
GetPublicKeys()
SetSessionKeys()
SomeAction() + sig
or DecryptAndExecute()
Scenarios
証明書を使用したアクセス制御
Security
Console
Control
Point
GetMyCertificates()
Device
CacheCertificate()
optional step…
SomeAction()
+ sig + cert(s)
まとめ
UPnP Security 1.0 はほぼ完成
V2 Securityもとくにトラストのブートストラップ
や認証の分野について同様に完成予定。
顧客はセキュリティを期待し求めている。
ツールキットおよびO/Sサポートはまもなく完成
(引き続きご注目ください)
関連資料
http://forum.upnp.org/archives/security.html
http:www.upnp.org/members/repository.asp
Remote Plugfestによる学習機会
モーチベーション
複雑な問題を解決するには2~3日の plugfestsでは十分でない
特定の問題に限定したプログラムは難しい
現在の経済環境では plugfests に何度も参加
することは許されない
基本的ソリューション
UPnP はネットワークに基づいたプロトコルで
ある。だからインターネットを利用しよう
ファイアウォールの回避方法 :
SSDPを使用し、URLに通信された帯域外の記述
ドキュメントを明示的にロードする
ファイアウォールの外側にデバイスを置くこと
VPN を使用
企業間で毎週数種類の動作を目標とし合意し
た時間に試験を行うこと
各社では最低1名が毎週1~2時間しっかりと関
与することが必要
インパクト
共同で実施できるように保証レベルを高めるこ
と
F2F plugfests をより生産的にすること
“just work” -物事が簡単に進むことを期待して
F2F plugfests に参加しないこと
実施者が小さなミスでなく本当の課題に取り組める
こと
計画のための状況の正確なコミュニケーション
が可能になる
頭字語
XML Dsig – XML Digital Signature
XML Enc – XML Encryption
SOAP – Simple Object Access Protocol
PKI – Public Key Infrastructure (e.g., X.509)
For the interconnected lifestyle