É comum ouvirmos a frase “a ICP-Brasil exige assinatura com Política”, mas quem sabe o que isso quer dizer exatamente?
Por Sérgio Leal
Conforme a RFC 3125 o conceito de Política de Assinatura está definida como “um conjunto de regras para a criação e validação de uma assinatura eletrônica, nos termos do qual a validade da assinatura pode ser determinado, e que pode atender as necessidades em um determinado contexto (legal / contratual).”.
Na prática ela pode limitar as opções válidas para geração e reconhecimento de assinaturas em um contexto, sendo alguns exemplos:
Quais os algoritmos que podem ser utilizados (MD5, SHA1, SHA256…)?
Podem ser utilizadas chaves RSA de 1024 ou 2048 bits?
Quais as extensões que devem estar presentes no envelope de assinatura?
A aplicação de carimbo de tempo é obrigatória?
O formato do envelope será CMS, XML ou pdf?
E essas limitações podem ser ampliadas para cercar qualquer detalhe do uso de uma assinatura digital.
Como é publicada a Política?
As Políticas de Assinatura são sempre publicadas em 2 formatos, sendo um direcionada para a leitura por pessoas, e o outro direcionado para leitura por computadores. Quando direcionado para as pessoas o formato é um texto padrão (como um pdf publicado em um site) descrevendo em detalhes todas as regras que compõem o corpo da Política.
O formato direcionado para os computadores é publicado em uma estrutura em formato DER encoded (distinguished encoding rules) que é um padrão muito comum na indústria de telecomunicações, sendo utilizado também na codificação dos certificados digitais.
Quais os benefícios de adotá-la?
Como vimos antes, a Política de Assinatura é uma maneira de impormos uma série de restrições a um contexto de assinatura digitais.
O primeiro beneficio é a interoperabilidade. É virtualmente impossível que uma ferramenta de assinatura digital suporte todas as variações possíveis e imagináveis de todos os padrões, formato e algorítimos. Assim, a Política cria uma facilidade para o desenvolvedor focar o desenvolvimento apenas naquilo que se considera válido para o contexto a que se destina.
O segundo benefício é a segurança. É através da Politica que você declara que algoritmos ‘quebrados’ como MD5 e SHA1, ou chaves fracas com RSA 1024 não podem ser utilizados em assinaturas, mantendo padrões de segurança adequados às aplicações onde as assinaturas serão utilizadas.
E no caso da ICP-Brasil?
Você pode ler sobre as Politicas no documento DOC-ICP-15, e nele poderá perceber algumas das limitações impostas. Atualmente, apenas a Politica versão 2.1 está vigente, as outras expiraram ou foram revogadas. Desse documento, extraí o exemplo abaixo:
5.2.3.1.1.1 Identificador de Algoritmo
Os processos para criação e verificação de assinaturas segundo esta PA devem utilizar o
algoritmo :
a) para a versão 1.0: sha1withRSAEncryption(1 2 840 113549 1 1 5),
b) para a versão 1.1: sha1withRSAEncryption(1 2 840 113549 1 1 5) ou
sha256WithRSAEncryption(1.2.840.113549.1.1.11)
c) para as versões 2.0 e 2.1: sha256WithRSAEncryption(1.2.840.113549.1.1.11)
5.2.3.1.1.2 Tamanho Mínimo de Chave
O tamanho mínimo de chaves para criação de assinaturas segundo esta PA é de :
a) para a versão 1.0: 1024 bits;
b) para a versão 1.1: 1024 bits;
b) para as versões 2.0 e 2.1: 2048 bits.
* Sérgio Leal
- Ativista de longa data no meio da criptografia e certificação digital.
- Trabalha com criptografia e certificação Digital desde o início da década de 90, tendo ocupado posições de destaque em empresas lideres em seu segmento como Modulo e CertiSign.
- Criador do ‘Blue Crystal’: Solução software livre completa de assinatura digital compatível com ICP-Brasil
- Criador da ‘ittru’: Primeira solução de certificação digital mobile no mundo.
- Bacharel em Ciências da Computação pela UERJ desde 1997.
- Certificações:
– Project Management Professional (desde 2007)
– TOGAF 9.1 Certified
– Oracle Certified Expert, Java EE 6 (Web Services Developer, Enterprise JavaBeans Developer)- Sérgio Leal é colunista e membro do conselho editorial do CryptoID.