Você está na página 1de 6

Universidade de São Paulo

Engenharia de Segurança
Professor Edson Moreira
Projeto CA

Diógenes Vieira Pereira nUsp: 5889602

Santiago Augusto Nunes nUsp:

Raul Negreiros nUsp:

Rafael Franco Rosa nUsp:


Especificação do Trabalho:

Buscar na internet uma Entidade Certificadora livre e escrever um par de


programas que utilizem o serviço. Poderá ser implementado a sua própria EC
(com software livre ou não).

Fornecer um diagrama mostrando o funcionamento do Serviço.

Especifique os algoritmos de hash e criptografia utilizados.

O que é necessário para o sistema estar dentro do padrão FIPS 140-2?

//Ver o q faz aqui!


gera o key store -> pega certificado -> pega chave publica - > encripta mensagem

pega o keystore -> pega chave privada -> decripta mensagem

Algoritmo de Hash utilizado:

O algoritmo de Hash utilizado foi o MD5.

O MD5 (Message-Digest algorithm 5) é um algoritmo de hash de 128 bits


unidirecional desenvolvido pela RSA Data Security, Inc., descrito na RFC 1321,
e muito utilizado por softwares com protocolo ponto-a-ponto (Peer-to-Peer) na
verificação de integridade de arquivos e logins.

Foi desenvolvido em 1991 por Ronald Rivest para suceder ao MD4 que
tinha alguns problemas de segurança. Por ser um algoritmo unidirecional, uma
hash md5 não pode ser transformada novamente no texto que lhe deu origem.
O método de verificação é, então, feito pela comparação das duas hash (uma
da mensagem original confiável e outra da mensagem recebida). O MD5
também é usado para verificar a integridade de um arquivo através, por
exemplo, do programa md5sum, que cria a hash de um arquivo.

Vulnerabilidade:

Como o MD5 faz apenas uma passagem sobre os dados, se dois prefixos
com o mesmo hash forem construídos, um sufixo comum pode ser adicionado a
ambos para tornar uma colisão mais provável. Deste modo é possível que duas
strings diferentes produzam o mesmo hash. O que não garante que a partir de
uma senha criptografada específica consiga-se a senha original, mas permite
uma possibilidade de decifrar algumas senhas a partir de um conjunto grande
de senhas criptografadas.
Algoritmo de Encriptação:

O algoritmo para encriptação RSA foi o escolhido.

RSA é um algoritmo de criptografia de dados, que deve o seu nome a


três professores do Instituto MIT (fundadores da atual empresa RSA Data
Security, Inc.), Ronald Rivest, Adi Shamir e Leonard Adleman, que inventaram
este algoritmo — até a data (2008), a mais bem sucedida implementação de
sistemas de chaves assimétricas, e fundamenta-se em teorias clássicas dos
números.

O RSA envolve um par de chaves, uma chave pública que pode ser
conhecida por todos e uma chave privada que deve ser mantida em sigilo. Toda
mensagem cifrada usando uma chave pública só pode ser decifrada usando a
respectiva chave privada. A criptografia RSA atua diretamente na internet, por
exemplo, em mensagens de emails, em compras on-line e o que você
imaginar; tudo isso é codificado e recodificado pela criptografia RSA.

Padrão X.509 para chaves publicas:

Na criptografia, X.509 é um padrão ITU-T para infra-estruturas de chaves


públicas (ICP). A X.509 especifica, entre várias outras coisas, o formato dos
certificados digitais, de tal maneira que se possa amarrar firmemente um
nome a uma chave pública, permitindo autenticação forte. Faz parte das séries
X.500 de recomendações para uma estrutura de diretório global, baseada em
nomes distintos para localização. Na ICP Brasil utilizam-se certificados no
padrão X.509 V3.

O Padrão FIPS 140-2:

O Federal Information Processing Standard (FIPS) Publicação 140-2,


FIPS PUB 140-2, é um padrão do governo dos Estados Unidos para segurança
computacional utilizados para credenciar módulos de Criptografia. O título é
Security Requirements for Cryptographic Modules. A primeira publicação foi
feita em maio de 2001 e a ultima atualização ocorreu em dezembro de 2002.

O Instituto Nacional de Padrões e Tecnologia (NIST) publicou o a Coleção


de publicações FIPS 140 para coordenar as exigências e normas para os
módulos de criptografia que, incluem componentes de hardware e software.

O FIPS 140-2 estabelece o Cryptographic Module Validation Program


(CMVP) como um esforço conjunto realizado pelo NIST e pelo Communications
Security Establishment (CSE) do governo canadense.

Os programas de segurança controlados pelo NIST e CSE focam em como


trabalhar com o governo e a indústria para estabelecer sistemas e redes mais
seguros através de um desenvolvimento, gerenciamento e promoção de
ferramentas de segurança, também técnicas, serviços e programas de apoio
para testes, avaliação e validação.

O FIPS(Federal Information Processing Standard) 140-2 define 4 níveis de segurança.

Nível 1:
Requer um módulo de criptografia. Não é necessário mecanismos de segurança física nesse nível.

Nível 2:
O nível 2 provê a implementação de segurança física, tornando possível a verificação caso alguém
tenha violado o sistema.

Nível 3:
O nível 3 provê além da verificação de tentativa de invasão, provê também a prevenção da invasão
e sistema de segurança caso ocorra a invasão.

Nível 4:
O nível 4 tenta impedir a invasão da forma mais perfeita possível, tentando proteger até mesmo de
imprevistos naturais.

Level 1: Provem o menor level de segurança. Requerimentos básicos


são especificados para um modulo de criotografia (ou seja, pelo menos um
algoritmo aprovado ou uma função de segurança aprovada deve ser usada).
Nenhum mecanismo de segurança fisica é necessária em uma segurança de
nível 1, além do requerimento básico para componentes de nível de produção.
Um exemplo de um modulo de criptografia de nivel 1 é a criptografia de
um computador pessoal.

Level 2: Melhora a segurança fisica dos mecanismos de nível 1, através


de novos requerimentos que evidencia o "tampering" incluindo os selos
"tamper-evident" que devem ser quebrados para conseguir acesso a uma
chave de criptografia e "CSPs" dentro do módulo, ou uma fechadura resistente
a arrombamento, ou portas que protegem contra a entrada de pessoas não
autorizadas.

Level 3: além dos mecanismos "tamper-evident", o level 3 tenta


prevenir que o intruso ganhe acesso ao CSP dentro do modulo de crotografia.
Seguranças fisicas necessárias no nível 3 são para ter a alta probalidade de
detectar e responder a tentativa de acesso ou modificação do modulo de
criptografia.
Os mecanismos de segurança fisica podem incluir o uso de fortes meios de
detecção e resposta que zera todos os CSPs quando lacres/portas removíveis
do módulo de criptografia são abertos.

Level 4: Provêm o nível mais alto de segurança. Neste nível, os


mecanismos de segurança física provêm um completo invólucro de proteção
cobrindo o módulo de criptografia com a intenção de detectar e responder a
todas as tentativas de acessar fisicamente o módulo.
A segurança nível 4 também protege o módulo contra uma ameaça de
segurança provinda de condições do meio ou flutuações de temperatura e
voltagem de fora do módulo.

Alguns algoritmos de encriptação aprovados:


Algoritmos reprovados: