Programa de Extensão da UnB em Criptografia e Segurança Computacional

C2- Infraestrutura de Chaves Públicas

 45 horas - pre-requisito: Curso C1

Roteiro e Programação de Aulas

Prof. Pedro Antonio Dourado de Rezende
Ciência da Computação
Universidade de Brasília

Roteiro


Programação (turma C2 / 8a. UnB)

Calendário

 
Turma C2 / 8a. UnB
Semana
1
2
3
4
5
6
7
8
9
Segunda 
25/8
1/9
10/9 *
15/9
 
29/9
6/10
13/10 
20/10
Quarta 
27/8
 
12/9 *
17/9
24/9
1/10
 
15/10
22/10
  Local:  Escola de Informática CPD-UnB - Prédio ICC, Sala BSS 431 - campus UnB
Legenda programada demo código concluída   folga  * aula prorrogada

Apresentação

Uma infraestrutura de chaves públicas (ICP) é um conjunto de regimes normativos, procedimentos, padrões de formatos, algoritmos e protocolos, e, finalmente, implementação de serviços que disponibilizam e/ou viabilizam o uso interoperável e escalável da criptografia assimétrica para redes abertas, compatíveis com tais padrões. O estudo preliminar do tema é coberto no curso C1. Neste curso C2 cobriremos o essencial para capacitar o aluno a desenvolver aplicações habilitadas ao uso de ICPs.

Plano de aulas

Cobriremos o material descrito na ementa do curso C2 (no caso de turma fechada esta ementa é negociada com o contratante) através do texto de referência [0], com o auxílio de práticas em sala de aula, inclusive exame de código demonstrativo, conforme programados neste roteiro. Este roteiro estará sendo construído à medida que avançamos na matéria.

Avaliação

A avaliação será baseada em um trabalho. Este trabalho consiste na implementação de uma aplicação minimal cliente-servidor, que faz uso de certificados digitais via protocolo SSL. Para este trabalho, será usada a biblioteca OpenSSL ou algo equivalente (ex: Java). Para a implementação, sugere-se como roteiro o artigo disponível em http://www.pedro.jmrezende.com.br/trabs/hammurabi.htm

Qualquer documentação extra para a compreensão de detalhes do protocolo SSL será de ajuda, para se entender as possíveis semânticas dos padrões e formatos em estudo no curso. Um site interessante, por exemplo, que inicia com uma revisão do material coberto no curso C1, pode ser encontrada na página doLinux Documentation Project, em  http://www.tldp.org/HOWTO/SSL-Certificates-HOWTO/index.html.

Qual a relação entre o SSL, cuja compreensão subentende-se para o trabalho do curso C2, e a programação do curso? A relação é a seguinte: embora o protocolo SSL não faça parte dos padrões e formatos de uma ICP, é o mais difundido protocolo de alto nível (o que seria a camada de sessão no modelo ISO-OSI, e que na suíte TCP/IP se insere na camada de aplicação) a fazer uso de ICPs. E é desejável que o curso se complete, de forma prática, com a aplicação do que foi nele abordado.

Assim, enquanto a programação do curso C2 desenvolve, em sua parte expositiva, uma abordagem bottom up para cobrir os conceitos, padrões e protocolos que constituem uma ICP, sua parte prática, consistindo do trabalho em que se baseia a avaliação do curso, envolvendo programação com a biblioteca OpenSSL (ou equivalente), desenvolve a abordagem top down, com os padrões e protocolos inferiores à camada de aplicação já codificados na biblioteca. A idéia é que as duas abordagens -- bottom up e top down -- se desenvolvam concomitante e complementarmente.

Quanto mais cedo ficar pronto o trabalho, melhor para o aluno. Isto porque, quando ele completar a codificação de um aplicativo minimal, terá disponível uma "casca" com a qual poderá, caso queira, experimentar com implementações e uso dos padrões e formatos que estarão sendo estudados na parte expositiva, à medida que o curso avança ou mesmo depois de encerrado. O trabalho será avaliado com uma demonstração de funcionamento pelo aluno, a ser agendado em horário extra-aula, em dia e local a combinar. O prazo final para a demonstração do programa será no máximo uma semana depois do encerrado o curso.



 

Bibliografia

Material de referência

Texto de Referência

Roteiros de aula


Material de consulta

Os textos abaixo aprofundam o material abordado no curso.



Atualizada em 25/02/03