4 タイムスタンプに関連した仕様と標準化動向
4.5 draft-itef-pkix-tap Trusted Archive Protocol (TAP)
4.5.12 TAP のリクエストおよびレスポンスフォーマット
4.5.12.1 署名つき送信リクエストフォーマット
リクエストは署名データである場合もある(MAY)。以下に署名つき送信リクエス トフォーマットを示す。図中の表記は表 4.4-1に従う。署名無しのデータについ ては後述する。送信者名、TAAのポリシーOID、そして送信するアーカイブデー
ContentInfo
contentType=id-signedData content=SignedData
version
digestAlgorithms encapContentInfo
eContentType=id-tap-archiveReq 送信リクエスト型 eContent=ArchiveSubmissionReq
archiveControlValue version=v1(0)
submitterName=GeneralName 送信者名 [archiveControls=ArchiveControls]
[policy=OID]
ArchiveControl*
archiveControlType arcchivedData=ArchivedData
[type=ArchivedDataType]
data=OCTET STRING [certificates]
[crls]
signerInfos TAPにおいては一つのみ version
signature unsignedAttrs sid
digestAlgorithm signedAttrs 必須 signatureAlgorithm
図 4.5-6署名つき送信リクエストフォーマット 4.5.12.2 署名つき検索リクエストフォーマット
署名つき検索リクエストフォーマットを以下に示す。要求者名と検索情報を指 定する。検索情報には送信者名、アーカイブトークンはもちろんの事、タイムス タンプ・トークンや、生成の時刻と誤差を指定して検索もできる。
ContentInfo
contentType=id-signedData content=SignedData
version
digestAlgorithms
encapContentInfo=EncapsulatedContentInfo
eContentType=id-tap-archiveRetrievalReq 検索リクエスト型 eContent=ArchiveRetrievalReq
archiveControlValue version=v1(0)
requestorName=GeneralName 要求者名
[archiveControls=ArchiveControls]
[retrievalRequest=ArchiveRetrievalInfo={archiveToken|archiveInfo|pollReference}
ArchiveControl*
archiveControlType [certificates]
アーカイブトークンはポーリングリファレンスは送信レスポンスに含まれているものを使う archiveInffo=ArchiveInfo 最も多様な検索設定が可能である
アーカイブトークンか、アーカイブ情報、ポーリングリファレンスのいずれかで検索できる
tokensOnly=BOOLEAN DEFAULT [submitterName=GeneralName]
[timestamp=TimeStampToken]
[timeInfo=ArchiveTimeInfo] 時刻と誤差を指定して検索できる time=GeneralizedTime
[accuray=Accuracy]
[crls]
signerInfos TAPにおいては一つのみ version
signature unsignedAttrs sid
digestAlgorithm signedAttrs 必須 signatureAlgorithm
図 4.5-7署名つき検索リクエストフォーマット 4.5.12.3 署名つき削除リクエストフォーマット
署名つき削除リクエストのフォーマットを以下に示す。削除要求者名、アーカ イブトークンを指定してリクエストする。削除操作の場合には認証を受けなけれ ばならない(MUST)。
ContentInfo
contentType=id-signedData content=SignedData
version
digestAlgorithms
encapContentInfo=EncapsulatedContentInfo
eContentType=id-tap-archiveDeletionReq 削除リクエスト型 eContent=ArchiveDeletionReq
archiveControlValue version=v1(0)
requestorName=GeneralName 要求者名
[archiveControls=ArchiveControls]
archiveToken=ArchiveToken
ArchiveControl*
archiveControlType
content type=id-tap-archiveToken
[certificates]
content=ArchiveTokenData submitterName=GeneralName timestamp=TimeStampToken curTime=GeneralizedTime [trackingInfo=TrackingInfos]
[crls]
signerInfos TAPにおいては一つのみ version
signature unsignedAttrs sid
digestAlgorithm signedAttrs 必須 signatureAlgorithm
図 4.5-8署名つき削除リクエストフォーマット
4.5.12.4 送信および削除レスポンスフォーマット
TAAからのレスポンスは常にCMS SignedData型の署名データである(MUST)。 送信および削除のレスポンスはCMS SignedDataとなっている。操作結果を表す ステータスと送信を受理して生成された、あるいは削除に使用されたアーカイブ トークンがレスポンスに含まれている。
contentType=id-tap-taaLocation 仕様ではTAALocationのみ規定 content=TAALocation=GeneralName
(0) success (1) genericFailure (2) authenticationFailed (3) unauthorizedRequest (4) unrecognizedControl (5) controlFailure (6) policyFailure (7) timestampFailure
submitterName=GeneralName 送信者名 timestamp=TimeStampToken
curTime=GeneralizedTime
[trackingInfo=TrackingInfos=SEQ of TrackingInfo=SEQ of ContentInfo]
signature unsignedAttrs sid
digestAlgorithm signedAttrs 必須 signatureAlgorithm [certificates]
[crls]
signerInfos TAPにおいては一つのみ version
(8) retrievalDelayed
(9) unsupportedDataFormat
ArchiveControl*
archiveControlType archiveControlValue version=v1(0)
status=ArchiveStatus 以下のいずれかの値をとる
[archiveControls=ArchiveControls]
digestAlgorithms encapContentInfo
eContentType=id-tap-archiveSubOrDelResp 送信または削除レスポンス型 eContent=ArchiveSubOrDelResp
archiveToken=ArchiveToken content=id-tap-archiveToken content=ArchiveTokenData ContentInfo
contentType=id-signedData content=SignedData
version
図 4.5-9送信および削除レスポンスフォーマット
4.5.12.5 検索レスポンスフォーマット
検索レスポンスもまたCMS SignedDataとなっている。ArchvivePackageには 検索結果となるアーカイブレコード、アーカイブデータの並びが含まれており、
アーカイブトークンやデータの検証に必要な証明書、CRL、OCSPレスポンスが 含まれている。
CryptoInfo*
cryptoInfoType=id-tap-{certificates|ocspResponses|crls}
cryptoInfoValue 証明書,OCSPレスポンス,CRLのシーケンス content=ArchiveRecordData
timestampedData=TimeStampedData
timestamp=TimeStampToken
prevArchRecord=ContentInfo 前のレコード
messageImprint=MessageImprint アーカイブデータのハッシュ ContentInfo
contentType=id-signedData content=SignedData
version
version=v1(0)
status=ArchiveStatus #別表参照 [archiveControls=ArchiveControls]
digestAlgorithms encapContentInfo
eContentType=id-tap-archiveRetrievalResp 検索応答型 eContent=ArchiveRetrievalResp
ArchiveControl*
archiveControlType archiveControlValue
[results=ArchiveRetrievalResults=SEQ of ArchivePackage]
ArchivePackage*
archiveToken=ArchiveToken
[pollReference=OCTET STRING]
[packageData=ArchivePackageData]
archivedData digestArgorithms policy=OID archiveRecord
cryptoInfos=SEQ of CryptoInfo
content type=id-tap-archiveRecordData
[certificates]
[crls]
signerInfos TAPにおいては一つのみ version
signature unsignedAttrs sid
digestAlgorithm signedAttrs 必須 signatureAlgorithm
図 4.5-10検索レスポンスフォーマット
4.5.12.6 署名なしリクエストフォーマット
リクエストは署名データでない場合もある(MAY)。
ContentInfo
contentType=id-tap-archive{Req|RetrievalReq|Deletion}
content=Archive{Submission|Retrieval|Deletion}Req
図 4.5-11署名なしリクエストフォーマット