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

.Ementa

Curso C1- Criptografia e Segurança na Informática
(Segurança Computacional)

45 horas - pre-requisito: seleção - notas de aulas


· Noções preliminares;
· Fundamentos;
· Elementos do processo de segurança;
· Tipos básicos de protocolos para segurança;
· Técnicas criptográficas;
· Tópicos Especiais: (extras);
        Algoritmos criptográficos importantes

        Enfoques de implementação.
        Exemplos e casos de aplicações.
· Bibliografia.

C1-0 - Noções preliminares

C1-0.1 O que é Segurança?
    Percepções de riso e de proteção; Teatro e processo de segurança

C1-0.2 O que é Comunicação?
    Sinal, codificação e dados; Linguagem, confiança e informação

C1-0.3 Como se produz significados?

    Tecnologias e canais de comunicação; Computação, competências cognitivas e contextos

C1-0.4 Processo de segurança em contextos virtuais:

    Em dados, em informações, em redes, em aplicativos; Mentalidade (mindset) de segurança

C1-1 - Fundamentos

C1-1.1 Jurisdições e interesses relacionados.
    Processos normativos e seus conflitos inerentes; Safety (acidentes) vs. security (incidentes)

C1-1.2 Demandas e componentes do processo:
    Riscos e ameaças básicas; Política e gerência de segurança computacional.

C1-1.3 Tipologia de ataques a sistemas computacionais:
    Básicos, primários e subjacentes; Evolução e tipos mais frequentes.

C1-1.4 Políticas de segurança em informática:
    Análise de risco, análise custo x benefício, seleção de salvaguardas e serviços básicos.

C1-1.5 Tipologia de algoritmos criptográficos (quanto a premissas):
    O princípio de Kerkhoffs; Criptografia restrita, simétrica e assimétrica; Primitivas

C1-1.6 Criptografia pré-computacional:
    Substituições e transposições; Composições e a cifra de Vigenère; Evolução para arquitetura das redes de Feistel.

C1-1.7 Tipologia de ataques a algoritmos criptográficos:
    Criptograma conhecido, texto pleno conhecido, escolhido ou adaptativo; Canais laterais;

C1-1.8 Classificação NCSC para sistemas operacionais,
    O nível de segurança C2 e o contexto histórico da Internet

C1-1.9 Teoria da Informação aplicada à criptoloanálise:
    Entropia e distância de unicidade; Distribuição de freqüências em escritas fonéticas

.

C1-2-  Elementos do Processo de segurança 

C1-2.1 Protocolos computacionais e suas premissas:
    Protocolos arbitrados, ajuizáveis e auto-verificáveis; Confiança através de protocolos

C1-2.2 Arquitetura básica para protocolos criptográficos:
   
Estrutura básica; Esquemas básicos para distribuição de chaves; Desafios e nounces.

C1-2.3 Esquemas de envelope digital e de assinatura digital:
    Premissas de confiança, propósitos e propriedades ideais.

C1-2.4 Funções unidirecionais:
    De mistura (hash), com segredo (trapdoor), e resistentes a colisão.

C1-2.5 Ataques básicos a protocolos criptográficos:
    Replay, personificação, espelhamento e man-in-the-midle.

C1-2.6 Seqüências randômicas e pseudo-randômicas:
    Propriedades ideais e mensuráveis; Arquiteturas para geradores a aplicações específicas.


C1-3- Tipos básicos de protocolos para segurança

C1-3.1 Modelos de confiança para protocolos de segurança computacional
    Sistema fechado, rede fechada e rede aberta; Semântica de riscos bipolar e multipolar

C1-3.2 Login para controle de acesso:
    Usos de hash, salt e senhas descartáveis (protocolos S-key); Autenticação multifator

C1-3.3 Autenticação e distribuição de chaves para controle de seção:
    Com cifras simétricas: Needham & Schroeder; Kerberos, Neumann & Stubblebine; Com cifras assimétricas: DASS, Denning & Sacco, Woo & Lam.

C1-3.4 Evolução da criptografia assimétrica:
    Protocolo de derivação de chaves Diffie & Hellman; Variantes com exponenciação modular: RSA, El-Gamal, aritmética de curvas elípticas e outras codificações.

C1-3.5 Esquemas de certificação para controle de identificação:
    Validação de datas; Aposta encoberta, cara ou coroa virtual; Custódia de chaves privadas: Protocolo de Micali (criptografia “justa”); Provas de conhecimento zero: Protocolos iterativos e não iterativos; Exemplo com isomorfismo de grafos.

C1-3.6 Protocolos esotéricos:
    Transmissão e assinatura cega; Assinaturas digitais simultâneas. Eleições puramente eletrônicas com voto secreto; Moeda eletrônica.


C1-4- Técnicas Criptográficas

C1-4.1 Dimensionamento de algoritmos por custo estimado de quebra:
    Espaço de chaves por capacidade do oponente; Tipologia de senhas; ataques de dicionário, “de aniversário” e com “tabelas arco-iris”.

C1-4.2 Principais primitivas de algoritmos assimétricos:
    Exponenciação modular e logaritmo discreto. Fatoração, testes de Monte Carlo para primalidade. Heurística para geração de números primos grandes.

C1-4.3 Arquiteturas para construção de cifras:
    Cifras de bloco e cifras encadeadas; Modos de operação ECB, CBC, CFB e OCB.

C1-4.4 Elementos de arquitetura para geradores pseudo-randômicos e cifras encadeadas:
    Registradores de deslocamento retroalimentados; Polinômios primitivos módulo 2; Projeto e análise de cifras encadeadas.

C1-4.5 Elementos de escolha para cifras
    Escolha de cifras quanto à origem, destinação, implementação, transmissão, armazenamento e plataforma de implementação.


C1-5- Tópicos Especiais - Algoritmos Criptográficos Importantes (material extra)

      C1-5.1 O padrão DES para cifras de bloco
         Especificação geral do algoritmo. Criptoanálise diferencial e linear. Técnicas de robustecimento.

      C1-5.2 Outros algoritmos para cifras de bloco

        Domínio público: NewDES, GOST e Blowfish. Patenteados: Kuhfu, Khafre, IDEA. Restritos: Skipjack. RC

      C1-5.3 Critérios práticos para escolha de uma cifra de bloco.

      C1-5.4 Algoritmos para cifras encadeadas. (stream ciphers)
        Obsoletas: Cript1 (Unix) e PKZIP. (DOS, etc.) A5, SEAL, RC4

C1-5.5 Funções de Mistura (Hash).
    Por encadeamento de compressão: MD5, MD2, RIPE-MD, SHA, NAVAL, etc. Por encadeamento de cifras de bloco: Davies-Meyer, MDC, D-M intercalado,  Códigos de autenticação de mensagens (MACs). Comparação de performance.

C1-5.6 Algortmos de chave pública e assinatura digital

    Obsoletos: Knapsack e outros. Atualmente em uso: RSA, ElGamal, Rabin. Análise do RSA.
C1-6- Tópicos Especiais -  Enfoques de implementação
    C1-6.1 Padronização de protocolos de assinatura digital.
         O cenário atual. Produtos no mercado para criptografia de chave pública. Os algortimos DSA, Schorr e o padrão DSS. esquema meta-ElGamal para derivação de algoritmos de assinatura digital.

    C1-6.2 Futuro da criptografia assimétrica.
         O uso da aritmética de curvas elípticas. Restrições para a implementação de algoritmos de chave pública por curvas elípticas. Comparação entre parâmetros de segurança nos sistemas de chave pública. Computação quântica.

    C1-6.3  Esquemas para autenticação e distribuição de chaves
         Esquema Feige-Fiat-Shamir para prova de identidade. Servidores de autenticação e uso de certificados. Padrões para certificados e autoridades certificadoras na Internet.

    C1-6.4 Violabilidade de tokens
        Configurações que permitem a escuta promíscua (sniffers) Técnicas de exploração e proteção a conteúdo ativo em RAM (exploits). Vulnerabilidade dos sistemas criptográficos de livre acesso (smartcards)

    C1-6.5 Análise de risco dos sistemas em redes globaisV.
        Vantagens e vulnerabilidades do TCP/IP.  Ataque ao número sequencial TCP.  Dificuldades técnicas dos ataques à internet. Mecanismos de controle de tráfego.

    C1-6.6 Segurança para a Internet.
        Técnicas e operações de filtragem de pacotes. Exemplos de configuração de filtros de pacotes. Uso de Firewalls, Gateways e Proxies. Topologias internas para segurança. Limitações dos mecanismos de controle de tráfego.
 

C1-7- Tópicos Especiais - Exemplos de Aplicações

    C1-7.1 Especificação de protocolos criptográficos para a Internet:
       
SSL. PGP. PEM.

    C1-7.2 Comércio eletrônico
       
Pacotes de serviço para comércio eletrônico.  padrão SET (deprecado).

    C1-7.3 Autenticação e fraudes com smartcards.

    C1-7.4 Discussão de técnicas de ataque e casos de falha recentes.
 

Bibliografia

Básica (Material de referência)

REZENDE, P. A. D.: "Criptografia e Segurança na Informática" , Notas de aula em apostila, edição virtual, 1998 – 2013.

SCHNEIER, FERGUSON & KONO: “Cryptography Engineering: Design Principles and Applications”, Willey, 2010.

ANDERSON, R.: “Security Engineering”, 2nd ed., J. Willey, 2008.

STALLINGS, William. “Criptografia e Segurança de Redes: Príncipios e Práticas”, Pearson Prentice-Hall, 2008.


Complmentar

Os textos abaixo aprofundam o material abordado nos cursos.

    REZENDE, P. A. D.: “Modelos de Confiança para Segurança em Informática”. Relatório de pesquisa, edição virtual, 2008 – 2013

    GARFINKEL, S & SPAFFORD, G.: “Practical Unix & Internet Security”, O'Reilly & Associates, 3rd ed., 2003.

    SCHNEIER, B.: “Segurança.com Segredos e Mentiras sobre a proteção na vida digital” , ed., Campus, 2001.

    SCHNEIER, B.: Applied Criptography , 2nd ed, J. Willey, 2000.

    FORD, W. & BAUM, M.: Secure Eletronic Commerce, Prentice Hall, 2nd ed, 2000.

    LYNCH, D. & LUNDQUIST, L.: “Dinheiro Digital”, Ed. Campus, 1996.

    CASTANO, FUGINI, MARTELA & SAMARATI: “Database Security”, Addison Wesley Publ., 1995.

    FORD, W.: “Computer Communications Security”, Prentice Hall Publ. 1994.



Atualizada em 1708/03