01
maio 10

Certificado Digital – Entenda o que é!

O mundo de hoje gira em torno do computador e da internet. A possibilidade de comunicação rápida e fácil com todos facilitou a vida de pessoas e empresas, e permitiu a criação de diversos serviços tais como: trocar e-mails, mensagens instantâneas, transações bancárias, compras em lojas e supermercados. Até aí “no big deal”. Mas toda essa informação não pode transitar por aí sem segurança, pode? Bom muitas podem, mas existem outras que precisam ser guardadas e defendidas sempre. São senhas de banco, documentos sigiloso, dados sensíveis sobre grandes corporação, e por aí vai.

Então se faz necessário garantir que esse conteúdo que transita pela internet esteja seguro de ações mal intencionadas.

É nesse momento que entra em cena o recurso da Certificação Digital.

O que é Certificação Digital?

É um mecanismo usado em segurança digital capaz de garantir, autenticidade, integridade e não-repúdio às informações eletrônicas. A Certificação Digital é um tipo de tecnologia de identificação que permite que transações eletrônicas dos mais diversos tipos sejam feitas de forma a evitar que adulterações, interceptações ou outros tipos de fraude ocorram.

  • Autenticidade: o destinatário deverá ser capaz de identificar o remetente e verificar que foi mesmo ele quem enviou a mensagem.
  • Integridade: o destinatário deverá ser capaz de determinar se a mensagem foi alterada durante a transmissão.
  • Não-repúdio do emissor: não deverá ser possível ao emissor negar a autoria da mensagem.

Para entender a certificação digital é necessário um mínimo de conhecimento sobre o que é ASSINATURA DIGITAL, pois a mesma é usada neste recurso.

ASSINATURA DIGITAL

A assinatura digital é um mecanismo que garante a autenticidade e a integridade de uma informação digital. Ela é utilizada para provar que a mensagem ou o arquivo assinado não foi alterado.

Podemos comparar uma assinatura digital (em documentos eletrônicos) com uma assinatura à caneta em um documento de papel. Ambas têm a mesma finalidade: garantir a integridade e autenticidade do documento. Simples como isso.

É claro que essa é uma visão muito simplista desse recurso. Existem muitos detalhes técnicos que envolvem o ato de assinar digitalmente um documento, como chaves, hash* token**, etc..

Mas é importante frisar que a assinatura digital não serve, necessariamente, para cifrar (criptografar é um termo incorreto) uma mensagem ou documento eletrônicos, e sim para identificar o remetente e a integridade da mesma.

COMO É FEITO?

Então como podemos ter certeza que realmente foi o remetente que assinou digitalmente o documento? Alguém pode ter alterado o documento no meio do trajeto entre o remetente e o destinatário.

De maneira resumida uma assinatura típica envolve dois processos:

  1. a criação do resumo da mensagem (hash*) e
  2. a cifragem deste resumo.

Esse resumo cifrado é anexado a mensagem e os dois serão enviados ao destinatário. No momento do recebimento o destinatário irá criar outro resumo da mensagem e irá compará-lo ao resumo recebido. Se forem iguais, então a mensagem veio do remetente certo e seu conteúdo está íntegro.

figura 1

Note que o simples processo de usar a assinatura digital não garante que a sua mensagem não será lida nem alterada (sigilo). Não é essa a sua função principal, embora também possa ser usada para tal (isso será assunto de outro post). Sua função principal é garantir que a mensagem ou documento recebido é o mesmo que o remetente enviou (autenticidade), e não foi alterado em seu trajeto (integridade). Com isso também garantimos que o remetente não poderá negar que assinou e enviou tal documento (não-repúdio do emissor). É exatamente a mesma lógica da assinatura em um documento de papel.

CHAVES PÚBLICAS E CHAVES PRIVADAS

Mas como garantir que alguém mal intencionado não consiga assinar um documento se passando por você? Para isso é usado criptografia com chaves públicas e privadas.

PAR DE CHAVES

Uma pessoa (ou entidade) define um par de chaves. As chaves serão criadas no mesmo instante (em geral por um programa) usando cálculos matemáticos complexos. Essas chaves nada mais são que códigos que serão usados para cifrar e decifrar as mensagens que serão transitadas. Uma será pública, e a outra privada. A chave privada fica com o dono do par, e só ele tem acesso a essa informação. A chave pública pode ser compartilhada com qualquer pessoa, e fica disponível a todos.

Uma mensagem cifrada com uma chave privada só pode ser decifrada com a chave pública do seu par.

COMO É FEITO?

No exemplo da figura 1 foi usada a chave privada (dourada) da Maria para cifrar o resumo (hash) da mensagem, e esse resumo cifrado foi encaminhado junto com a mensagem. Quando João recebeu a mensagem e o resumo, ele decifrou o resumo usando a chave pública (prata) da Maria (que todos podem ter acesso), depois gerou um novo resumo da mensagem recebida. Se o resumo enviado pela Maria (protegido por sua chave privada) for igual ao resumo gerado pelo João, então está provado que a mensagem foi realmente enviada pela Maria, e não sofreu alterações.

figura 2

Mas as chaves públicas e privadas não podem ser criadas sem critérios. Quer dizer: até podem sim. Eu posso usar um programa como o GnuPG para isso, mas elas não terão validade jurídica. Para que elas sejam confiáveis e possuam total validade jurídica é preciso que elas sejam criadas sob as normas da ICP-Brasil.

ICP-BRASIL

A Infra-Estrutura de Chaves Públicas Brasileira (ICP-Brasil) é um conjunto de entidades, técnicas, práticas e procedimentos que tem como objetivo estabelecer os fundamentos técnicos e metodológicos do sistema de certificação digital baseado em chave pública. Bonito né? Resumindo: é uma área, sob a administração do Instituto Nacional de Tecnologia da Informação – ITI órgão do governo federal, que padronizou, e mantém as regras do uso de chaves no país. O governo percebeu a importância de regulamentar as atividades de certificação digital no País, já que o número de transações eletrônicas crescia sem parar, e com isso se imprescindível tornar essas transações mais seguras.

A Medida Provisória 2.200-2 de 2001 instituiu a ICP-Brasil para garantir a autenticidade, a integridade e a validade jurídica de documentos em forma eletrônica e das aplicações habilitadas que utilizem certificados digitais, bem como a realização de transações eletrônicas seguras.

CONCLUSÃO

A tecnologia da Certificação Digital alcança e beneficia as mais diversas áreas proporcionando benefícios aos cidadãos, órgãos públicos e empresas privadas. Ela também possibilita segurança nas transações digitais, evitando o risco de fraudes. Também proporcionam maior produtividade e redução de custos, pois com menos papel temos processos mais simples e ágeis. Esse último colabora também para adoção de políticas ambientais, e de “TI Verde”, uma vez que documentos certificados não necessitam ser impressos e possuem validade jurídica. Algumas empresas ecomizaram horrores com a digitalização de documentos. A Certificação Digital já é uma realidade, e está sendo cada vez mais usada e adotada pelas empresas. Algumas já são obrigadas, pelo governo, a utilizá-la no momento de envio de informações aos órgãos públicos. Acredito que em poucos anos a utilização desse recurso estará no dia a dia das pessoas comuns, facilitada quem sabe, pela maior divulgação e adoção do e-CPF.

REFERÊNCIAS

http://www.iti.gov.br/twiki/bin/view/Certificacao/ http://www.iti.gov.br/twiki/bin/view/ITI/Apresentacao http://pt.wikipedia.org/wiki/Hash http://www.pronova.com.br/por_dentro.php

*Hash: é uma sequencia fixa de caracteres (em base hexadecimal) gerados por um algoritmo. Essa sequencia sempre terá o mesmo tamanho, independente da quantidade de informações que foi usada para produzi-la.

**Token: Token é um dispositivo eletrônico que armazena informações. Pode ser usado para guardar a chave privada do usuário. O acesso às informações neles contidas é feito por meio de uma senha pessoal, determinada pelo titular.


03
abr 10

Começando no mundo da eletrônica – Arduíno / Program-ME

Desde muito novo sempre me interessei por eletrônica e automação. Talvez seja por influência do meu pai, que é engenheiro, e sempre criava várias “trapizongas” para eu brincar. Nunca esqueço do dia em que ele fez uma lancha para eu brincar na piscina com um motorzinho, uma sandália de dedos velha e um pedaço de madeira. A hélice era feita com tubo de pasta de dentes (naquela época os tubos eram de metal… faz tempo 😉 ). Essa engenhoca e outras, e alguns aparatos que ele trazia do trabalho, sempre me fascinaram.
Por outro lado eu sempre gostei muito de computadores e programação, então na época de escolher uma profissão decidi estudar informática. Deixei a eletrônica de lado, mas nunca me esqueci desse meu desejo.

Conhecendo o Arduino

Ano passado “navegando” pela internet me deparei como projeto Arduino, que é uma plataforma open-source para criação de protótipos eletrônicos, criado por um professor italiano chamado Massimo Banzi. O objetivo de Banzi era incentivar a computação física, cujo conceito é aumentar as formas de interação física entre as pessoas e os computadores. Uma grande idéia!

O mundo Arduino é GIGANTE e fascinante. Tem tudo para quem gosta de eletrônica e possibilita uma infinidade de projetos. Do mais simples (para os iniciantes – meu caso), até o mais complexo (para os profissionais).

Através de suas características é possível integrá-lo com diversos dispositivos, como display LCD, sensores de luz, GPS, motores (DC, de passo, servos), leds, e por aí vai. É possível criar projetos de robôs, automação residencial, arte tecnológica, ensino e educação, e até mesmo integrá-lo com iPhone, celulares, Sun Spot, etc..

A linguagem de programação padrão é essencialmente C/C++, e sua IDE para desenvolvimento é feita em Java. Então podemos desenvolver para Arduino em qualquer plataforma. E funciona sem problemas. Não é uma IDE maravilhosa, e tal, mas é boa para o que se propõe.

Program-ME

Como todo o projeto do Arduino (hardware e software) seguem padrões open-source, existem vários fabricantes de modelos Arduino-Like em todo o mundo. No Brasil temos alguns modelos de Arduino, como: Tatuino, Severino, Modelixino, e o Program-ME da Globalcode. Esse último foi o meu escolhido para começar a brincadeira.

O Program-ME é ideal para mim, que estou iniciando, pois tem vários facilitadores já embutidos nele, por exemplo os leds, speaker, sensor de luz, etc.. Não é necessário comprar e ligar leds à plaquinha para começar a fazer umas brincaderiras, pois o Program-Me já vem com 9 delas. Bom, né?

Program-ME é:

  • Um instrumento didático criado originalmente para a Academia do Programador da Globalcode que pode ser utilizado por qualquer pessoa que queira aprender sobre Robótica, Eletrônica, Automação Residencial, Tecnologia aplicada à arte e mil outras coisas;
  • É um dispositivo de hardware baseado em Arduino, que também é aberto!
  • Tem leds, potenciômetro, sensores e outros componentes;
  • Você poderá comprar um Program-Me pronto na Globalcode ou simplesmente baixar a especificação, ir até à Santa Efigênia (ou similar) e montar o seu;
  • Tem como objetivo democratizar o conhecimento sobre eletrônica + programação + internet;
  • Utilizado para incentivar o desenvolvimento da computação física e comunidade Arduino no Brasil;

Sou fã do pessoal da Globalcode a muito tempo (eles são referência no mundo Java), e eles não decepcionaram.

Comprei um Program-ME e veio completinho. Chegou numa caixinha super bacana, com o cabo USB para comunicação e um manual de instruções encadernado. Parabéns a toda a equipe da Globalcode. O material é de primeira, e o atendimento foi super atencioso e prestativos. Recomendo!

AH! Eles também criaram um blog (Elétron Livre) para divulgar as novidades do projeto, e uma rede social no Ning (Globalcode Program-ME) para o pessoal colaborar, tirar dúvidas e divulgar seus projetos.  Show de bola!!!

Já estou brincando com ele e pretendo ir colocando minhas brincadeiras por aqui. Já tenho algumas idéias e vou tentar realizá-las com a ajuda do Program-ME. Esperem pra ver. rsrsrsr

Como diz manual do Program-ME:

Arduino é simples, fácil de programar e barato. Motivos mais que suficientes para fazer uma comunidade crescente no mundo todo.

Acho que agora eu realizo meu sonho!!! \o/