domingo, 17 de março de 2013

Assinatura e Certificação Digital - Assinando e Verificando uma Assinatura Digital


Assinar uma mensagem lógica/digital é normalmente aplicar sobre a mensagem a criptografia simétrica de assinatura com a chave privada do indivíduo. Porém esta ação de criptografia que posteriormente gerará a ação de descriptografar a mensagem são operações pesadas, mesmo para potentes computadores, então para minimizar a carga de processamento faz-se utilização das funções/algoritmos de resumo criptográficos que são vários, e neste trabalho foram apresentados dois, o MD5 e o SHA-1, sendo que estas funções devem obter um identificador da mensagem lógica, como já dito anteriormente, este é conhecido como message digest ou o resumo da mensagem. Vale mencionar que para algumas operações que precisam de alguma maneira de sigilo ou que a mensagem criptografada não seja pública, então a criptografia de toda a mensagem deve ser executada. Tendo então em mãos o message digest da mensagem a ser assinada, aplica-se o algoritmo de criptografia assimétrica para assinatura da mensagem sobre o message digest, são também vários os algoritmos de criptografia assimétricos e neste trabalho foram apresentados alguns como o RSA e o DSA. O produto obtido então é denominado Assinatura Digital, e se esta mensagem precisasse ser enviada para alguém assinada digitalmente, seria encaminhados então a mensagem original que fora assinada, a assinatura digital obtida e o certificado do sujeito que assinou a mensagem, a seguinte imagem ilustra o processo de assinatura;

Sabemos que a assinatura digital garante três propriedades importantíssimas; a autenticidade, a integridade e o não repúdio, com isto dado uma assinatura de determinada mensagem, em qualquer momento após efetuar esta assinatura a mesma poderá ser comprovada ou verificando-se a mensagem digitalmente assinada, porém na realidade como foi visto o que fora verdadeiramente assinado foi somente o message digest ou hash value, portanto para verificar tal assinatura, tendo em mãos a mensagem original, o message digest assinado e o certificado de quem assinou, faz-se necessário obter novamente um novo message digest da mensagem original, com a chave pública que se encontra no certificado de quem assinou a mensagem descriptografamos o message digest assinado e então comparamos com o novo message digest que obtivemos anteriormente, se os dois forem exatamente iguais, então podemos comprovar que a mensagem dita original de fato fora assinada por quem afirma ter assinado, em outras palavras, a assinatura é válida, o esquema de verificação pode ser visto na seguinte ilustração;

Nota: Deve ser observado que os algoritmos para obtenção do hash value ou algoritmo de criptografia de chave pública devem ser os mesmos no momento da verificação da assinatura.


Nenhum comentário:

Postar um comentário

Obrigado por deixar seu comentário. Volte sempre.