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