Política de Assinatura AD-RB

Dando continuidade ao assunto de políticas de assinatura, neste post examinaremos a política de assinatura mais simples da ICP-Brasil – e por isso mesmo, a mais amplamente adotada pelas instituições e entidades usuárias de assinatura digital.

A política AD-RB em CAdES é oficialmente conhecida como ‘Política ICP-Brasil para Assinatura Digital com Referência Básica no formato CMS’. No momento da redação deste post, a última versão disponível para esta política era a versão 2.1.

Ela é definida no documento normativo DOC-ICP-15.03, seção 2 e anexos 1 e 2.

Segundo do DOC-ICP-15.03, o objetivo da AD-RB é ser usada em “aplicações ou processos de negócio, assinatura digital, segurança, a autenticação de entidades, verificação de integridade e validação durante o prazo de validade dos certificados signatários”.

No campo aplicação da política de assinatura está declarado: “Este tipo de assinatura deve ser utilizado em aplicações ou em processos de negócio nos quais a assinatura digital agrega segurança à autenticação de entidades e verificação de integridade, permitindo sua validação durante o prazo de validade dos certificados dos signatários. Uma vez que não são usados carimbos de tempo, a validação posterior só será possível se existirem referências temporais que identifiquem o momento em que ocorreu a assinatura digital. Nestas situações, deve existir legislação específica ou um acordo prévio entre as partes definindo as referências a serem utilizadas. Segundo esta PA, é permitido o emprego de múltiplas assinaturas”.

Referências temporais

Como na política AD-RB não são utilizados carimbos de tempo, é necessário incluir referências temporais no momento da geração da assinatura para futura validação. A política não especifica explicitamente qual referência utilizar, o que abre a possibilidade de incluir os campos que forem mais adequados aos processos de negócio específicos. No entanto, a política determina que para a inclusão destes referenciais, deve existir legislação específica ou acordo prévio entre as entidades que são interessadas nesta assinatura, para efeitos de estabelecimento de um protocolo comum para validação no futuro.

Versões

As versões de políticas têm o objetivo de permitir a evolução das regras que se aplicam às políticas com o passar do tempo, não afetando os documentos que foram criados sob a vigência de regras anteriores. Assim, cada política tem sua data de emissão e o período no qual as assinaturas geradas podem se utilizar de suas regras.


(vrs -        OID          - emissão    - expiração)

v1.0 - 2.6.76.1.7.1.1.1    - 31/10/2008 - 31/12/2014
v1.1 - 2.16.76.1.7.1.1.1.1 - 26/12/2011 - 29/02/2012
v2.0 - 2.16.76.1.7.1.1.2   - 26/12/2011 - 21/06/2023 (revogada)
v2.1 - 2.16.76.1.7.1.1.2.1 - 06/03/2012 - 21/06/2012

É interessante notar que para novas assinaturas, no momento da redação deste post, só é possível utilizar a versão da política de assinatura 2.1, pois as versões 1.0 e 1.1 já encontravam-se vencidas e a versão 2.0 foi revogada pela IN 03, 22 de março de 2012. No entanto, uma assinatura gerada na data hipotética de 08/11/2011 utilizando a versão 1.1 é perfeitamente válida, pois esta versão estava em plena validade quando da geração da assinatura digital.

As diferenças entre as quatro versões da política de assinatura AD-RB referem-se, majoritariamente, quanto aos algoritmos e tamanhos mínimos de chaves admitidos por cada versão.

As versões 1.0 e 1.1 exigem chaves de no mínimo 1024 bits, enquanto que as versões 2.0 e 2.1 exigem ao menos 2048 bits. Outra diferença é quanto aos algoritmos de hash e de assinatura digital. As versões 2.0 e 2.1 exigem o algoritmo sha256withRSAEncryption (1.2.840.113549.1.1.11), enquanto a versão 1.1 admite tanto o algoritmo sha256withRSAEncryption quanto sha1withRSAEncryption (1.2.840.113549.1.1.5), e a versão 1.0 admite exclusivamente o algoritmo sha1withRSAEncryption. Outra importante diferença diz respeito ao atributo assinado signingCertificate. Para as versões 1.0, 1.1 e 2.0 deve se usar o atributo id-aa-signingCertificate (1.2.840.113549.1.9.16.2.12); a partir da versão 2.1, inclusive, deve ser utilizado o atributo id-aa-signingCertificateV2 (1.2.840.113549.1.9.16.2.47).

Artefatos de Assinatura Digital da Política AD-RB.

O site do ITI mantém um repositório com os artefatos de assinatura digital que são relevantes para a política de assinatura AD-RB. Para cada versão da política, existe um artefato DER (política baseada em CAdES), um XML (política baseada em XAdES) e seus respectivos hashes para verificação de integridade.

v 1.0 - b921016bd03a721c61010beaec5341a00406a5cbc2f3800589b9cb1d727df06a PA_AD_RB.der
v 1.1 - af69b65b3090ec21baaf21ffb42c6ace9c9dbeb1443cffe8dc322c0bf5cdf0b9 PA_AD_RB_v1_1.der
v 2.0 - ac51fe96ecf0a7a5ac7e21a18be305c0180c6e8bb15ac5a66fb88137693a8983 PA_AD_RB_v2_0.der
v 2.1 - 3259f8a99b35393afadfa681fc381cd1eb6925c68718a8e92f7a658f253d3ba5 PA_AD_RB_V2_1.der

Um fato que causa confusão e que é importante de ser observado é que o DOC-ICP-15.03, no Anexo 1, nota 2, determina que “O hash da política de assinatura no atributo id-aa-ets-sigPolicyId da assinatura deve ser o hash interno que está na própria PA e não o hash da PA que se encontra publicada na LPA”. Com isso, a ICP-Brasil quer dizer que ao gerar um envelope, o campo de message digest que deve ser incluído no atributo id-aa-ets-sigPolicyId deve ser lido de dentro da estrutura da PA, e não calculado sobre o conteúdo total do arquivo. Para efeito de comparação, abaixo colocamos os hashes que devem ser usados na codificação de envelopes AD-RB, que são diferentes dos hashes de verificação mostrados anteriormente.

v 1.0 - 20D6789325513BBC8C29624E1F40B61813EC5CE7 (sha1)
v 1.1 - 397E6EA850C78AC44E7F3872DB369EDFECB50E63 (sha1)
v 2.0 - 5311E6CE55665C87F6085EF11C82FA3FB1341CADE7981ED9F51D3E56DE5F6AAD (sha256)
v 2.1 - DD57C98A4313BC1398CE6543D3802458957CF716AE3294EC4D8C26251291E6C1 (sha256)

Além disso, a política admite as formas de assinatura attached (documento anexado, ou interno) e dettached (documento associado, ou externo). Na forma attached, o conteúdo do documento que foi assinado está anexado ao envelope digital, enquanto que na forma dettached o documento é associado de forma lógica, por meio da assinatura do seu hash nos atributos assinados.

Referências

DOC-ICP-15 – Visão Geral sobre Assinaturas Digitais na ICP-Brasil
DOC-ICP-15.01 – Requisitos Mínimos para a Geração e Verificação de Assinaturas Digitais na ICP-Brasil – v2.
DOC-ICP-15.03 – Requisitos das Políticas de Assinatura na ICP-Brasil – v6.1.
Artefatos de assinatura digital – http://www.iti.gov.br/index.php/component/content/article/144-icp-brasil/repositorio/3974-artefatos-de-assinatura-digital
RFC3447 – Public-Key Cryptography Standards #1 – RSA Cryptography Specifications version 2.1 http://www.ieft.org/rfc/rfc3447.txt
RFC3370 e RFC3852 – Cryptographic Message Syntax (CMS) http://www.ieft.org/rfc/rfc3370.txt
http://www.ieft.org/rfc/rfc3852.txt
RFC5126 – CMS Advanced Eletronic Signatures (CAdES) http://www.ieft.org/rfc/rfc5126.txt

OIDs

sha1 - 1.3.14.3.2.26
sha256 - 2.16.840.1.101.3.4.2.1
sha512 - 2.16.840.1.101.3.4.2.3
sha1withRSAEncryption - 1.2.840.113549.1.1.5
sha256withRSAEncryption - 1.2.840.113549.1.1.11

id-aa-signingCertificate – 1.2.840.113549.1.9.16.2.12
id-aa-signingCertificateV2 – 1.2.840.113549.1.9.16.2.47

Raiz Políticas 2.16.76.1.7.1.1
AB-RB v1.0 – 2.16.76.1.7.1.1.1
AD-RB v1.1 – 2.16.76.1.7.1.1.1.1
AD-RB v2.0 – 2.16.76.1.7.1.1.2
AD-RB v2.1 – 2.16.76.1.7.1.1.2.1

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s