/* Customized template */ Diário de um Desenvolvedor de Software: julho 2005

Diário de um Desenvolvedor de Software

Descobertas, idéias e informações que acontecem no meu trabalho como desenvolvedor de sistemas aplicativos em .NET.

Minha foto
Nome:
Local: Blumenau, SC, Brazil

Sou arquiteto de software e ajudo a definir soluções de tecnologia para necessidades de negócio. Atualmente trabalhando com a plataforma Windows Azure.

quinta-feira, julho 28, 2005

De volta das férias

De volta, após 10 dias de férias...

O trabalho nos próximos dias envolve participação na definição da metodologia de gerência de projetos da empresa, e conclusão da análise preliminar de um novo sistema...

sexta-feira, julho 15, 2005

Aplicando criptografia

Nesta semana, progredi nos meus estudos de criptografia aplicada.

A arquitetura da solução que escolhi foi a de assinatura. Ou seja, um bloco de dados é assinado e em seguida é verificada a validade desta assinatura para autorizar o uso deste bloco de dados.

Para a assinatura em si escolhi o padrão SHA1 (Secure Hashing Algoritm 1). Para criptografia, o padrão RSA, que usa chaves pública e privada. E para o envelopamento escolhi o padrão OpenPGP. Todos estes padrões estão entre os mais usados e são reconhecidamente de alta segurança.

A biblioteca de criptografia utilizada foi a cryptlib. Ela possui uma API muito simples de utilizar, e uma extensa documentação. Além disso é open source e funciona em vários ambientes operacionais, incluindo WIN16, WIN32 e Linux.

Ao longo de 3 dias eu consegui fazer uma prova de conceito operacional, capaz de gerar as chaves pública e privada, armazená-las em arquivos, e utilizá-las para assinar e verificar assinatura de um arquivo texto qualquer.

De modo geral foi uma experiência desafiadora pelo número de detalhes, mas bem gratificante pelo resultado.

sexta-feira, julho 08, 2005

Criptografia, .NET e metodologia

Nestes últimos dias eu iniciei um projeto envolvendo criptografia, para proteção de licenças de uso de software. A princípio eu selecionei a utilização de PGP para assinatura digital destas licenças. A criptografia será feita usando RSA com chave de 1024 bits, e o hashing utilizando SHA-1. A chave privada deverá ser armazenada em dispositivo removível.

Outra linha de trabalho foi na definição da plataforma .NET para o projeto do novo sistema que irei desenvolver. A opção foi por utilizar a plataforma Microsoft e não Java porque este sistema é um módulo de uma solução que já existe e que utiliza a plataforma Microsoft.

E finalmente, no início do trabalho neste novo projeto, trabalhei na fase de Análise Preliminar, dentro da nossa metodologia de desenvolvimento que está sendo criada para receber a certificação CMMI. Foram desenvolvidos os documentos de Visão do Negócio com vários fluxos de processos de negócio, os Requisitos de Negócio e os Requisitos de Sistema em nível macro, com os principais casos de uso do sistema.