18.11.2014 Views

Anais - Engenharia de Redes de Comunicação - UnB

Anais - Engenharia de Redes de Comunicação - UnB

Anais - Engenharia de Redes de Comunicação - UnB

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

4. A Digital Signature with Authorization Requirements<br />

In this section we <strong>de</strong>scribe the notion of a creator signature. This is a signature performed<br />

exclusively by the document’s author. We do this by presenting a new signed signature<br />

attribute called Authorization Requirements. This attribute is used to specify i<strong>de</strong>ntity and<br />

authorization requirements in a creator signature.<br />

A creator signature is technically a normal CAdES or XAdES digital signature.<br />

This signature is applied to an electronic document by its author. The author’s goal for<br />

the signature is to seal the document and bind it to a set of requirements regarding future<br />

signatures applied by other parties. Those parties, however, are not going to sign<br />

the actual document. Instead, they will countersign the author’s signature. Those countersignatures<br />

will then be embed<strong>de</strong>d in the author’s signature as unsigned attributes. Each<br />

countersignature must comply with a corresponding entry in the Authorization Requirements<br />

attribute.<br />

The Authorization Requirements attribute is structured as a list of required countersignatures.<br />

Each entry contains a set of required signatory attributes, a signatory<br />

i<strong>de</strong>ntity reference or both. The set of required signatory attributes specifies which attributes<br />

shall be present in the signatory’s AC. In a similar way, the signatory i<strong>de</strong>ntity<br />

reference is a reference to the required signatory’s PKC . Figure 1 presents a possible<br />

ASN.1[ITU-T 2008a] structure for the CAdES version of the proposed attribute.<br />

A u t h o r i z a t i o n R e q u i r e m e n t s : : = SEQUENCE of R e q u i r e d C o u n t e r S i g E n t r y<br />

R e q u i r e d C o u n t e r S i g E n t r y : : = SEQUENCE {<br />

s i g n e r A t t r i b u t e s [ 0 ] SEQUENCE of A t t r i b u t e OPTIONAL ,<br />

s i g n e r I d e n t i t y [ 1 ] S i g n e r I d e n t i t y OPTIONAL<br />

}<br />

S i g n e r I d e n t i t y : : = CHOICE {<br />

s i g n e r I d e n t i t y V 1 [ 0 ] S i g n i n g C e r t i f i c a t e ,<br />

s i g n e r I d e n t i t y V 2 [ 1 ] S i g n i n g C e r t i f i c a t e V 2<br />

}<br />

Figure 1. Authorization Requirements ASN.1 structure<br />

The signerAttributes field in Figure 1 shall be consistent with Section 4.2.7 of RFC<br />

5755 [Farrell et al. 2010]. Attribute types are <strong>de</strong>fined in Section 4.4 of RFC 5755. The<br />

types SigningCertificate and SigningCertificateV2 in figure 1 are <strong>de</strong>fined in RFC 5035<br />

[Schaad 2007]. The signerAttributes and signerI<strong>de</strong>ntity fields are optional, but at least<br />

one of them must be present in a RequiredCounterSigEntry instance.<br />

The validation process of a digital signature that contains an Authorization Requirements<br />

attribute begins precisely with that attribute. First, the presence of all required<br />

countersignatures in the creator’s signature unsigned attributes section is assured. Next,<br />

each countersignature is validated. This inclu<strong>de</strong>s the signature and Certification Path validation<br />

of both the signatory’s PKC and AC. Then, these certificates are evaluated against<br />

the criteria specified in the requirements. If they all meet the requirements, the signatories’<br />

authorization is acknowledged and the rest of the signature validation proceeds as<br />

usual. It should be noted that if one of the countersignatures is invalid or does not meet<br />

400

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!