...

- XMLコンソーシアム

by user

on
Category: Documents
34

views

Report

Comments

Transcript

- XMLコンソーシアム
応用技術部会 セキュリティWG活動
∼ XML関連セキュリティ規格∼
2004年5月24日
XML Consortium 応用技術部会
セキュリティWG: 上田 隆司
(コニカミノルタビジネステクノロジーズ株式会
社)
本日の報告内容
z
セキュリティ関連XML規格
– 規格マップ
– 規格標準化状況
z
SAMLの概要
– SAMLの仕様
– SAML関連用語
– SAMLモデル
z
適用例
© Copyright XML Consortium
応用技術部会セキュリティWG
2004/05/24
1
セキュリティ関連XML規格一覧
情報アクセス
ポリシー
認証と承認
SAML 1.1
OASIS:標準
2003-09-02
鍵の登録
証明書
C
サイト
SAML 2.0
OASIS:WD12
2004-05-17
D
サイト
XACML
OASIS:標準
2003-02-06
XACML 1.1
OASIS:CD
2003-08-07
XACML 2.0
OASIS:WD11
2004-05-14
認証
機関
情報
SOAPの
暗号・署名・認証情報
XKMS 2.0
W3C:勧告候補
2004-04-05
電子署名
A
企業
XML-Signature
W3C:勧告、RFC3275
2002-02-12
XPath Filter 2.0
W3C:勧告
2002-11-08
コンテンツの
詳細指定
WS-Security 1.0
OASIS:標準
2004-04-06
XML Encryption
W3C:勧告
2002-12-10
暗号・復号
Exclusive XML C14n 1.0
W3C:勧告
2002-07-18
Canonical XML 1.0
W3C:勧告、RFC3076
2001-03-15
© Copyright XML Consortium
XML文書の
正規化
応用技術部会セキュリティWG
B
企業
Decryption Transform
W3C:勧告
2002-12-10
署名後の
暗号・復号
2004/05/24
2
規格標準化状況
セキュリティ関連規格
XML Encryption
XML Signature
Exclusive XML C14n
Canonical XML
XKMS
2003年度
勧告候補:W3C
(2002/3/4)
勧告:W3C (2002/2/12)
勧告:W3C (2002/10/10)
勧告候補:W3C
(2002/5/24)
勧告:W3C (2001/5/15)
勧告:W3C (2002/7/18)
勧告:W3C (2001/3/30)
2.0
作業案:W3C (2002/3/18)
WD:W3C (2003/4/18)
勧告候補:W3C (2004/4/5)
草案:業界団体 (2002/4/5)
WD11:OASIS (2003/3/3)
標準:OASIS (2004/4/6)
ドラフト:OASIS (2002/7/1)
標準:OASIS (2002/11/5)
1.0
1.1
LC:OASIS (2003/5/3)
1.0
標準:OASIS (2003/9/2)
WD12:OASIS (2004/5/17)
2.0
XACML
2004年度
1.0
WS-Security
SAML
2002年度
ドラフト:OASIS (2002/7/1)
標準:OASIS (2003/2/6)
1.1
CD:OASIS (2003/8/7)
2.0
WD11:OASIS (2004/5/14)
LC:Last Call
CD:Committee Draft
WD:Working Draft
© Copyright XML Consortium
応用技術部会セキュリティWG
2004/05/24
3
SAMLの概要
z
Security Assertion Markup Language
‐ ユーザの認証、属性、許可情報を表現するXMLボキャブラリ
‐ 発行者と利用者でのメッセージ交換プロトコル 他
z
何を実現するものか?
‐ 異なる組織間でユーザ情報を共有する
• ユーザの認証状態 by Authentication Assertion
• ユーザの属性 by Attribute Assertion
• ユーザの持つ権利 by Authorization Decision Assertion
– WWWサイト間のシングルサインオン(SSO)
• Cookieが使えない場合
z
OASISによって標準化 (OASIS Standard)
– V1.0: 2002/11/5
– V1.1: 2003/9/2
© Copyright XML Consortium
応用技術部会セキュリティWG
2004/05/24
4
SAML仕様書 (1)
z
Assertions and Protocol
– Assertions
•
•
Assertions
Statements
– Protocol
•
•
•
z
Requests
Queries
Responses
Security and Privacy Considerations
– Security Considerations
•
•
•
•
•
Authentication
Confidentiality
Data Integrity
Notes on Key Management
TLS/ SSL Cipher Suites
© Copyright XML Consortium
応用技術部会セキュリティWG
2004/05/24
5
SAML仕様書 (2)
z
Bindings and Profiles
– Bindings
•
SOAP over HTTP protocol binding
– Profiles
•
•
z
z
Browser/ Artifact Profile
Browser/ POST Profile
Glossary
Conformance Program Specification
© Copyright XML Consortium
応用技術部会セキュリティWG
2004/05/24
6
SAML関連用語解説
z
Subject
– セキュリティドメインにおける認証/ 承認の対象となる実体
z
Assertion
– SAML Authorityが作るデータ
• Subjectを認証した行為
• Subjectに関する属性情報
• 特定のResource (資源)にSubjectがアクセスすることの認可
z
SAML Authority (SAML権限)
– Assertionを出す抽象的なシステム実体
• Attribute Authority (属性権限)
• Authentication Authority(認証権限)
• PDP (ポリシーに基づいた権限委譲の判断)
© Copyright XML Consortium
応用技術部会セキュリティWG
2004/05/24
7
SAMLモデル
④Profile
③Binding
Authority
Authority
②
Response
②Response
①
Assertion
①Assertion
Requestor
Requestor
②
Request
②Request
User
User
①
②
③
④
SAML Assertion
SAML Protocol
SAML Binding
SAML Profile
© Copyright XML Consortium
:
:
:
:
認証、属性、許可情報を表現
アサーションを交換するための交換プロトコル
トランスポートプロトコルにどのように乗せるかを規定
実際のサービスを実現するための一連のプロセス規定
応用技術部会セキュリティWG
2004/05/24
8
SAML Protocol
z
SAML Assertionを獲得するためのRequest/Response型
のメッセージプロトコルフォーマット
Authority
Authority
SAML Protocol
Request
Request
Assertionの
種類に応じたQuery
Response
Response
Assertion
Assertion
処理の成否情報と
各種Assertion
(認証、認可、属
性・・・)
Requestor
Requestor
© Copyright XML Consortium
応用技術部会セキュリティWG
2004/05/24
9
SAML Profile
z
実際のサービスを実現するための一連のプロセス
‐ アサーションをどのように利用するか
‐ プロトコルやシーケンスにマッピングするか
z
現在、Webブラウザでシングルサインオンを実現するため
の,2つのProfileが定義されている
– Web Browser SSO Profiles of SAML
• Browser/ Artifact Profile of SAML
• Browser/ POST Profile of SAML
z
特徴:Cookieの仕
組みは利用しない
今後、次のようなProfileが定義される予定
– SOAP Profile of SAML
• SAMLを用いてWebサービスをセキュアにするための”方法”
© Copyright XML Consortium
応用技術部会セキュリティWG
2004/05/24
10
SAML-Defined Identifiers
z
認証方法 (Authentication Method Identifiers)
–
–
–
–
–
–
–
z
Password
Kerberos
Secure Remote Password
Hardware Token
SSL/TLS証明書によるClient認証
公開鍵(X.509, PGP, SPKI, XKMS)
XML電子署名
アクション (Action Namespace Identifiers)
– Read, Write, Execute, Delete, Control
– Get, Head, Put, Post
– UNIX File Permissons
© Copyright XML Consortium
応用技術部会セキュリティWG
2004/05/24
11
適用例 (1/4):B2C
z
ユーザが複数のサイトを用いて、旅行の予約を行う
‐ シングルサインオン
‐ ユーザ情報の共有
旅行代理店サイト
ユーザ
情報
SAMLメッセージ
シングルサインオン
<認証情報>
ユーザは旅行代理店で
認証されました。
ユーザ
飛行機予約 サイト
属性情報の参照
<属性情報>
ユーザのメンバタイプは
ゴールドです
ホテル予約 サイト
© Copyright XML Consortium
応用技術部会セキュリティWG
2004/05/24
12
適用例 (2/4):B2Eポータル
z
社外提携サービスへのシングルサインオンや属性情報交換
社員ポータル
ファイナンシャル
(財形、401K)
福利厚生・健保
出張・引越し手配
教育・研修
© Copyright XML Consortium
SAML
システム
<属性情報>
ID=shimodaの
名前は下田 裕介で
住所は...です.
社内サービス
認証
DB
応用技術部会セキュリティWG
2004/05/24
13
適用例 (3/4):
ASP連携における認可情報提供
z
コンテンツポータルとコンテンツ配信サービスとの連携
コンテンツプロバイダサイト
認証・課金
コンテンツ配信サービス(ASP)
<認可情報>
コンテンツプロバイダは
ユーザAにコンテンツの
配信を認めました.
Content
Store
コンテンツ管理・配信
ID+パスワード
ASP:Application Service Provider
© Copyright XML Consortium
応用技術部会セキュリティWG
2004/05/24
14
適用例 (4/4):権限委譲
z
コミュニティメンバ同士で権限委譲
SAML拡張
<権限委譲情報>
署名
発行者名: 坂田
対象者 : 下田
権限
: サッカーチケット購入
利用制限:1000円まで、決済機能付
チケットサイト
日本代表応援
ネットコミュニティ
請求書
決済会社サイト
請求書
請求書
© Copyright XML Consortium
応用技術部会セキュリティWG
2004/05/24
15
応用技術部会 セキュリティWG活動
∼ SAML, XML Signature, XML Encryptionの実装∼
2004年5月24日
XML Consortium 応用技術部会
セキュリティWG: 山口 英子
(日本テレコム株式会社)
本日の報告内容
z
背景と目標
– 活動概要
– 実績と今年度の目標
z
開発したデモシステム
–
–
–
–
z
ストーリー
セキュリティ上の課題と対応
システム構成
個別システム
デモ
© Copyright XML Consortium
応用技術部会セキュリティWG
2004/05/24
1
本日の報告内容
z
背景と目標
– 活動概要
– 実績と今年度の目標
z
開発したデモシステム
–
–
–
–
z
ストーリー
セキュリティ上の課題と対応
システム構成
個別システム
デモ
© Copyright XML Consortium
応用技術部会セキュリティWG
2004/05/24
2
セキュリティWG 活動概要
活動内容・目的
セキュリティ関連XML技術を中心に、
・規格調査と普及への啓蒙活動
・実装ノウハウの収集と相互運用性の検証
を行なう。
メンバー(五十音順)
・
・
・
・
・
池上(沖電気工業)
岡村(ネット・タイム)
小堀(リコーシステム開発)
坂田(日立製作所)
山口(日本テレコム)
© Copyright XML Consortium
・ 上田(コニカミノルタビジネステクノロジーズ)
・ 河村(ロココ)
・ 坂田(NTTデータ)
・ 道村(富士ゼロックス)
応用技術部会セキュリティWG
2004/05/24
3
活動実績と今年度の目標
z
昨年度迄の活動実績
2001年度
2002年度
2003年度
XKMSを使った
電子署名システム
XML暗号による部分暗号と
SAMLによるSSOの実現
SAML
z
今年度の目標
– 昨年度迄の成果を集大成として結集したデモシステムを開発
・ XML Signature
・ XML Encryption
・ SAML
© Copyright XML Consortium
応用技術部会セキュリティWG
2004/05/24
4
実装目標
z
コミュニティメンバ同士で権限委譲
SAML拡張
<権限委譲情報>
署名
発行者名: 坂田
対象者 : 下田
権限
: サッカーチケット購入
利用制限:1000円まで、決済機能付
チケットサイト
日本代表応援
ネットコミュニティ
請求書
決済会社サイト
請求書
請求書
© Copyright XML Consortium
応用技術部会セキュリティWG
2004/05/24
5
計画
z
z
月に一回の応用技術部会のミーティングとメールで活動
調査や設計、実装は、自分で工夫した時間で
2003年
7月
8月
9月
2004年
10 月 11 月 12 月 1 月
2月
3月
4月
5月
6月
テーマ選定
仕様検討・設計
エンジン調査・実装
AP実装
接続試験
© Copyright XML Consortium
応用技術部会セキュリティWG
2004/05/24
6
本日の報告内容
z
背景と目標
– 活動概要
– 実績と今年度の目標
z
開発したデモシステム
–
–
–
–
z
ストーリー
セキュリティ上の課題と対応
システム構成
個別システム
デモ
© Copyright XML Consortium
応用技術部会セキュリティWG
2004/05/24
7
デモシステム:ストーリー
z
2005年5月オリンピックカメラ勤務の下田さんはスポーツバーで
サッカーファン仲間と2006年開催の“ワールドカップ”の話題で
盛り上がった・・
‐ 下田さんが「皆でドイツに行ってワールドカップを観戦しようよ」と提案
‐ 下田さんは全員分の“2006 World Cup Germany”のチケットを手配す
ることに
– チケット代金も下田さんがまとめて決済
z
適用した仕様
1. XML Signature(権限委譲情報に付与)
2. XML Encryption(カード番号等は下田さんやチケット会社に見せない)
3. SAML拡張(権限委譲情報の記述)
© Copyright XML Consortium
応用技術部会セキュリティWG
2004/05/24
8
システム上の課題と対応(1/3)
∼電子署名による改竄検出∼
z
データの受信者は電子署名を検証することで、途中経路で
の改竄がないことを確認
下田
申込書+Card No.
委任状
「下田」署名
ワールドチケット
BEGINNER
この申込書は途中で
改竄されていないコトを確認
電子署名の検証
電子署名の付与
与信
請求書+Card No.
「下田」署名
「ワールドチケット」署名
下田さんの情報も途中で
改竄されていないコトを確認
© Copyright XML Consortium
応用技術部会セキュリティWG
「ワールドチケッ
ト」
署名の検証
「下田」署名の
検証
2004/05/24
9
システム上の課題と対応(2/3)
∼暗号化によるデータの秘匿∼
z
データの送信者は受信者の公開鍵で暗号化することで、
途中経路で見せたくないデータを秘匿
下田
ワールドチケット
BEGINNER
申込書+Card No.
委任状
Card No.の暗号
暗号
申込書+Card
No.
委任状
Card No.は解らなくても
処理は可能
与信
請求書+Card
No.
暗号
Card No.の復号
復号したCard No.の
有効性を検証
© Copyright XML Consortium
応用技術部会セキュリティWG
与信
請求書+Card No.
2004/05/24
10
システム上の課題と対応(3/3)
∼認証要求と認証許可の記述(前半)∼
z
サービスの意思決定に必要な属性情報の交換を
安全に実現する
友人
下田
認証オーソリティ
属性オーソリティ
ログイン(認証Query)
「下田さん」に、「5万円以内」の
「ワールドカップサッカー」の
チケット購入の委任状を登録
認証Assertion
委任状
ログイン(認証Query)
認証Assertion
委任状要求(属性Query)
「下田さん」宛ての
委任状を送信
© Copyright XML Consortium
属性Assertion
委任状
応用技術部会セキュリティWG
「下田さん」の
認証状態を確認
2004/05/24
11
システム上の課題と対応(3/3)
∼認証要求と認証許可の記述(後半)∼
z
サービスの意思決定に必要な属性情報の交換を
安全に実現する
下田
属性オーソリティ
ワールドチケット
PDP
属性Assertion
委任状
申込書+Card No.
属性Assertion
委任状
委任状の確認
(下田さんの権限認
可)
認可決定Query
No.
属性Assertion
委任状
「属性情報」と
「委任状」を
切り出す
認可決定Assertion
© Copyright XML Consortium
応用技術部会セキュリティWG
2004/05/24
12
システム構成(1/2)
認証オーソリ
ティ
属性オーソリ
ティ
ポリシー決定点
委任状
確認要求
委任状要求
委任状
確認結果
委任状
認証
委任状
委任状
カード会社
(BEGINNER)
友人A
認証
与信
友人B
与信結果
支払情報
利用者・友人
利用者・友人
© Copyright XML Consortium
利用者・幹事
(下田)
応用技術部会セキュリティWG
チケット販売
(ワールドチケット)
2004/05/24
13
システム構成(2/2)
z
言語・ライブラリ
実装する機能
言語・ライブラリ類
OS
友人1
SAML(ログイン、 XML 署名)
委任状作成(XML 署名・暗号)
Java(J2SE 1.5β、JavaCard 2.1.1)
SAML:OpenSAMLをベースに拡張
XML署名・暗号:Apache XML Security+独自実装
ICカードアクセス:OpenCard Framework 1.2
Windows 2000
Professional
JCOP 21id
友人2
SAML(ログイン、XML署名)
委任状作成(XML署名・暗号)
Java(J2SE build 1.4.2_04-b05)
SAML:独自実装、XML署名・暗号:TSIK
Windows 2000
Professional
下田さん
SAML(ログイン、委任状取得)
XML 署名・暗号
Microsoft Visual Studio .NET 2003
Windows2000
Professional +SP4
認証オーソリ
ティ
SAML認証
XML署名・暗号
Java(J2SDK 1.4.2_03)
Windows XP
SAML:OpenSAML、XML署名・暗号:Apache XML Security、 Professional SP1
SOAP:Apache Axis、 JCAプロバイダ:BauncyCastle
属性オーソリ
ティ
SAML属性クエリ処理
XML署名
Java
Apache XML Security, Axis 1.1,Tomcat 5.0
Windows2000
ポリシー決定点
SAML認可
XML署名・暗号
Java
アプリケーションサーバ:日立 Cosminexus V6
SOAP、XML署名・暗号: 同上
SAML:OpenSAMLをベースに拡張
Windows2000
Server
チケット会社
SAML認可要求
XML署名
Java(J2SDK 1.4.2_03)
TSIK1.10, Tomcat5.0
Windows2000
Professional
カード会社
XML署名・暗号
© Copyright XML Consortium
ポリシー決定点と同様
応用技術部会セキュリティWG
2004/05/24
14
個別システム
各担当者の資料をご参照ください
© Copyright XML Consortium
応用技術部会セキュリティWG
2004/05/24
15
応用技術部会 セキュリティWG活動
∼ SAML, XML Signature, XML Encryptionの実装∼
(友人編)
2004年5月24日
XML Consortium 応用技術部会
セキュリティWG: 岡村 和英
(株式会社ネット・タイム)
担当箇所
認証オーソリティ
属性オーソリティ
ポリシー決定点
委任状
確認要求
委任状要求
委任状
確認結果
委任状
認証
委任状
委任状
カード会社
(BEGINNER)
友人A
認証
与信
友人B
与信結果
支払情報
利用者・友人
利用者・友人
© Copyright XML Consortium
利用者・幹事
(下田)
応用技術部会セキュリティWG
チケット販売
(ワールドチケット)
2004/05/24
1
設計のポイント
z
SAMLプロトコルを用いた認証処理
– 認証クエリと電子署名を組み合わせることにより、クエリ要求者を識
別・認証することが可能に。
z
SAMLオーソリティを用いた委任状の交換
– 相手(下田さん)と直接通信することなく、安全な経路で委任状の受け
渡しが可能に。
z
XML暗号、XML電子署名の利用
– 委任状に含まれるクレジットカード情報部分はクレジットカード会社の
公開鍵で暗号化されており、途中経路での解読を防止。
– 委任状全体に自分の電子署名を付与することにより、改竄を防止。
© Copyright XML Consortium
応用技術部会セキュリティWG
2004/05/24
2
実装のポイント
z
JavaCardの利用
– Javaプログラムを格納・実行可能なICカード。
– RSA非対称鍵ペアをICカード内部で生成可能。
¾ 秘密鍵がカード外部に出力されない為、機密性が非常に高い。
(但し、今回は検証実験の都合上、外部で生成した鍵をインポートして利用)
– クレジットカード情報(XML文書)をICカード内部で生成・暗号化。
¾ ICカード内で生成された秘密鍵(3DES鍵)でカード情報を暗号化。
¾ 秘密鍵は事前にICカードに登録されたクレジットカード会社の公開鍵で
暗号化した状態でのみ取り出し可能。
¾ ユーザのPCのメモリ上を含む全経路で、カード情報を機密化。
– 電子署名値をICカード内部で演算。
¾ 署名演算に必要な秘密鍵がカード外部に出力されない。
© Copyright XML Consortium
応用技術部会セキュリティWG
2004/05/24
3
システム構成
z
PC側アプリケーション
–
–
–
–
–
–
–
z
Windows 2000 Professional SP4
J2SDK 1.5.0β1
OpenSAML 1.0
Apache XML Security 1.1
Apache Axis 1.1
Xerces 2.6.2 DOM3
OpenCard Framework 1.2
JavaCard
– IBM JCOP 21id (JavaCard 2.1.1 & Open Platform 2.0.1)
– IBM JCOP Development Tools 3.0 for Eclipse
© Copyright XML Consortium
応用技術部会セキュリティWG
2004/05/24
4
ログイン(認証)
PC
友人
JavaCard
認証オーソリティ
属性オーソリティ
認証クエリ生成
SignedInfo生成
電子署名
SOAP呼び出し
署名検証
認証アサーション生成
認証アサーション確認
© Copyright XML Consortium
応用技術部会セキュリティWG
2004/05/24
5
委任状の登録
PC
友人
JavaCard
認証オーソリティ
属性オーソリティ
暗号鍵生成
カード情報生成
委任状生成
暗号化
SignedInfo生成
電子署名
SOAP呼び出し
署名検証
属性登録
応答確認
© Copyright XML Consortium
応用技術部会セキュリティWG
2004/05/24
6
考察と感想
z
苦労した点、工夫した点
– JavaCard
¾ 暗号化の際のメッセージパディングがISO9097方式にしか対応していなかった為、
カードアプリケーション側でISO10126方式を実装。
¾ 3DES暗号処理が2Key方式のみの対応であったため、鍵暗号化の際に
2Key→3Keyに拡張。(DES処理の組み合わせで3Keyへの対応を行うことも可能で
あったが、煩雑になるため今回は未実施。)
– Apache XML Security
¾ 作業対象となるエレメントをDOMツリー上でドキュメントエレメントとなるように配置
しておかないと正しく処理できない。
→ ドキュメントエレメントを都度remove/appendしながら処理。
¾ 内部変数を多用しており、一見無関係に見えるAPIが動作に影響しあっているの
で要注意。
– OpenSAML
¾ 0.9はバグだらけだったが、1.0になってだいぶ安定してきた。しかしまだ、スキーマ
と合致していない箇所があるので要注意。
– Axis
¾ javax.xml.soapパッケージを利用したが、DOMとの互換性がないのはとても不便。
→ インターフェースの実装実体であるorg.apache.axis.messageパッケージにキャ
スト。
‐ GUIの実装
¾ 接続実験完了後に実装・・・・ なんとか間に合った。
© Copyright XML Consortium
応用技術部会セキュリティWG
2004/05/24
7
応用技術部会 セキュリティWG
−SAML, XML Signature, XML Encryptioの実装−
(友人編)
2004年5月24日
XML Consortium 応用技術部会
セキュリティWG: 道村 唯夫
(富士ゼロックス株式会社)
報告内容
z
デモシステム
– 自分の担当箇所の説明(シーケンス図)
z
設計と実装
–
–
–
z
内容
活動実績
実装環境
規模
クラス図
考察と感想
–
–
–
–
苦労した点など
今後の計画
感想
謝辞
© Copyright XML Consortium
応用技術部会セキュリティWG
2004/05/24
1
デモでのデータフロー
友人
下田
認証オーソリティ
属性オーソリティ
ワールドチケット
PDP
BEGINNER
ログイン(認証Query)
認証Assertion
委任状
カード情報等は
暗号化
ログイン(認証Query)
認証Assertion
友人のチケットの
決済も行なう
委任状要求(属性Query)
属性Assertion
委任状
「下田さん」宛の
委任状を送付
申込書+Card No.
委任状
委任状確認(認可決定Query)
認可決定Assertion
この与信は本当に
「ワールドチケット」か
ら?
⇒送信者確認
与信
請求書+Card No.
電子チケット送付
決済完了通知
© Copyright XML Consortium
チケット決済完了
応用技術部会セキュリティWG
与信結果
2004/05/24
2
システム構成
認証オーソリ
ティ
属性オーソリ
ティ
ポリシー決定点
委任状
確認要求
委任状要求
委任状
確認結果
委任状
認証
委任状
委任状
カード会社
(BEGINNER)
友人A
認証
与信
友人B
与信結果
支払情報
利用者・友人
利用者・友人
© Copyright XML Consortium
利用者・幹事
(下田)
応用技術部会セキュリティWG
チケット販売
(ワールドチケット)
2004/05/24
3
設計と実装
z
内容
– 認証オーソリティへの認証要求の作成と送付
• SMAL Requestの生成
• XML Signatureの付与
– 認証オーソリティからの応答の受信と検証
• XML Signatureの検証
• SAML Responseの解析
– 属性オーソリティへの委任状の作成と送付
• 内容の生成
• XML Encryptionによる暗号化
• XML Signatureの付与
– 属性オーソリティからの応答の受信と確認
• 内容の確認
© Copyright XML Consortium
応用技術部会セキュリティWG
2004/05/24
4
設計と実装(続き)
z
活動実績
– 部会の活動にはほとんど参加できず、メンバの方々にはご迷惑をかけた
– メンバの方々の設計・実装が進んだ2004年5月に入ってから実装を開始
2003年
6月 7月
8月
部会参加
部会参加
お休み
z
9月
2004年
10 月 11 月 12 月 1 月 2 月
3月
忘年会
お休み
4月
5月
実装
お休み
発表
試験
実装環境
– オペレーティングシステム: Microsoft Windows 2000 Professional (SP4)
– プログラミング言語: Java (Java2 SE build 1.4.2_04-b05)
– ライブラリ
• Cryptographic Algorithms: Bouncy Castle Crypto Package (1.23 for Java 1.4)
• SOAP / Signature / Encryption: TSIK (VeriSign Inc.)
• SAML: 独自実装
© Copyright XML Consortium
応用技術部会セキュリティWG
2004/05/24
5
設計と実装(続き)
z
規模 (資料作成時)
– 実装/接続試験: 22H / 12H
– 総ライン数: 1415 lines
z
クラス図 (概略)
SAMLObject
Attorney
XML
SAMLLogin
Entrust
SOAPClient
Login
AttorneyDialog
SecurityDemo
LoginFrame
© Copyright XML Consortium
応用技術部会セキュリティWG
2004/05/24
6
考察と感想
z
苦労した点など
– 既存のツールをそのまま使ったため、柔軟性に欠ける
• 完全に最新規格/勧告に適合させることができなかった
– SOAPAction、Content-Type、saml:ReferenceIDなど
– XML Encryptionの暗号、復号の接続性確保
• ツール、実装が異なると接続性の確保が困難
• 直接/間接の接続相手が増えると、確認作業がたいへん
– 接続相手nの場合、「n × (n – 1) ÷2」の作業が必要
– TSIKについて
• 理解が容易で洗練されたインタフェース
– 微調整は困難だが、TSIKどうしであれば、必ず同じ結果が得られる
• 必要充分な機能を持つ
– しかし、最新規格/勧告への追従は?
• パッケージに含まれているサンプルが少なく、他に公開されたものもほとんどない
© Copyright XML Consortium
応用技術部会セキュリティWG
2004/05/24
7
考察と感想(続き)
z
今後の計画
– 応用部会の活動への継続的な参加が厳しい
– チャンスがあれば、オープンソースの実装(Apache XML Security、OpenSAML
など)をもとに、改良を加えながらの設計・実装を実施したい
• Open SourceのPackageの存在は重要
z
感想
– 今回のシステム(担当部分)としては、「なんとか接続ができること」を目標にした
ため、設計・実装ともにあまり良いものではなかったように思う
– 署名、暗号仕様は、曖昧さもなく、一般的なものになってきたが、、、
• 仕様が広範なため、応用、ライブラリ開発には工夫と割り切りが必要
• まだまだ相互接続性の確認が重要
– 接続間で環境(ツールやライブラリ)、実装を揃えておくと、苦労が少なくてすむ
– 規格/勧告を応用するにあたり、適用方法の設計が重要である
• 特に、SAMLは適用範囲が広く、他の規格/勧告との組み合せ方の考慮も必要
z
謝辞
– 応用技術部会/セキュリティWGのみなさまに感謝しています
© Copyright XML Consortium
応用技術部会セキュリティWG
2004/05/24
8
最後に
z
Java 及びすべてのJava関連の商標及びロゴは,米国及びその他の国
における米国Sun Microsystems,Inc.の商標または登録商標です
z
Windowsは,米国およびその他の国における米国Microsoft Corp.の登
録商標です
z
VeriSignは、米国VeriSign Inc.の登録商標です
z
その他、記載されている会社名、製品名は各社の登録商標または商標
です
© Copyright XML Consortium
応用技術部会セキュリティWG
2004/05/24
9
応用技術部会 セキュリティWG
−SAML, XML Signature, XML Encryptioの実装−
2004年5月24日
XML Consortium 応用技術部会
セキュリティWG:河村 博文
(株式会社ロココ)
デモシステム
友人
下田
認証オーソリティ
属性オーソリティ
PDP
ワールドチケット
BEGINNER
ログイン(認証Query)
「友人」署名
認証Assertion
「認証オーソリティ」署名
「友人」署名の
検証
Assertionの
生成
認証オーソリティ
認証しています。
ログイン(認証Query)
認証Assertion
© Copyright XML Consortium
確かに認証オーソリ
ティが発行しています。
「下田」署名の
検証
Assertionの
生成
応用技術部会セキュリティWG
2004/05/24
1
設計と実装1
z
作業内容について
‐ SAML認証オーソリティ
z
処理手順
‐ ユーザよりSOAPメッセージで送信されたRequestを取得
‐ Requestの署名を検証
‐ Requestの署名の検証が成功した場合 StatusにSccessを表示し
OpenSAMLによるAssertionの作成
Assertionを付加しResponseを作成
XMLSecurityを使用し、認証オーソリティ側の鍵で署名を添付
以上を行い、返信する
‐ Requestの署名の検証が失敗した場合、Falseのメッセージを返信する
© Copyright XML Consortium
応用技術部会セキュリティWG
2004/05/24
2
設計と実装2
z
クラス図
SAMLSignedObject
SAMLSOAP
-ks : KeyStore
+signForXMLCon(String alg,
Key k, String keyName)
+chkSAMLMessage(byte[]
elem)
+verify(Certificate cert)
chkSAMLMessageにユーザから送られたRequestを取得
取得したRequestの署名をSAMLSignedObjectのverifyにより検証
署名の検証に成功すると
Assertionを作成
Assertionを付加してResponseを作成
SAMLSignedObjectのsignForXMLConにより署名の作成
以上をし、Responseを返す
© Copyright XML Consortium
応用技術部会セキュリティWG
2004/05/24
3
設計と実装3
z
実装環境
– Windows XP Professional SP1
– J2SDK 1.4.2_03
– Apache Tomcat 4.1.30
– Apache Axis 1.1 Final
– Apache XML Security2.0
– Open SAML
© Copyright XML Consortium
応用技術部会セキュリティWG
2004/05/24
4
考察と感想
z
苦労した点
– 動作環境の調査と構築
– 署名検証を通す為正規化方式を
ALGO_ID_C14N_EXCL_OMIT_COMMENTSから
ALGO_ID_C14N_OMIT_COMMENTSに変更した点
z
計画と状況
– 当初メッセージの送受信をElementにて行う予定であったが、
SOAPにAxisを使いJWSで実現しようとしたが至たらず
Base64 RPC Encodingにて送受信を行っている。
© Copyright XML Consortium
応用技術部会セキュリティWG
2004/05/24
5
応用技術部会 セキュリティWG活動
-SAML,XML Signature, XML Encryptionの実装∼ .NET編∼
2004年5月24日
XML Consortium 応用技術部会
セキュリティSWG: 池上 勝美
(沖電気工業株式会社)
報告内容
z
z
デモシステム
設計と実装
© Copyright XML Consortium
応用技術部会セキュリティWG
2004/05/24
1
デモシステム
z
ストーリ
‐ 下田さんが「皆でドイツに行ってワールドカップを観戦しようよ」と提案
‐ 下田さんは全員分の“2006 World Cup Germany”のチケットを手配す
ることに
‐ チケット代金も下田さんがまとめて決済
・ チケットを注文
・ 自身の代金はクレジットカードで決済
・ 友人の代金は委任状を取り寄せて処理
z
処理概要
‐ システムへのログイン(SAML Authentication)
‐ 委任状の取得(SAML Assertion)
‐ 申し込み書の作成(XML Signature、XML Encryption)
© Copyright XML Consortium
応用技術部会セキュリティWG
2004/05/24
2
デモシステム
z
構成
認証オーソリティ
属性オーソリティ
ポリシー決定点
委任状
確認要求
委任状要求
委任状
確認結果
委任状
認証
委任状
委任状
カード会社
(BEGINNER)
友人A
認証
与信
友人B
与信結果
支払情報
利用者・友人
利用者・友人
© Copyright XML Consortium
利用者・幹事
(下田)
応用技術部会セキュリティWG
チケット販売
(ワールドチケット)
2004/05/24
3
デモシステム(続き)
z
処理シーケンス
下田
署名の付与と検証
属性オーソリティ
認証オーソリティ
ワールドチケット
ログイン(認証Query)
認証Assertion
委任状要求(属性Query)
属性Assertion
委任状
署名の付与と検証
申込書+Card No.
属性Assertion
委任状
委任状の確認
(下田さんの権限認可)
暗号化
署名の付与
© Copyright XML Consortium
応用技術部会セキュリティWG
2004/05/24
4
設計と実装
z
目標
‐ SAML Authentication、SAML Assertionの開発
– XML Signature、XML Encryption実装
• XML Signature:2001年度開発済み
• XML Encryption:2002年度開発済み
z
環境
‐ Windows 2000 Professional SP4
– Microsoft Visual Studio .NET 2003
– C#
© Copyright XML Consortium
応用技術部会セキュリティWG
2004/05/24
5
設計と実装(続き)
z
クラス図
Login:SAML
Purchase
SOAPHttpClientProtocol
AttorneyLetter:
SAML
XML Encryption
XML Signature
KeyStore
© Copyright XML Consortium
応用技術部会セキュリティWG
2004/05/24
6
設計と実装(続き)
z
工夫した点:Requestメッセージへの署名
工夫した点:
Subject
署名の
範囲
AttibuteDesignator
AttributeQuery
Request
サービスのインタフェース
ResponceType Request( AttributeQuery aq)
{
}
課題:
AP(Loginクラス)から署名対象のド
キュメントが取得できない
対処:
SOAPExtentionでSOAPメッセージを
取得した後に署名
Body
Envelope
© Copyright XML Consortium
SAMLExtention
SOAPExtention
応用技術部会セキュリティWG
2004/05/24
7
設計と実装(続き)
z
工夫した点:“RequestId”への署名
署名対象は“RequestId”
<Request xmlns="urn:oasis:names:tc:SAML:1.0:protocol" IssueInstant="2004-5-140T03:47:21.2889792Z"
MajorVersion="1" MinorVersion="1" RequestId="b8023c717f2df0d448c49da277c1">
<AttributeQuery>
<Subject xmlns="urn:oasis:names:tc:SAML:1.0:assertion">
・・・・・・・・・・・・・・・
</Subject>
<AttributeDesignator AttributeName="AttorneyLetter" xmlns="urn:oasis:names:tc:SAML:1.0:assertion"/>
</AttributeQuery>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
・・・・・・・・・・・・・・・
<Reference URI="#b8023c717f2df0d448c49da277c1">
・・・・・・・・・・・・・・・
</Reference>
</SignedInfo>
・・・・・・・・・・・・・・・
</Signature>
< /Request>
© Copyright XML Consortium
課題:
SignedXmlのEnvelopedSignatureは“Id”
属性から署名対象を取得する。
RequestId:SAMLに対して署名できない。
対処:
SingedXmlを継承したSignedXmlExで、
GetIdElementを拡張し、RequestIdへの署
名を実現。
応用技術部会セキュリティWG
2004/05/24
8
設計と実装(続き)
z
実装結果:プログラム
– コア部分
• 新規:ログイン、認証、SAMLExtention、Parchase(自動生成分を除く)
– クラス数:4
– ライン数:約300
• 変更流用:XML Signature
– パッケージ数:1
– 変更ライン数:約100
• 流用:XML Encryption、KeyStore
– デバック用
• 新規:テストアプリケーション、テストサーバ
– ライン数:約300(予定)
z
実装結果:開発時間
注)5/20現在
– 調査:60H
– コーディング:20H
© Copyright XML Consortium
応用技術部会セキュリティWG
2004/05/24
9
応用技術部会 セキュリティWG
−SAML, XML Signature, XML Encryptionの実装−
2004年5月24日
XML Consortium 応用技術部会
セキュリティWG: 坂田 祐司 作成
(株式会社 NTTデータ)
システム構成
認証オーソリティ
属性オーソリティ
ポリシー決定点
(PDP)
委任状
確認要求
委任状要求
委任状
確認結果
委任状
認証
委任状
委任状
カード会社
(BEGINNER)
友人A
認証
与信
友人B
与信結果
支払情報
利用者・友人
利用者・友人
利用者・幹事
(下田)
チケット販売
(ワールドチケット)
PDP:Policy Decision Point
© Copyright XML Consortium
応用技術部会セキュリティWG
2004/05/24
1
デモでのデータフロー
友人
下田
認証オーソリティ
属性オーソリティ
PDP
ワールドチケット
Beginner
ログイン(認証Query)
認証Assertion
委任状
ログイン(認証Query)
認証Assertion
委任状要求(属性Query)
属性Assertion
委任状
申込書+Card No.
委任状
委任状確認(認可決定Query)
認可決定Assertion
決済完了通知
© Copyright XML Consortium
チケット決済完了
応用技術部会セキュリティWG
与信
請求書+Card No.
与信結果
2004/05/24
2
作業実績と問題点
z
作業内容
– 属性オーソリティの開発
– 委任状の取得
9 委任状を登録要求を受け取り、要求者の署名を検証
9 委任されたユーザ(下田さん)の属性として委任状を登録
9 委任状の発行
9 委任状取得要求をSAMLクエリとして受け取る
9 要求者の署名を検証し、署名者が委任されているユーザである事を確認
9 委任状を添付したSAML Assertionを要求者に返却
z 障害となった点
– SAMLのXML署名の互換性
Apache XML Securityは、SAMLのID属性(AssertionID等)を署名箇所と
して指定するためには独自の作りこみが必要。
© Copyright XML Consortium
応用技術部会セキュリティWG
2004/05/24
3
応用技術部会 セキュリティWG
−SAML, XML Signature, XML Encryptionの実装−
2004年5月24日
XML Consortium 応用技術部会
セキュリティWG: 坂田 匡通
(株式会社日立製作所)
報告内容
z
デモシステム
– 自分の担当箇所の説明(シーケンス図)
z
設計と実装
- 作業内容について
- 実装環境・規模 など
z
考察と感想
– 苦労した点
– 工夫した点 など
© Copyright XML Consortium
応用技術部会セキュリティWG
2004/05/24
1
システム構成
担当
報告者担当
認証オーソリティ
属性オーソリティ
ポリシー決定点
(PDP)
委任状
確認要求
委任状要求
委任状
確認結果
委任状
認証
委任状
委任状
カード会社
(BEGINNER)
友人A
認証
与信
友人B
与信結果
支払情報
利用者・友人
利用者・友人
利用者・幹事
(下田)
チケット販売
(ワールドチケット)
PDP:Policy Decision Point
© Copyright XML Consortium
応用技術部会セキュリティWG
2004/05/24
2
デモでのデータフロー
友人
下田
認証オーソリティ
属性オーソリティ
PDP
ワールドチケット
BEGINNER
ログイン(認証Query)
認証Assertion
委任状
ログイン(認証Query)
認証Assertion
委任状要求(属性Query)
属性Assertion
委任状
委任状の内容を検
証し、認可決定を
行う。(署名検証)
申込書+Card No.
委任状
暗号化されているク
レジット情報を復号
化し、与信を行う。
(3人分)
委任状確認(認可決定Query)
認可決定Assertion
決済完了通知
© Copyright XML Consortium
チケット決済完了
応用技術部会セキュリティWG
与信
請求書+Card No.
与信結果
2004/05/24
3
設計と実装
z 環境
–
–
–
–
–
OS:Windows 2000 Server
開発言語:Java
アプリケーションサーバ: 日立 Cosminexus V6
SOAP、XML署名・暗号: 同上
SAML:OpenSAMLをベースに拡張
Windowsは,米国およびその他の国における米国Microsoft Corp.の登録商標です。
Java 及びすべてのJava関連の商標及びロゴは,米国及びその他の国における米国Sun
Microsystems,Inc.の商標または登録商標です。
OpenSAML:http://www.opensaml.org/
© Copyright XML Consortium
応用技術部会セキュリティWG
2004/05/24
4
作業実績
z 作業内容
– ポリシー決定点およびクレジットサービスの開発
9 委任状の内容を検証し、SAML認可Assertionを発行。
9 クレジット情報のXML暗号を復号化し、与信を行う。
– オフラインでの互換性試験
– オンラインでの接続試験
z 新規開発規模
– ライン数:約500ステップ
– クラス数:3
© Copyright XML Consortium
応用技術部会セキュリティWG
2004/05/24
5
障害となった点、工夫した点など
前年度はSAMLを用いたシングル・サインオンを実装。
→今回は新たにSAML認可の利用、XML暗号にチャレンジ。
障害となった点
• SAMLのXML署名の互換性
ツールによりSAMLのID属性(AssertionID等)を署名箇所として
指定できない場合がある。
→AssertionIDをIDとして判定できるように、独自にSAMLIDResolverを開発
<Reference URI=“#assertionId”>の解釈を可能にした。
仕様の疑問点
• SAMLでは認可クエリーで指定できる情報が少ない。
(条件など細かい指定ができない)
→細かいアクセス制御はXACMLを利用した方が良い。
© Copyright XML Consortium
応用技術部会セキュリティWG
2004/05/24
6
応用技術部会 セキュリティWG活動
∼ TSIKによるSAML, XML Signatureの実装∼
2004年5月24日
XML Consortium 応用技術部会
セキュリティWG: 山口 英子
(日本テレコム株式会社)
本日の報告内容
z
z
z
デモシステム
- 担当箇所の説明
設計と実装
- 作業内容
- シーケンス図
- メッセージの解説
感想
- 苦労した点など
© Copyright XML Consortium
応用技術部会セキュリティWG
2004/05/24
1
担当箇所(1/2)
認証オーソリ
ティ
属性オーソリ
ティ
ポリシー決定点
委任状
確認要求
委任状要求
委任状
確認結果
委任状
認証
委任状
委任状
カード会社
(BEGINNER)
友人A
認証
与信
友人B
与信結果
支払情報
利用者・友人
利用者・友人
© Copyright XML Consortium
利用者・幹事
(下田)
チケット販売
(ワールドチケット)
応用技術部会セキュリティWG
2004/05/24
2
担当箇所(2/2)
z
ワールドチケットの役割
1.
2.
3.
4.
z
下田さんから申込書を受信
申込書に付与されている委任状の権限を確認
カード会社へ与信データを送付
与信が完了したら、下田さんへ手続完了をお知らせ
適用した仕様
1. XML Signature(署名の記述/署名の検証)
2. SAML(委任状の利用権限の認可)
※ XML Encryption →カード情報は本人とカード会社にしか見せないため、
ワールドチケットは暗号化されたデータをそのまま処理
© Copyright XML Consortium
応用技術部会セキュリティWG
2004/05/24
3
作業内容
調査
z
z
z
SAMLの理解
TSIKの調査
- 昨年も利用したため、バージョンアップのみ
SOAPの理解
- PDP/BEGINNERカードとのやりとりはSOAPで実施
設計と実装
z
z
Attribute AssertionからAuthorization Decision Queryを生成
SOAPでの送受信を実装
© Copyright XML Consortium
応用技術部会セキュリティWG
2004/05/24
4
ワールドチケットの実装
下田
ワールドチケット
PDP
カード情報等は
暗号化
友人のチケット購入
に関する権限認可
BEGINNER
暗号
申込書+Card
No.
属性Assertion
委任状
認可決定Query
No.
属性Assertion
委任状
「属性情報」と
「委任状」を
切り出す
認可決定Assertion
与信
請求書+Card
No.
暗号
チケット決済完了
電子チケット送付
© Copyright XML Consortium
与信結果
決済完了通知
応用技術部会セキュリティWG
2004/05/24
5
メッセージの解説(1/2)
z
PDPへ送るSOAPメッセージ(認可決定Query)
<?xml version=“1.0” encoding=“UTF-8” ?>
<s:Envelope xmlns:s=“http://schemas.xmlsoap.org/soap/envelope/”>
<s:Header />
<s:Body>
<samlp:Request IssueInstant=“2004-05-13T07:21:48Z” MajorVersion=“1” MinorVersion=“0”
RequestID=“3234b750-a4ae-11d8-8124-09a59c9c58c9”
xmlns:samlp=“urn:oasis:names:tc:SAML:1.0:protocol”>
<samlp:RespondWith
xmlns:saml=“urn:oasis:names:tc:SAML:1.0:assertion”>saml:SuthorizationDecisionQuery</samlp:RespondWith>
<ds:Signature xmlns:ds=“http://www.w3.org/2000/09/xmldsig#”>
署名本体、鍵情報など
</ds:Signature>
<samlp:AuthorizationDecisionQuery Resource=“http://www.jfb.co.jp/wc-ticket/”>
<saml:Subject xmlns:saml=“urn:oasis:names:tc:SAML:1.0:assertion”>
<saml:SubjectConfirmation>
<saml:ConfirmationMethod>urn:oasis:names:tc:SAML:1.0:am:password</saml:ConfirmationMethod>
</saml:SubjectConfirmation>
</saml:Subject>
<saml:Action Namespace=“urn:oasis:names:tc:SAML:1.0:action:rwedc”
xmlns:saml=“urn:oasis:names:tc:1.0:assertion”>Execute</saml:Action>
<saml:Evidence xmlns:saml=“urn:oasis:names:tc:SAML:1.0:assertion”>
委任状
</saml:Evidence>
</samlp:AuthorizationDecisionQuery>
</samlp:Request>
</s:Body>
</s:Envelope>
© Copyright XML Consortium
応用技術部会セキュリティWG
2004/05/24
6
メッセージの解説(2/2)
z
与信情報(カード会社へ送信)
<?xml version=“1.0” encoding=“UTF-8” ?>
<XMLPayRequest xmlns=“http://www.verisign.com/XMLPay/”>
<RequestData id=“WTSign”>
:
<PurchaseData xmlns=“http://www.xmlconsortium.org/app-sec”>
<Purchase Id=“UserSign”>
下田さんの情報、購入希望チケットの情報
<PaymentMethod>
<CreditInfo CardType=“BEGINNER”>
<EncryptedData xmlns=“http://www.w3.org/2001/04/xmlenc#”>
暗号化した情報、鍵の情報
</EncryptedData>
</CreditInfo>
友人のカード情報(委任状の認可情報)
</PaymentMethod>
</Purchase>
下田さんの署名
</PurchaseData>
:
下田さんの
署名対象
WorldTicketの
署名対象
</RequestData>
<RequestAuth>
<ds:Signature xmlns=“” xmlns:ds=“urn:oasis:names:tc:SAML:1.0:assertion”>
<ds:SignedInfo><ds:Reference URI=“#WTSign”>・・・</ds:Reference></ds:SignedInfo>
<ds:SignatureValue>署名の値</ds:SignatureValue>
<ds:KeyInfo>鍵情報</ds:KeyInfo>
</ds:Signature>
</RequestAuth>
</XMLPayRequest>
© Copyright XML Consortium
応用技術部会セキュリティWG
2004/05/24
7
感想
z
z
z
z
z
z
TSIKを用いた、署名の付与&検証は昨年度とほぼ同じ
新しく取り組んだのは、SAMLとSOAP
TSIKはSAMLに関するAPIにもあまり情報が記載されていない
明示的にNamespaceを記述しなければならない点など、
知らないと永遠に悩みつづけてしまう可能性がある
署名に関しては、XML Signatureというよりも、
署名位置や検証位置を示すXPath, XPointerの理解が必要不可欠
SOAPサーバを保持していなかったため、
他のメンバーに負担をかけてしまった
→簡単に使えるSOAPサーバがあったら良いなぁ。
© Copyright XML Consortium
応用技術部会セキュリティWG
2004/05/24
8
本日の報告内容
z
背景と目標
– 活動概要
– 実績と今年度の目標
z
開発したデモシステム
–
–
–
–
z
ストーリー
セキュリティ上の課題と対応
システム構成
個別システム
デモ
© Copyright XML Consortium
応用技術部会セキュリティWG
2004/05/24
9
デモンストレーション
(参考) リンク
OASISのSAML標準化技術コミッティのWWWサイト
http://www.oasis-open.org/committees/security/
SAML1.1の仕様
http://www.oasis-open.org/specs/index.php#samlv1.1
SAMLの日本語解説
「SAML技術解説」SAML技術解説,XMLコンソーシアム 技術解説書
http://www.xmlconsortium.org/websv/kaisetsu/C10/content.html
Liberty Alliance
http://www.projectliberty.org/
OpenSAML
http://www.opensaml.org/
TSIK(Trust Service Integration Kit)
http://www.xmltrustcenter.org/developer/verisign/tsik/index.htm
© Copyright XML Consortium
応用技術部会セキュリティWG
2004/05/24
11
Fly UP