Cartão de Cidadão: Assinatura Digital.

A assinatura digital de documentos com o CC depende de um sistema de Public Key Infrastructure(PKI). Neste sistema de cifras assimétricas, cada utilizador tem uma chave privada que permite criar as assinaturas digitais. Estas são sequências de bytes calculadas a partir de outras sequências quaisquer. Por exemplo, pode-se escrever um documento de texto e assiná-lo digitalmente calculando a sequência de bytes que lhe corresponde, usando a chave privada.

Associada a cada chave privada há uma chave pública que permite verificar se a assinatura digital é legítima mas que não permite calculá-la. Assim, desde que a chave privada se mantenha secreta, tem-se um sistema seguro de validação pública de assinaturas digitais. Todos podem verificar que um certo documento foi assinado por mim porque têm acesso à minha chave pública, mas só eu posso assinar por mim porque só eu tenho a minha chave privada, sem a qual é inviável calcular essa assinatura digital.

No caso do CC, quando activamos a assinatura digital é emitido um certificado associando a nossa chave pública aos nossos elementos de identificação, como o nome e o número do cartão. Este certificado é assinado digitalmente por uma entidade certificadora que tem de ser aprovada pelo Sistema de Certificação Electrónica do Estado. Isto garante que aquela chave pública é mesmo de quem se diz ser. E a chave privada não sai do CC. Está guardada no chip, é teoricamente inacessível, e é o próprio chip que calcula a assinatura digital. Para gerar a assinatura digital é preciso enviar ao chip a informação acerca do ficheiro a assinar (um hash do ficheiro*), o chip exige o PIN e depois devolve a assinatura calculada. Conceptualmente, este sistema é seguro. Se for usado em ambiente seguro. E aí está o problema.

Quando assinamos com caneta no papel vemos o que estamos a assinar. Quando assinamos um documento digital carregamos num botão, escrevemos o PIN, um conjunto de dados é enviado para o CC e sai uma assinatura digital. De quê, não sabemos. Temos de confiar nos programas que usamos, e os nossos computadores não são seguros. Estão ligados à Internet, muitas vezes sem protecção adequada, e facilmente acabam a correr programas que não queremos. Um programa malicioso que corra oculto no nosso computador pode interceptar o nosso pedido de assinatura digital, guardar o PIN e, sempre que tivermos o CC no leitor, usá-lo para assinar qualquer documento em nosso nome e sem o sabermos.

A assinatura electrónica tem carácter probatório e impede o repúdio do documento assinado. É considerável o potencial criminoso de uma rede com milhares de computadores infectados, cada um capaz de assinar digitalmente documentos em nome dos detentores dos cartões mas a mando de quem controla o programa. E para implementar isto nem é preciso roubar cartões ou quebrar mensagens cifradas. Basta enganar o utilizador. Curiosamente, o manual do middleware do CC exprime uma preocupação semelhante, sem bem que num âmbito demasiado restrito:

«O parâmetro dwParam = HP_HASHVAL é implementado mas deve ser usado com cuidado. Este parâmetro foi definido de forma a dar às aplicações a possibilidade de assinar hash values, sem ter acesso à base data. Porque a aplicação (e muito menos o utilizador) não pode ter ideia do que está a ser assinado, esta operação é intrinsecamente arrisacada [sic].» (1)

O problema fundamental não é a implementação desse parâmetro na função CryptSetHashParam. O problema é ter um cartão que cada cidadão supõe ser seguro mas que vai ser usado em qualquer computador pessoal, com qualquer software que apareça e em qualquer balcão por pessoas que não conhecem as vulnerabilidades deste sistema de segurança.

* Na documentação do middleware para o CC recomendam o SHA-1, que já desde 2005 se sabe não ser tão bom quanto devia ser: Bruce Schneier, Cryptanalysis of SHA-1.

1- Este manual, escrito à pressa e até com partes em Inglês que ficaram por traduzir, pode ser descarregado na página dos manuais técnicos do Cartão de Cidadão. O trecho citado está na página 12 do pdf.

Fonte Original


Deixe um comentário

Hinweis: Durch Bereitstellung der Kommentierungsfunktion macht sich die Piratenpartei nicht die in den Kommentaren geschriebenen Meinungen zu eigen. Bei Fragen oder Beschwerden zu Kommentaren wenden Sie sich bitte über das Kontaktformular an das Webteam.

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

13 − six =

 

Este site utiliza o Akismet para reduzir spam. Fica a saber como são processados os dados dos comentários.

Mais informações

Login

Assinaturas

No Data