Assinaturas digitais em Java: conheça e implemente os formatos no padrão nacional
Saiba como distinguir e implementar os formatos para geração de assinaturas digitais conforme os padrões legais definidos pela ICP-Brasil.
Serão abordados também os requisitos técnicos formais definidos pela ICP-Brasil, que é a entidade gestora da infraestrutura de certificação digital brasileira, para que as assinaturas geradas tenham validade legal em âmbito nacional.
Além
disso, analisaremos alguns exemplos práticos utilizando as principais
bibliotecas em Java que auxiliam neste tipo desenvolvimento.
Autores: Emerson Sachio Saito e Fabiano Castro Pereira
O uso de certificados digitais é algo que tem se tornado bastante comum em aplicações web, sendo impulsionado principalmente por questões de segurança como, por exemplo, aquelas que visam garantir a autenticidade da identidade de um sistema web (ou site internet). Além deste caso, também é cada vez mais importante garantir a autoria e integridade das informações, isto é, saber quem a gerou e se o conteúdo não foi corrompido ou fraudado.
A partir da informatização do sistema jurídico nacional, garantir a validade de documentos e processos é algo fundamental à legitimidade dos processos, por exemplo.
Neste cenário, uma das técnicas de certificação digital mais adotadas por sistemas informatizados são as assinaturas digitais.
Prover a um sistema a capacidade de assinar qualquer tipo de conteúdo digital, além de assegurar a integridade da informação, viabiliza a garantia da validade jurídica no âmbito nacional e até internacional, uma vez que no Brasil, e em outros países, já existem dispositivos legais em forma de leis e normas que embasam essa garantia.
Com o crescimento do comércio eletrônico e o avanço dos sistemas computacionais, a legislação tributária brasileira criou um projeto chamado Sistema Público de Escrituração Digital – SPED.
Este padroniza uma série de documentos e procedimentos contábeis que eram comumente produzidos em papel para serem produzidos na forma de documentos digitais.
Dentre os documentos e procedimentos padronizados, o mais conhecido é a Nota Fiscal Eletrônica (ou NF-e), e uma das obrigatoriedades deste projeto é a geração de assinatura digital dentro dos padrões definidos pela legislação brasileira – mais um motivo que sinaliza a relevância do assunto tratado neste artigo.
Assim como o SPED, há outras iniciativas para uso de assinaturas digitais tanto nos setores públicos como privados. Um bom exemplo vem do poder Judiciário.
Ademais, fora as questões tecnológicas inerentes à implementação da certificação digital, há também aspectos legais e normativos, pois elas devem garantir os mesmos direitos de uma assinatura analógica, que é aquela que fazemos com uma caneta no papel.
Para tratar os aspectos normativos, foi criada uma instituição chamada ICP-Brasil, que define as regras sob as quais essas assinaturas devem ser geradas para serem válidas. O papel dela é definir, através de normativas técnicas, formatos, padrões e propriedades como, por exemplo, qual algoritmo deve ser usado para gerar as chaves criptográficas e qual o tempo de validade de um certificado.
Com base em tudo o que foi informado até aqui, neste artigo vamos abordar aspectos jurídicos relacionados a assinaturas digitais, tecnologias Java que podem ser empregadas para a geração destas assinaturas e, principalmente, alguns exemplos.
ICP-Brasil
Para que um certificado digital, que é um componente básico para a geração de assinaturas digitais, tenha garantia de autenticidade e até mesmo respaldo legal, ele deve ser reconhecido por uma infraestrutura de chaves públicas (ICP).
Uma ICP pode ser definida como uma instituição formal composta por procedimentos técnicos e organizacionais para geração de chaves criptográficas que envolve desde soluções em software e hardware até o tipo de hierarquia que a infraestrutura adota.
É essa organização que dá sustentação às técnicas de certificação digital e também aos procedimentos burocráticos para sua implantação e uso. Em nosso país, há somente uma reconhecida oficialmente, e o nome dela é ICP-Brasil.
O objetivo principal de uma ICP é garantir a legitimidade e autenticidade das informações de um certificado. Para isso, adota e/ou especifica normas e padrões a serem seguidos pelos sistemas que venham a utilizar a certificação digital.
A organização/estrutura da ICP-Brasil é composta pelos seguintes itens:
· Comitê Gestor: É um grupo de pessoas que coordena o funcionamento organizacional e burocrático da ICP-Brasil, estabelecendo as políticas, os critérios e as normas para o funcionamento de toda a infraestrutura;
· Comissão Técnica: Chamada de Comissão Técnica Executiva (COTEC), tem a função de prestar suporte e consultoria ao Comitê Gestor em assuntos tecnológicos, sempre que o comitê solicitar.
Em outras palavras, sempre que houver alguma decisão por parte do comitê que seja necessário um parecer técnico, a comissão é convocada;
· Infraestrutura da ICP: A estrutura da ICP-Brasil é dividida em três partes principais, conforme detalhado a seguir:
o Autoridade Certificadora Raiz: É o primeiro nível do que é chamado de cadeia de certificação, que por sua vez representa uma hierarquia na qual uma infraestrutura de chaves públicas se organiza.
É papel da autoridade Raiz executar e fazer cumprir as Políticas de Certificados e normas técnicas e operacionais aprovadas pelo comitê Gestor.
Gerar, distribuir, cancelar e gerenciar os certificados das autoridades certificadoras do nível abaixo do seu são funções da AC-Raiz.
Além disso, é responsável por publicar os certificados que foram revogados (a LCR) e fiscalizar as Autoridades Certificadoras (ACs), Autoridades de Registro (ARs) e demais entidades habilitadas na ICP-Brasil.
Além disso, verifica se as ACs estão atuando em conformidade com as diretrizes e normas técnicas estabelecidas pelo Comitê Gestor da ICP-Brasil;
o Autoridade Certificadora (AC): É a entidade responsável por garantir a autenticidade dos certificados digitais. Para isso, cada AC, tanto a raiz como as de nível inferior, possuem um par de chaves (uma pública e outra privada) que é utilizado para assinar os certificados emitidos por ela.
É através da validação desta assinatura que é verificada a autenticidade de um certificado. Como qualquer hierarquia de ICP, o certificado da Autoridade Raiz é auto assinado e os das demais abaixo da Raiz, assinados pela primeira.
Assim, é comum a existência de vários níveis intermediários de autoridades certificadoras, formando uma pirâmide, conforme ilustra a Figura 1.
São algumas das principais responsabilidades da AC: publicar e fazer cumprir todas as normas, políticas e padrões para o funcionamento de uma ICP, que no âmbito da ICP-Brasil são definidos pelo comitê gestor;
o Autoridade de Registro (AR): Além de ser o último nível na hierarquia de uma ICP, a AR representa a autoridade responsável pela obtenção, análise e aprovação dos dados dos usuários para gerar os certificados.
Também é responsabilidade desta entidade a guarda dos documentos necessários para a verificação da legitimidade e identidade do usuário. Deve, obrigatoriamente, estar credenciada junto a uma AC, pois é uma AR que representará fisicamente uma AC perante uma pessoa que deseja obter um certificado.
Isto é, uma AR é um local físico para interface de uma AC, onde alguém se apresenta para pedir a emissão de um certificado. A AR deve oferecer segurança, pessoal especializado e os equipamentos necessários." [...] continue lendo...
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo