20061212_sec03

XML Consortium
~ 第8回 XMLコンソーシアムDay ~
セキュリティ部会活動中間報告
Digital Signature Serviceを用いた、
アプリケーション試作に向けて
2006年12月12日
XMLコンソーシアム セキュリティ部会
岡村 和英 (株式会社ネット・タイム)
© XML Consortium
アジェンダ

OASIS Digital Signature Service
XML Consortium




DSSとは?
Core仕様
プロファイル
アプリケーション試作に向けて
© XML Consortium

活動の状況報告
-2-
Security SIG
12-Dec-2006
Digital Signature Service

電子署名/署名検証サービスのためのインター
フェースを規定
XML Consortium






XMLを用いた要求/応答メッセージ
XML-SignatureまたはCMS(RFC3369)による署名形
式に対応
X.509 PKI TSP(RFC3161)を模した、XML形式のタイ
ムスタンプ
PGPなどの他の署名形式、タイムスタンプ形式にも拡張
可能
様々な用途に応じたプロファイルの提供
OASIS DSS TCにて策定中
© XML Consortium
2006/10/03~2006/12/02にパブリックレビューを実施
-3-
2005.4.27Y.Yokomizo
Security SIG
12-Dec-2006
DSSの用途

企業での署名サーバとしての利用
XML Consortium

© XML Consortium
組織プレスリリースや配布プログラムに対する署名
の付与。
個別社員ではなく、組織としての署名の作成

署名リクエストの中央管理、監査、アーカイブ。
いつ、誰の要求でどのメッセージに署名を行ったのか
-4-
Security SIG
12-Dec-2006
仕様書構成

概要


コア仕様
XML Consortium


© XML Consortium
Digital Signature Service Overview
Digital Signature Serivce Core Protocols, Elements, and
Bindings
プロファイル









XML Timestamping Profile
Asynchronous Processing Abstract Profile
Abstract Code-Signing Profile
J2ME Code-Signing Profile
Entity Seal Profile
Electronic PostMark (EPM) Profile
German Signature Law Profile
Advanced Electronic Signature (AdES) Profiles
Signature Gateway Profile
-5-
Security SIG
12-Dec-2006
コア仕様概略

メッセージ形式の定義

XML Consortium



署名プロトコル(SignRequest / SignResponse)
検証プロトコル(VerifyRequest / VerifyResponse)
XMLタイムスタンプ(TimeStamp)
メッセージ送受信方法の定義
© XML Consortium



HTTP POST Transport Binding
SOAP 1.2 Transport Binding
TLS Security Binding
 TLS X.509 Server Authentication
 TLS X.509 Mutual Authentication
 TLS SRP Authentication
 TLS SRP and X.509 Server Authentication
-6-
Security SIG
12-Dec-2006
プロファイルとは?

XML Consortium

DSSコア仕様に基づき、
利用目的に応じて、



どのバインディング方式を用いるべきか
親仕様を拡張するための要素/属性
親仕様に対する制限事項
必須となる要素/属性
使用できない要素/属性
要素/属性の値として何を指定可能か

どういう処理プロセスを用いるか
を規定。
© XML Consortium
-7-
Security SIG
12-Dec-2006
プロファイル概略(1)

XML Timestamping Profile


XML Consortium

RFC3161 Timestampの生成と検証。
HTTP POST + TLS X.509 Server AuthN
SignRequest
 OptionalInputs
 RenewTimestamp
る。

Asynchronous Processing Abstract Profile


非同期通信による署名/検証サービスの為のメカニズム
を提供。
Abstract Code-Signing Profile


既存のタイムスタンプの有効期限を延長す
ソフトウェアプログラムに対する署名を行うための抽象プロ
ファイル。
J2ME Code-Signing Profile
© XML Consortium

MIDP 2.0アプリケーションに対する署名の付与。
-8-
Security SIG
12-Dec-2006
プロファイル概略(2)

Entity Seal Profile
XML Consortium


Electronic PostMark (EPM) Profile


UPU(万国郵便連合)の支持に基づく、電子消印
German Signature Law Profile


指定された電子データが所定の時間に存在していたことを
示す「シール」の生成と検証。
独デジタル署名法(SigG/SigV)に準ずる、電子署名の
生成と検証。
Advanced Electronic Signature (AdES)
Profiles
© XML Consortium

XAdESおよびETSI TS 101 733(Electronic signature
formats and Signature Policies)に定義されるような、
高度な電子署名の生成と検証。
-9-
Security SIG
12-Dec-2006
プロファイル概略(3)

Signature Gateway Profile

署名検証プロトコルのみを取り扱う。
XML Consortium
 SignatureRequestおよびSignatureResponseは扱わない。
© XML Consortium

ユースケース。
1. 署名者が署名用の証明書を使って署名を生成する。
2. 署名を直接受領者に送付する代わりに、署名ゲートウェイへ送
付する。
 受領者が署名者の署名を 1)理解できない / 2)信頼しない かもし
れないので。
 署名ゲートウェイは署名者と受領者の双方から信頼されている。
3. 署名ゲートウェイが受領者の検証可能な新しい署名を生成。
 現在の署名を検証し、新しい署名を生成する。

2つの実装モデル(Deployment Model)を定義。
 Request-Response実装モデル
 In-Line実装モデル
- 10 -
Security SIG
12-Dec-2006
Signature Gateway Profile

Request-Response実装モデル
XML Consortium
署名クライアント
1.文書に署名して送付
する。
文書
署名
DSSクライアント
2.リクエストを付加して
サーバへ送付する。
© XML Consortium
VerifyRequest
VerifyResponse
文書
文書
3. 検証処理の結果を
返送する。
署
名
署名
DSS署名ゲートウェイサーバ
- 11 -
Security SIG
12-Dec-2006
Signature Gateway Profile

In-Line実装モデル
XML Consortium
署名者 (signer)
1. 署名を含むメッセージ
をin-line proxyに送付
する。
受領者(destination)
メッセージ
メッセージ
Sig
Sig
6. 修正されたメッセージ
を受領者に送付する。
in-line proxy
2. メッセージに含まれる
署名データをGWクライア
Sig
ントへ渡す。
© XML Consortium
inspector
5. 応答。
Sig
署名ゲートウェイ
クライアント
3. VerifyRequestを
生成し、GWサーバに
VerifyRequest
送信。
Sig
署名ゲートウェイ
サーバ
VerifyResponse
Sig
- 12 -
4. VerifyResponseを
返送。
Security SIG
12-Dec-2006
XML Consortium
アプリケーション試作の検討
© XML Consortium
シナリオ
実装方針
スケジュール
- 13 -
Security SIG
12-Dec-2006
アプリケーションシナリオ
XML Consortium


利用シーン(ビジネスシナリオ)が想像しやすい
形で、
DSSのメリットをわかりやすく伝える。
© XML Consortium
模索中
- 14 -
Security SIG
12-Dec-2006
試作にあたっての方針

実現機能

署名対象
XML Consortium
 最初はDocumentHashだけを対象とする。
 単一署名のみをサポート。

署名形式
 XML-DSigのみ。CMSは対象外。

署名オプション
 タイムスタンプ付き署名は実現したい。

メッセージバインディング
 HTTP POST

シナリオ



クライアントとしてWebブラウザが用いられると望ましい。
XMLデータとしての結果ではなく、ユーザ側の視点で実感可能なわか
りやすいアウトプットが欲しい。
実装手段
© XML Consortium

Java用API
 JAXB 2.0を用いてJava/XMLバインディングを行なう。
 テストケース(テスト用データ)の作成方法を確立すること。
Security SIG
- 15 -
12-Dec-2006
大雑把な開発スケジュール
2006年度第2回部会ミーティング
検討開始
XML Consortium
2007/08
2007/09
2007/10
仕様調査
第8回コンソーシアムDay
計画報告
2007/11
2006/12
2007/01
第6回コンソーシアムWeek
成果発表
2007/02
2007/03
2007/04
2007/05
CORE API検討・開発
製造
シナリオ検討、要求分析



来年3月くらいまでかけてシナリオ検討
CORE APIについても並行して検討、開発
3月からWeekに向けて一気に作る!
© XML Consortium
- 16 -
Security SIG
12-Dec-2006
まとめ

DSS
XML Consortium





署名と検証をWebサービス化。
署名やタイムスタンプを中央管理し、監査可能に。
信頼の出来る代理サーバを用いることで、署名の
上書きや検証を代行。
組織としての署名を実現。
アプリケーション試作
© XML Consortium


まだ検討を始めたばかり。
実際にプログラムを書く人が殆どいません、
協力して頂ける方、大歓迎!
- 17 -
Security SIG
12-Dec-2006
XML Consortium
付録
© XML Consortium
- 18 -
Security SIG
12-Dec-2006
付録)DSS各仕様の関係
Timestamping
Profile
XML Consortium
DSS Overview
Asynchronous Processing
Abstract Profile
Abstract Code-Signing
Profile
J2ME Code-Signing
Profile
Entity Seal
Profile
DSS Core
© XML Consortium
EPM Profile
German Signature Law
Profile
AdES Profiles
Signature Gateway
Profile
- 19 -
Security SIG
12-Dec-2006
付録)DSS署名要求メッセージ
SignatureType
OptionalInputs
XML Consortium
ds:KeyInfo
KeySelector
Other
IncludeObject
SignRequest
© XML Consortium
AddTimestamp
XPathAfter
SignaturePlacement
SignedReferences
any
XPathFirstChildOf
1..∞
SignedReference
DocumentType
InlineXML
Document
Base64XML
EscapedXML
InputDocuments
1..∞
Base64Data
TransformedData
ds:Transforms
Base64Data
DocumentHash
- 20 -
ds:Transforms
ds:DigestMethod
Security SIG
ds:DigestValue
12-Dec-2006
付録)DSS署名応答メッセージ
ResultMajor
Result
SignatureType
ResultMinor
XML Consortium
SignResponse
© XML Consortium
ResultMessage
OptionalOutputs
SignatureObject
DocumentWithSignature
Document
any
ds:Signature
Timestamp
Base64Signature
SignaturePtr
- 21 -
Security SIG
12-Dec-2006
付録)DSS検証要求メッセージ
VerifyManifests
OptionalInputs
XML Consortium
SpecificTime
ReturnVerificationTimeInfo
VerifyRequest
AdditionalKeyInfo
ds:KeyInfo
ReturnProcessingDetails
ReturnSigningTimeInfo
ReturnSignerIndentity
ReturnUpdatedSinature
ReturnTransformedDocument
ReturnTimestampedSinature
any
InputDocuments
SignatureObject
© XML Consortium
CurrnetTime
UseVerificationTime
- 22 -
Security SIG
12-Dec-2006
付録)DSS検証応答メッセージ
ResultMajor
Result
SignatureType
ResultMinor
XML Consortium
VerifyResponse
© XML Consortium
ResultMessage
VerifyManifestResults
OptionalInputs
VerificationTime
VerificationTimeInfo
AdditionalTimeInfo
ProcessingDetails
SigningTime
SigningTimeInfo
SigningTimeBoundaries
- 23 -
SignerIndentity
saml:NameIdentifierType
UpdatedSignature
SignatureObject
TransformedDocument
Document
TimestampedSignature
SignatureObject
Security SIG
12-Dec-2006
付録)DSSタイムタイムスタンプ
ds:KeyInfo
ds:Signature
ds:SignedInfo
XML Consortium
Timestamp
© XML Consortium
ds:Object
ds:Reference
TstInfo
SerialNumber
CreationTime
Policy
ErrorBound
Ordered
RFC3161TimeStampToken
TSA
Other
- 24 -
Security SIG
12-Dec-2006