INE 5680 - Segurança da Informação e de Redes
 


Criptografia, Segurança de Aplicações e Protocolos Criptográficos

Plano de Ensino  
     Prova 1: 04/10/2013      Prova 2: 09/12/2013

 
      Objetivos:

Conhecer fatos e problemas sobre segurança computacional. Compreender os principais conceitos, princípios e mecanismos visando sistemas seguros. Compreender e aplicar algoritmos de criptografia.  Empregar ferramentas que servem de suporte para a segurança de aplicações. Compreender protocolos criptográficos básicos, intermediários e avançados. 


Conteúdo
Material Didático
Aula 1  (16/08/2013)
Plano de Ensino. Questionário sobre experiência dos alunos.  Novo ambiente de aulas práticas.
Introdução à Segurança Computacional: segurança da informação, segurança de redes,
segurança de aplicações, segurança de sistemas. O Ambiente Cooperativo. Conceitos: Vulnerabilidades, Ameaças, Riscos, Severidade. Ataques, Intrusões, Requisitos de Segurança. Política de Segurança.

 

Apresentação

Introdução à Segurança Computacional

Aula 2   (23/08/2011)
Formas de Ocultação de Mensagens: Código, Esteganografia, Técnicas Clássicas de Criptografia: Modelo de Criptosistema Convencional (algoritmo, chave,  cifra,  criptonálise, tipos de ataques), Aritmética modular. Gerador de Números Aleatórios. Construindo Chaves. Ou Exclusivo.  Técnicas de Substituição, Técnicas de Transposição. Conceitos da Teoria da Informação (Difusão, Confusão, Entropia, Segurança Perfeita). Modos de Cifra. Algoritmos Criptográficos Simétricos.

Tarefa 1: Criptografia Simétrica com DES

 
 Arquivos  java_Text_DES     java_File_DES  
 
Técnicas Clássicas de Criptografia

Criptografia de Chave Simétrica

Modos de Cifra

Gerando Chaves Simétricas
Aula 3  (30/08/2013)
Aritmética Modular. Diffie-Hellman. Criptografia de Chave Pública. Função Hash. Assinatura Digital.

Tarefa 2a: Executando RSA

Tarefa 2b: Email Seguro    Explicando como usar o GnuPG
                                     
 (Adicional) Como usar o GnuPG GRIS-2004-T-001.pdf
            
    
GnuPG v1.4.7   (Win)
       
GnuPG v1.4.7
  (Linux)

Plataforma Mozilla     /    Enigmail   
Mozilla-Thunderbird + Enigmail PT-BR


PGP Cipher Feedback Mode for Linux

S/MIME (Secure/Multipurpose Internet Mail Extensions) - Wikipedia

S/MIME Protocol
S/MIME e OpenPGP

 

Aritmética Modular

Diffie-Helman

Criptografia de Chave Pública

Função Hash

Assinaturas Digitais


Assinatura Digital (Wikipedia)
  
Programa Assinador (Linux) - ITI
Aula 4  (06/09/2013)

Tarefa 3a:
Segurança na Comunicação Cliente-Servidor Web
                            (
Segurança com HTTPS = Apache + SSL)

Tarefa 3b: Análise de Vulnerabilidades em Servidor Web
                                   (Ferramenta Nikto)

Tarefa 4:  Rede Privada Virtual    (VPN - Virtual Private Network)
                                         (Ferramenta OpenVPN)

               OpenVPN-2.1 (Windows)            OpenVPN-2.1 (Linux)

Introdução à VPN
Estruturando VPNs
Aula 5  (13/09/2013)

 

Código de Autenticação de Mensagem

Gerenciamento de Chaves Simétricas
 (Criptografia Baseada em Senha)

Gerenciamento de Chaves Assimétricas
(Cap.10-Stallings)

ICP-Infraestrutura de Chaves Públicas
(Prof. Bosco)

ICP-Infraestrutura de Chaves Públicas
(Prof. Zancanella)


 Protocolos Criptográficos - Introdução

(Prof. Zancanella)
Aula 6  (20/09/2013)          LISTA DE EXERCÍCIOS TEÓRICOS (1)

Leiam sobre o protocolo de autenticação - Autenticação de Usuários em Caixa Eletrônico - no primeiro arquivo abaixo.
                                                   

Utilizar, como exemplo, um algoritmo de criptografia simétrica. A partir dos arquivos abaixo, estudar os dois protocolos sobre Segurança de Caixas Eletrônicos, descritos nestes arquivos. Fazer primeiramente a leitura dos arquivos PDF abaixo:                  
    

    CripSimCE0001       CripSim0002       CripSim0003

Após o entendimento dos protocolos descritos, descrever um protocolo definido por você, nos moldes das figuras do livro, explicando o funcionamento em passos (como está no texto), mas imaginando como deve ser o protocolo utilizado entre um terminal do seu banco e o centro de processamento do mesmo.

Obs:  Os arquivos acima são continuação um do outro, ou seja CripSim0002 segue CripSim0001 e CripSim0003 segue CripSim0002.



 
Aula 7  (27/09/2013)
Protocolos Criptográficos Básicos


  

Aula 8  (04/10/2013)                       Prova 1 Solução da Prova 1A e 1B
04/10/2013
Aula 9  (11/10/2013)   Palestra 1 - Certificado de Atributos
                                                             (Ramon Facchin - SIN-Bry)

                                     Palestra 2 - Correção Formal de Protocolos de Segurança
                                                              (Jean Everson Martina - INE-LabSec)
Protocolos Criptográficos Intermediários

Protocolos Criptográficos Avançados

Certificados de Atributo
 
Kit  Graciliano para executar
AES, RSA e uma API simples P2P

(Eclipse Java) - Contribuição de
Graciliano M. P.

gracilianomp@gmail.com




 
4. Gerenciamento de Chaves Simétricas   (02/09/2011)
Tarefa 4 : Questionário  CRIPTOGRAFIA BASEADA EM SENHA (5%)


       Gerenciamento de Chaves Simétricas
              (Criptografia Baseada em Senha)
 

6. Criptografia de Chave Pública  (16/09/2011)

Cap 9 (Stallings) Criptografia de Chave Pública

Cap 10 (Stallings)  Gerenciamento de Chaves

Tarefa 6a :  Questionário Criptografia de Chave Pública  (5%)

Tarefa 6b :  Questionário Funções Hash e Assinaturas (5%)
                                                    
                                                      +

Tarefa 6c :  Acordo de Chave Diffie-Hellman


Aritmética Modular
Acordo de Chave Diffie-Hellman

Criptografia de Chave Pública

Algoritmo RSA (Wikipedia)

Funções Criptográficas de Hash

Assinatura Digital
Assinatura Digital (Wikipedia)
  
Assinador para Linux - ITI

Exemplo 1 de Assinatura
Exemplo 2 de Assinatura
 

Prova 1   (23/09/2011)
Soluções da Prova 1 (30/09/2011)

Soluções da Prova 1
30/09/2011
7. Código de Autenticação de Mensagem baseado em Hash, Assinatura Digital

                                    (07/10/2011)

Tarefa 7 : Questionários  Funções Criptográficas de Hash & Código de Autenticação de Mensagens Baseado em Hash & Assinatura Digital
(5%)

8. Segurança de Servidor Web (Apache + OpenSSL)      (07/10/2011)

Tarefa 8 : prática  Segurança de Servidor na Web com Certificado de Servidor   e certificado do Cliente  (15%)

Configurar segurança usando um servidor Web APACHE, com suporte para SSL. Trabalhar com o OpenSSL. Obter um certificado auto-assinado de servidor, instalá-lo, testar o funcionamento e escrever relatório.  Usar certificados OpenSSL auto-assinados.

      
1. Autenticação e controle de acesso com certificação digital
       
2. Autenticação_Web_com_certificados_digitais
       3. Cap 17 Segurança de Web (Stallings)

 



Resumos de Mensagem
HMAC e Assinaturas



 

Download Servidor Apache
HTTP Server Project

Download OpenSSL 1.0.0
               (Linux)

Download OpenSSL 1.0.0
            (Windows)

OpenTLS é um projeto para substituir OpenSSL:     
OpenTLS Project


9
. Certificação Digital    (14/10/2011)
   
Instituto Nacional de Tecnologia da Informação - ITI - Governo Federal
   
Certificados ICP-Brasil               
   
Entendendo Certificação

   
SERPRO - Portal de Certificação Digital - Governo Federal
       Política de Certificação SERPRO:  Para adquirir um e-CPF ou e-CNPJ
            AC-SERPRO-ACF

                 Declaração Prática de Certificação Digital Serpro
                 
Política de Certificado Tipo A3
                 
Política de Segurança da AC Serpro-ACF

                 AC-SERPRO-SRF
                 
Declaração Prática da AC Serpro-SRF
                 
Política de Certificação Serpro-SRF para certificado A3
                 
Política de Segurança Serpro-SRF v2

   
Portal Nacional da NF Eletrônica  - MF-Governo Federal
   
   
                  OAB e Certificação Digital para Advogados
    Exemplo de uma empresa AC (Autoridade Certificadora) -
Certisign
    Exemplo de empresa AC (Autoridade Certificadora)
Bry Certificação Digital 
   
Exemplo de uma empresa AR (Autoridade Registradora): MaxxData
Infra-Estrutura de Chaves Públicas (PKI)

Assinatura Eletrônica Baseada em Certificado (ITI)

Estrutura do ICP-Brasil

Chaveiro Digital para Linux - ITI

 
 

                                              Prova 2 (04/11/2011)
 

Outros conceitos: Serviços de Segurança, Mecanismos de  Segurança.  Arquitetura de Segurança. Níveis de Segurança. Visão Geral das Técnicas de Segurança: Criptografia, Usos de Criptografia (confidencialidade, integridade, assinaturas), Certificados, Controle de Acesso, Credenciais.


Soluções da Prova 2
21/11/2011

(11/11/2011)

ECDSA- Elliptic Curve Digital Signature Algorithm DSA
(texto e aplicativo)


Algoritmo Curvas Elípticas
          (código)

Palestra 1 (11/11) - Segurança da Informação


Criptografia de Chave Pública com
Curvas Elípticas


(material em slides:
ECC + Diffie Helman)


 

Temas das Apresentações
Links e Ferramentas
Políticas de Segurança do Governo Federal - Instituto Nacional de Tecnologia da Informação - ITI / ICP
Internet Network Information Center (INTERNIC) :  http://www.internic.org
The 100 Network Security Tools   http://sectools.org/ 
Security Lists - http://seclists.org/ 
Security Focus - Several Categories: http://www.securityfocus.com/tools/category/4
Security Focus - Category: AUDITING - http://www.securityfocus.com/tools/category/1

TrTrabalhos de Pesquisa e Grupos de Alunosabalhos

Descrever sobre a Política de Segurança de sua Empresa
Padrões de Certificados e Autoridades Certificadoras
The SPKI (Simple PKI) - ver RFC 2693
Construindo aplicações Web habilitadas à segurança usando PKI
Certificados SSL / TLS
Phishing (O processo de tentar enganar um usuário a revelar dados importantes como senhas
de online banking e números de cartão de crédito.)
Linux Backtrack e suas Ferramentas para Ataque ou Segurança
Segurança em Redes sem Fio IEEE 802.11 e Ferramentas de Ataque
Perícia Computacional Forense
Protocolos na camada da aplicação para e-mail seguro: padrões OpenPGP, S/MIME :
Outros protocolos de segurança na camada de aplicação:  HTTPS, SET (Security Electronic Transactios)
e os Protocolos de Moeda Eletrônica (IKP, SEPP, STT)
Proteção de Código de Programas em Java
Criptografia Quântica 
Sistema de Segurança da Informação: Controlando os Riscos, Análise de Risco,
Auditoria de Sistema e  Política de Segurança. Livro André Campos, Visual Books, Segunda Edição.
Gestão da Segurança da Informação: Aspectos de Gestão de Risco, Integrar a Visão Técnica
com a Visão de Negócio, Mapeie a relacão dos Ativos e os Processos da Empresa, Identifique as
ameaças e os pontos vulneráveis, Priorize ações de proteção eficientes, Defina um Palno Diretor,
Proteja o Retorno sobre os Investimentos, Organize um Security Office, Subsidie a criação do
framework SGSI, Busque a conformidade com a norma ISO 17799.
Livro de Marcos Sêmula, Editora Campus & Módulo Security. Nível Intermediário, aplicado
para MBA, 12 Edição.
XML e Padrões de Segurança : XML Signature, XML Encryption,
XKMS (XML Key Management Specification), SALM (Security Assertion Markup Language),
XACML (Extensible Access Control Markup Language).
Visão da Tecnologia de Segurança Java 6
http://java.sun.com/javase/6/docs/technotes/guides/security/
Secure Electronic Form (produção e edição de formulários eletrônicos seguros)
Segurança de Documentos Eletrônicos
As Leis de Segurança :     Aspectos Jurídicos para Segurança