• 検索結果がありません。

セキュリティ関連XML規格の紹介

N/A
N/A
Protected

Academic year: 2021

シェア "セキュリティ関連XML規格の紹介"

Copied!
25
0
0

読み込み中.... (全文を見る)

全文

(1)

© XML Consortium

セキュリティ関連

セキュリティ関連

XML

XML

規格の動向

規格の動向

SAML、XACML

2002年8月23日

富士ゼロックス株式会社

道村 唯夫

(2)

本日の報告内容

本日の報告内容

z

セキュリティ関連XML規格の動向

– シングルサインオン:SAML

– アクセス制御:XACML

– まとめ

(3)

2002/8/23 2

セキュリティ関連

セキュリティ関連

XML

XML

規格一覧

規格一覧

C

サイト

D

サイト

XML Signature W3C:勧告 2002-02-12

電子署名

Decryption Transform W3C:勧告候補 2002-08-02

暗号・復号

WS-Security OASIS:草案 2002-04-05

SOAPへの

暗号・署名・

認証情報

SAML OASIS: 委員会標準 2002-06-01 XACML OASIS:ドラフト完了予定 2002-07-01

情報

XPath Filter 2.0 W3C:勧告候補 2002-07-18 Exclusive XML C14n W3C:勧告 2002-07-18 XKMS 2.0 W3C:作業案 2002-03-18 XML Encryption W3C:勧告候補 2002-08-02 Canonical XML W3C:勧告 2001-05-15

情報アクセス

ポリシー

認証と承認

鍵の登録

証明書

認証

機関

B

企業

A

企業

署名後の

暗号・復号

XML文書の

正規化

コンテンツの

詳細指定

(4)

SAML

SAML

z

Security Assertion Markup Language

http://www.oasis-open.org/committees/security/

z

セキュリティ上の目標

– 一度のログオン・ログオフ操作で複数のサイト/資

源へのアクセス制御を可能にする

– サービスの意思決定に必要な属性の取得を可能

にする

z

SAMLが決めるもの

– 認証、承認、属性情報のXMLによる表現

– 上記情報をやりとりするためのプロトコル

(5)

2002/8/23 4

SAML

SAML

(続)

(続)

z

特徴

– フレームワークの定義

– 協調モデル – 信頼関係

– 広範な既存認証との連携

– 三つのモデル

Pull Model

Push Model

3rd Party Security Model

– SOAP/HTTPの特徴を生かしたプロトコル

(6)

SAML

SAML

(続)

(続)

z

SAML 1.0 Specification Set (31 May

2002)

– Committee Specifications (revision 01)

Assertions and Protocol

– Assertion Schema

– Protocol Schema

Binding and Profiles

Security and Privacy Considerations

Conformance Program Specification

(7)

2002/8/23 6

SAML

SAML

(続)

(続)

z

ドメインモデル

Policy Policy Policy

SAML

SAML

Credentials

Collector

Authentication

Authority

Attribute

Authority

Policy

Decision Point

Authentication

Assertion

Attribute

Assertion

Authorization

Decision

Assertion

Policy

Enforcement

Point

Authentication

Assertion

System Entry

(8)

SAML

SAML

(続)

(続)

z

Pull Model

ユーザ

ユーザ

サービス

サービス

1

1

信頼関係

信頼関係

サービスが認証情報を

サービスが認証情報を

Pull

Pull

サービス

サービス

0

0

(9)

2002/8/23 8

SAML

SAML

(続)

(続)

z

Push Model

サービス

サービス

1

1

信頼関係

信頼関係

ユーザ

ユーザ

サービスが認証情報を

サービスが認証情報を

Push

Push

サービス

サービス

0

0

(10)

SAML

SAML

(続)

(続)

z

3rd Party Security Model

サービス

サービス

1

1

信頼関係

信頼関係

サービス

サービス

0

0

識別サービス

識別サービス

ユーザ

ユーザ

(11)

2002/8/23 10

SAML

SAML

(続)

(続)

z

複数の識別サービスの協調 (Push)

識別サービス

識別サービス

0

0

識別サービス

識別サービス

1

1

サービス

サービス

信頼関係

信頼関係

ユーザ

ユーザ

(12)

SAML

SAML

(続)

(続)

z

複数の識別サービスの協調 (Pull)

識別サービス

識別サービス

0

0

識別サービス

識別サービス

1

1

ユーザ

ユーザ

サービス

サービス

信頼関係

信頼関係

(13)

2002/8/23 12

SAML

SAML

(続)

(続)

z

認証の要求メッセージ例

<samlp:Request MajorVersion="1" MinorVersion="0“ RequestID=“8xtyzzKqPMLcFswefRIJAL"> <samlp:RespondWith>AuthenticationStatement</samlp:RespondWith> <samlp:AuthenticationQuery> <saml:Subject> <saml:NameIdentifier Name=“JFB"/> <saml:SubjectConfirmation> <saml:ConfirmationMethod> http://www.oasis-open.org/…./draft-sstc-core-25/password </saml:ConfirmationMethod> <saml:SubjectConfirmationData> uTKaRyQmytsz= </saml:SubjectConfirmationData> </saml:SubjectConfirmation> </saml:Subject> </samlp:AuthenticationQuery> </samlp:Request>

NameIdentifier

名前による識別

ConfirmationMethod

パスワードによる確認

(14)

SAML

SAML

(続)

(続)

z

認証の応答メッセージ(認証アサーション)

<samlp:Response InResponseTo=“8xtyzzKqPMLcFswefRIJAL“ MajorVersion="1" MinorVersion="0“ ResponseID=“xmlconsortium2002081002090011"> <samlp:Status> <samlp:StatusCode Value="samlp:Success"/> </samlp:Status> <saml:Assertion AssertionID="qJcZsDTnJBPPe/4tIJKuZ/OLMtE= “ IssueInstant="2002-06-10T11:22:33.456“ Issuer=“JUSTAir“ MajorVersion="1" MinorVersion="0"> <saml:Conditions NotBefore=" 2002-08-10T11:22:33.466“ NotOnOrAfter=" 2002-08-10T15:22:33.466 "/> <saml:AuthenticationStatement AuthenticationInstant=" 2002-08-10T11:22:33.106“ AuthenticationMethod="http://www.oasis-open.org/…/password"> <saml:Subject>

<saml:NameIdentifier Name=“JFB" SecurityDomain=“just:Reservation"/> <saml:SubjectConfirmation> <saml:ConfirmationMethod> http://www.oasis-open.org/…/password </saml:ConfirmationMethod> </saml:SubjectConfirmation> </saml:Subject> </saml:AuthenticationStatement> </saml:Assertion> </samlp:Response>

Assertion

認証の証明

NameIdentifier

ユーザ識別

(15)

2002/8/23 14

SAML

SAML

(続)

(続)

z

Interoperability

– OASISがInterOpでデモンストレーション [7/15]

12社が参加 (Portal Site / Contents Site)

z

Availability

– 既に製品が出荷されている

標準として確定してはないのに

– 多くの会社が製品化/対応を表明している

– フリーな実装も出てきた (Java / C++)

http://www.opensaml.org/ by Internet2(UCAID)

(16)

XACML

XACML

z

eXtensible Access Control Markup

Language

http://www.oasis-open.org/committees/xacml/

z

セキュリティ上の目標

– 任意の資源への詳細なアクセス制御のポリシー

を表現する

z

XACMLが決めるもの

– 「何」に対して「誰」が、「どのような」アクセスが可

能か/不可能かの評価ルール表現

– データフローモデル

(17)

2002/8/23 16

XACML

XACML

(続)

(続)

z

XACML Working Draft 15 (12 July 2002)

– Policy Schema

– Context Schema

z

特徴

– フレームワークの定義

– 様々なリソースへのアクセス制御ポリシーの表現

– 簡単な関数や演算機能を持つ

(18)

XACML

XACML

(続)

(続)

z

XACL – XML Access Control Language

– IBMのXSS4Jに含まれる

– XACMLのもととなった → XACLは柔軟性が課題

<xacl> <object href=“//*[@member=‘premium’]” /> <acl> <subject><role>Requester</role></subject> <action name=“read” permission=“grant” /> <condition operation=“and”> <predicate name=“compareStr”> <parameter value=“eq” /> <parameter> <function name=“getUid” /> </patameter> <parameter> <function name=“getvalue”> <parameter value=“/name” /> </function> </parameter> </predicate> </acl> </xacl>

(19)

2002/8/23 18

XACML

XACML

(続)

(続)

PEP: Policy enforcement point PDP: Policy decision point PRP: Policy retrieval point PAP: Policy administration point PIP: Policy information point

z

データフローモデル

XML

XML

Repository

Requester

PEP

SAML Request

SAML Response

PIP

PDP

XML

subject, resource, environment

XACML

Repository

XACML Response

store

retrieve

XACML Request

install

PAP

PRP

(20)

XACML

XACML

(続)

(続)

z

構造

policySetStatement

policyStatement

rule

obligations

target

condition

effect

(21)

2002/8/23 20

XACML

XACML

(続)

(続)

z

ルールの評価

– ルールを評価した結果、ルールが有効であった

場合に、Effect属性に応じて、アクセスが「許可

(Allow)」または「拒否(Deny)」となる

Target

Target

Condition

Condition

Rule

Rule

Match

Match

True

True

Effect

Effect

Match

Match

False

False

Not applicable

Not applicable

Match

Match

Indeterminate

Indeterminate

Indeterminate

Indeterminate

No

No

-

-

match

match

True

True

Not applicable

Not applicable

No

No

-

-

match

match

False

False

Not applicable

Not applicable

No

No

-

-

match

match

Indeterminate

Indeterminate

Not applicable

Not applicable

Allow

Allow

Deny

(22)

XACML

XACML

(続)

(続)

z

XACML Context

ポリシーを評価する際に参照するデータを抽象化

domain-specific

inputs

domain-specific

outputs

xacml.xml

PDP

xacmlContext/

request.xml

xacmlContext/

response.xml

(23)

2002/8/23 22

XACML

XACML

(続)

(続)

<Rule RuleId=“//cons.com/rule/id/1” Effect=“Allow”> <Description>Sample policy</Description> <Target>

<Subjects MatchId=“function:string-match” DataType=“xs:boolean”> <AttributeDesignator Designator=“//xacmlContext/Subject/Attr…”

DataType=“identifier:rfc822Name” />

<Attribute DataType=“identifier:rfc822Name”>@</Attribute> </Subjects>

<Resources MatchId=“function:string-match” DataType=“xs:boolean” > <AttributeDesignator Designator=“//xacmlContext/Request/Res...”

DataType=“xs:anyURI” />

<Attribute DataType=“xs:anyURI”>//cons.com/record.*</Attribute> </Resouces>

<Actions MatchId=“function:subset” DataType=“xs:boolean”>

<AttributeDesignator Designator=“//xacmlContext/Action[@Name…” DataType=“xs:string” /> <Attribute DataType=“xs:string”>read</Attribute> </Actions> </Target> <Condition FunctionId=“function:dayTimeDuration-greater-than” DataType=“xs:boolean”>

<Function FunctionId=“function:date-subtract” DataType=“xs:dayTimeD...”> <AttributeDesignator Designator=“//xacmlContext/Other/…/Attribute[@DataType=‘…today...” DataType=“xs:date” /> <AttributeDesignator Designator=“//xacmlContext/Request/…/employee/employeeDoB” DataType=“xs:date> </Function> <Attribute DataType=“xs:dayTimeDuration”>20-0-0</Attribute> </Condition> </Rule>

subjects

対象となる要求主体

resources

対象となるオブジェクト

actions

許可される動作

condition

許可される条件

この例の場合、

「要求者(社員)の、

現在の年齢が

20歳以上」

(24)

まとめ

まとめ

z

標準としての規格化

– 基盤技術に関しては普及のフェーズへ

– 相互接続/運用性において、別途検討が必要

z

課題

– 作業完了までの期間の長期化・計画とのギャップ

– 拡張仕様への懸念

(25)

2002/8/23 24

最後に

最後に

、、、

、、、

z

XML Consortium – 応用技術部会

– XMLセキュリティに関して、学習・調査・実装・接

続試験・情報交換などを目的に活動しています

– XMLセキュリティに興味をお持ちの方の参加をお

待ちしております

– 連絡先

http://www.xmlconsortium.org/からどうぞ

参照

関連したドキュメント

According to our new conception object-oriented methodology is based on the elimination of decision repetitions, that is, sorting the decisions to class hierarchy, so that the

Because of the knowledge, experience, and background of each expert are different and vague, different types of 2-tuple linguistic variable are suitable used to express experts’

Since the optimizing problem has a two-level hierarchical structure, this risk management algorithm is composed of two types of swarms that search in different levels,

— Since the G k -invariant of the Primes ×/k -adic Tate module of the Jacobian variety of X cpt is trivial [by our assumption that k is Kummer-faithful], assertion (i)

Note that the Gysin isomorphism [20, Theorem 4.1.1] commutes with any base extension. The assertion follows from induction on the dimension of X by a similar method of Berthelot’s

They are a monoidal version of the classical attribute grammars, and have the following advantages: i) we no longer need to stick to set-theoretic representation of attribute

In real world, the company often makes use of supplier selection on fuzzy decision space to promote their commodities. The selection of supplier of enterprise

Despite this, these contributions did not mention the underlying concept of attribute reduction in ordered decision table with fuzzy decision and only proposed an approach to