Segurança e Auditoria de Sistemas · • Controles de ciclos - reavaliação da política de...

90
Segurança e Auditoria de Sistemas Segurança e Auditoria de Sistemas Jéfer Benedett Dörr [email protected]

Transcript of Segurança e Auditoria de Sistemas · • Controles de ciclos - reavaliação da política de...

Segurança e Auditoria de Sistemas

Segurança e Auditoria de Sistemas

Jéfer Benedett Dö[email protected]

● Noticias● Dicas segurança Redes Sociais

Conteúdo

Um exemplo básico do que temos que ter em mente quando se trata deste assunto é o seguinte: hipoteticamente, suponhamos que temos uma casa e que queremos protegê-la de intrusos, a criptografia poderia ser relacionada metaforicamente a cadeados, trancas e mecanismos fortes na porta para que crie a suposta segurança perfeita. Porém, mesmo com todos estes mecanismos, não adiantaria nada se o terreno não for bem analisado e deixássemos uma janela aberta no fundo da casa.

Existe um dilema nessa área de segurança da informação, onde podemos tratar como a versão digital da segunda lei da termodinâmica, expressa pela equação de Nemeth:

Segurança = 1 / Conveniência

Segurança Digital

Quanto maior a comodidade para o usuário, menor a segurança e vice-versa. Então, a sabedoria para equilibrar os dois lados dessa equação (segurança x conveniência)

Segurança Digital

A palavra "segurança"em português do Brasil possui dois sentidos básicos na língua inglesa:

Safety e Security

• Safety está relacionado a controle e proteção contra acidentes (Leis de Murphy).

• Security está ligado a controle e proteção contra ataques (Leis de natureza humana – H.M.D)

*H.M.D - Hipótese Metafísica de Descartes Descartes era um filósofo famoso que acreditava a hipótese da existência de um gênio maligno, que poderia enganar as pessoas acerca até mesmo de coisas que lhe parecerem evidentes.

Sendo assim, a idéia seria de que poderiam existir pessoas com gênio maligno para enganare ludibriar os mais diversos sistemas de informação, sem que as pessoas percebessem.

Segurança Digital

A seguir, estudaremos tendo em mente a idéia de "security"ao invés de "safety".

Desafios básicos para a proteção:

Desafio 1 - Padronizar mecanismos e protocolosCada localidade é relacionado ao alvo de proteção de cada ambiente. Podemos citar:• Instituições Financeiras: Transações Eletrônicas• Grandes Corporações: Gerência e Comércio Eletrônico• Telecomunicações: Provimento de Serviços• Comunidades: Internet e Redes Locais• Governo: Administração, Militar e Espionagem

Segurança Digital

Desafio 2 - Normas do ambienteSegurança do tipo:• Alta e Restrita: Governos e Organizações Militares• Sensível: Comércio, Indústria e Comunidades• Virtual Interna: Sistemas Operacionais e Bancos de Dados• Virtual Externa: Redes de Computadores e Telecomunicações

Segurança Digital

Basicamente podemos citar quatro tipos de demandas básicas para qualquer mecanismo deproteção. A tabela a seguir está listada o tipo de mecanismo de proteção, a ameaça básica paraeste tipo de proteção e qual a má fé que poderia acontecer para o sistema.

Segurança Digital

Privacidade ou Sigilo:

algumas vezes queremos proteger algum documento confidencial no qual o remetente e o destinatário são os únicos que serão permitidos a visualização deste mesmodocumento. A ameaça neste tipo de proteção seria um vazamento do documento(senha dobanco) ou desvalorização (número de um sorteio) e a quebra do sistema protegido se dá pormeio da leitura dos dados confidenciais.

Segurança Digital

Integridade:

o envio de alguma informação pelos meios de comunicação, exige que a mesma chegue ao destinatário contendo o mesmo valor do remetente. Durante a transmissão, alguns fatos como fraude, adulteração ou perda dos dados poderiam ocorrer e a ação direta relacionada a estes fatos, seria a escrita sobre as informações.

Segurança Digital

Legitimidade:

como poderíamos, pelos meios de comunicação virtual, saber se alguma informação enviada seria realmente de quem pensamos ser? A ameaça principal seria alguém se apossar de seus dados e agir de má fé se identificando como o possuidor verdadeiro da informação. Logo, existe uma relação direta entre a personificação e uma posterior execução de ações(ex.: compra virtual por número de cartão de crédito).

Segurança Digital

Disponibilidade:

para algumas empresas, é muito importante a disponibilidade de seus serviços pois qualquer queda no sistema acarretará em prejuízos. Uma ameaça a estes serviços seria o bloqueio indevido destes serviços muita vezes pela não execução correta do sistema.

Segurança Digital

Principais Componentes de um Processo de Proteção

Política de Segurança de Dados

1. Planejamento - Avaliar e analisar os riscos e custos.

2. Especificação para implementar serviços e salvaguardas.

3. Atribuição documentada de autorização e responsabilidades.

Segurança Digital

políticas de Segurança de Dados será mostrado:

• Quais recursos e ativos em bits devem ser protegidos?• De quem (securityu) e de que(safety) se quer protegê-los?• Qual a chance/probabilidade de acidentes, ameaças e trapaças?• Como medir o valor dos ativos em bits e recursos?• Quais ações podem protegê-los com custo/benefício aceitável?• Que planos de contigência, reavaliação, terceirização, etc. decorrem?

Segurança Digital

Podemos citar algumas salvaguardas nãocomputacionais abaixo:

• Segurança física - controle de acesso físico, blindagem, etc...• Segurança funcional - recrutamento, treinamento, motivação.• Segurança administrativa - auditoria, fiscalização, contigência.• Segurança na mídia - backup, destruição de material, etc...• Radiação ou Engenharia Reversa - blindagem no encapsulamento.• Controles de ciclos - reavaliação da política de segurança.

Segurança Digital

Controle e Auditoria

• Monitoramento - gerenciadores (rede, backup) logs, IDS, etc...• Rastreamento - vacinas, firewalls, wrappers, proxies, etc...•Avaliação - análise estatística, relatórios, revisão de políticas de estratégias,etc...

Segurança Digital

Serviços Básicos de Segurança Computacional• Controle de Acesso - Identificação e Autorização para legitimidade

Segurança Digital

Serviços Básicos de Segurança ComputacionalCifragem - Codificação para Sigilo

Segurança Digital

Serviços Básicos de Segurança Computacional

Autenticação - Validação de Origem ou IntegridadeCertificação - Autenticação Recursiva com Verificação Aberta para integridade

Segurança Digital

Tipos de Ataques Computacionais

Ataques primários por penetração

• Personificação: o atacante invade pelo perímetro de login, onde o sistema considera oinvasor como alguém cadastrado no sistema.• Desvio de Controle: exploração de falhas de segurança permitem que o controle dele sejadesviado para outras pessoas.• Violação de Autoridade: uso indevido de privilégios devido a falhas no sistema.

Segurança Digital

Tipos de Ataques Computacionais

Ataques primários por implantação

• Gancho(backdoor): uso de recurso não documentado.• Infecção: exploit, virus, vermes.• Embuste: programa trojan, spoofing(falsificação do remetente).

Segurança Digital

Segurança Digital

Tipos de Ataques Computacionais

Ataques primários por implantação

• Gancho(backdoor): uso de recurso não documentado.• Infecção: exploit, virus, vermes.• Embuste: programa trojan, spoofing(falsificação do remetente).

Segurança Digital

Histio precisava contactar seu superior secretamente, o tirano Aristágoras de Mileto.

Para isso, chamou um escravo a quem confiava, raspou sua cabeça, desenhou uma mensagem e o mandou ao encontro de Aristágoras.

Durante a longa viagem os cabelos do escravo cresciam permitindo que a mensagem estivesse devidamente escondida.

Essa história remonta ao século V a.c. onde o escravo recebera a instrução de raspar novamente sua cabeça perante Aristágoras para que este pudesse ler a mensagem secreta.

Talvez seja o primeiro uso conhecido da técnica de esteganografia.

A Arte de Esconder

Esteganografia é o estudo e uso de técnicas para ocultar a existência de uma mensagem dentro de outra.

Ao contrário da criptografia, que procura esconder a informação da mensagem, a esteganografia procura esconder a existência da mensagem.

Esteganografia

esteganografia

A palavra esteganografia é derivado do grego palavras "steganos" e "graphein", que significa "coberto" e "por escrito". Esteganografia, portanto, é coberto por escrito.

Stenganography históricos envolvidos técnicas como a tinta desaparecer ou microdots. Esteganografia moderna envolve escondendo dados em arquivos do computador.

Os nazistas já a usavam, para enviar mensagens espremidas no espaço de uma cabeça de alfinete.

Dizem que a Fujitsu tem uma tecnologia que coloca um número de série em cada página impressa por seus equipamentos: uma marca d'água digital. Esteganografia.

Esteganografia

DIA À DIA

A esteganografia está presente em nossas vidas mais do que possamos imaginar.

Pegue qualquer cédula monetária em sua carteira ou mesmo um documento de identificação e poderá verificar que existem inúmeras mensagens escondidas.

Muitas destas mensagens só poderão ser vistas a olho nu com auxílio de equipamentos, lentes, reagentes químicos, ou fotorreagentes.

Esteganografia

DIA À DIA

A esteganografia está presente em nossas vidas mais do que possamos imaginar.

Pegue qualquer cédula monetária em sua carteira ou mesmo um documento de identificação e poderá verificar que existem inúmeras mensagens escondidas.

Muitas destas mensagens só poderão ser vistas a olho nu com auxílio de equipamentos, lentes, reagentes químicos, ou fotorreagentes.

Esteganografia

Com o crescimento do terrorismo no mundo, especialistas acreditam que muitas mensagens trafegadas pela web podem esconder informações com planos de atentados e outras mensagens de cunho criminoso.

A esteganografia pode ser usada também em textos, áudio, vídeo e até em pacotes TCP/IP. Softwares de detecção de mensagens ocultas incluem o Stegdetect e o Stego Watch da WetStone Technologies.

Esteganografia

Para iniciar uma perícia, temos que inicialmente separar as que acho necessárias para isso. Ferramenta de busca de evidências - neste caso utilizaremos o EnCase Forensic, da Guidance software, mas poderíamos utilizar o FTK 2.0, da Access Data, e logo mais utilizaremos para verificação esteganográfica o StegoSuite, da Wetstone. Mais à frente será apresentada uma ferramenta para LTU ImageSeeker, utilizada para a busca e comparação, via Hash, de imagens, muito utilizada na prevenção contra crimes de pedofilia na internet.

Esteganografia

Encase Forensic v6 - Perícia de mídias digitais

O Encase é a ferramenta padrão no mercado mundial de computação forense. Com seu altíssimo poder de análise, uma excelente interface gráfica e poderosa engenharia de processamento de scripts de código aberto, o investigador tem a seu alcance uma ferramenta para conduzir as mais complexas investigações do começo ao fim. Suporta discos formatados por múltiplas plataformas - Windows, Linux, AIX, OS X, Solaris e outras com "file systems" FAT12/16/32, NTFS, EXT2/3 (Linux), Reiser (Linux), UFS (Sun Solaris), AIX Journaling File System (JFS and jfs) LVM8, FFS (OpenBSD, NetBSD e FreeBSD), Palm, HFS, HFS+ (Macintosh), CDFS, ISO 9660, UDF, DVD, TiVo® 1 e TiVo 2.

Esteganografia

Ultimate Toolkit - UTK

Ultimate Toolkit contém várias ferramentas necessárias para investigação e perícia de computadores e outras evidências digitais. Dentre as principais destacamos: Forensic Toolkit, Registry Viewer, Password Recovery Toolkit e DNA.Stego Suite(TM) ImageSeeker

Stego Watch(TM) - Detecção de Esteganografia em imagens ou arquivos de audio diretamente no arquivo de sistema, em HD´s capturados ou pela internet.Stego Analyst(TM) - Análise detalhada para afunilamento da busca em arquivos altamente supeitos.

Stego Break(TM) - Ataques de dicionário e força bruta contra algoritmos conhecidos de esteganografia.

Esteganografia

LTU - Image Seeker for Encase

O processamento de imagens integrado aos sistemas de investigação mais avançados do mundo. O resultado dessa combinação é o enorme aumento de produtividade e expansão dos limites humanos quando o processamento de grandes quantidades de imagens é necessário.

Esteganografia

Com o crescimento do terrorismo no mundo, especialistas acreditam que muitas mensagens trafegadas pela web podem esconder informações com planos de atentados e outras mensagens de cunho criminoso.

A esteganografia pode ser usada também em textos, áudio, vídeo e até em pacotes TCP/IP. Softwares de detecção de mensagens ocultas incluem o Stegdetect e o Stego Watch da WetStone Technologies.

Esteganografia

Criptografia é uma especialização da matemática e engenharia que oferece técnicas de proteção a mecanismos de acesso e a integridade de dados, e também de ferramentas para avaliação da eficácia dessas técnicas.

conceitos, técnicas eprocedimentos integrados em sistemas de informação que queiram ser protegidos.

CRIPTOGRAFIA

mensagem cifrada é o resultado de uma aplicaçãode um algoritmo (regra de embaralhamento), associado a uma chave específica (que podem serde igual e de fácil dedução ou diferentes, para o remente e destinatário)

Na prática, qualquer mensagem cifrada é o resultado da aplicação de um SISTEMA GERAL (ou algoritmo), que é invariável, associado a uma CHAVE ESPECÍFICA, que pode ser variável.

É óbvio que tanto o remetente quanto o destinatário precisam conhecer o sistema e a chave.

CRIPTOGRAFIA

Fundamentos

Remetente/DestinatárioSuponha que uma pessoa queira enviar uma mensagem especial a um destino, mas queiraque a mensagem seja segura.Ela quer que ninguém possa "bisbilhotar"o conteúdo da mensagem.

Texto Pleno/Mensagem CifradaAs palavras, caracteres ou bits da mensagem original constituem o Texto Pleno ou Mensagem Clara. Vamos denotar esse componente como (M). As palavras ou letras da mensagem cifrada são chamadas de Texto Cifrado,Mensagem Cifrada ou Criptograma (C).

CRIPTOGRAFIA

Podemos formalizar uma fórmula matemática para a função de composição de cifra, que serádenotada como E, ela utiliza o texto pleno M para produzir a cifra C:E(M) = C

O processo contrário seria uma função decifração D na qual irá utilizar a cifra C com argumento de entrada e produzirá de volta o texto pleno M:D(C) = M

Logo, podemos verificar como verdadeiro a função abaixo:D(E(M)) = M

A qual seria a formalização matemática de todo o processo de composição de cifra e decifração.

CRIPTOGRAFIA

outros serviços que necessitam de criptografia são:

• Autenticação: Deve ser possível o receptor da mensagem saber que o remetente é quem ele mesmo diz ser.

• Integridade: O receptor da mensagem deve confiar que a mensagem não foi adulterada no meio do meio do caminho.

• Não Repúdio: Quem enviou a mensagem não deve poder negar que a mensagem enviadapor ele não foi dele.

CRIPTOGRAFIA

podemos dizer que qualquer mensagem cifrada é o resultado de uma aplicaçãode um algoritmo (regra de embaralhamento), associado a uma chave específica (que podem serde igual e de fácil dedução ou diferentes, para o remetente e destinatário).

CRIPTOGRAFIA

Chaves Simétricas e Assimétricas

Chaves SimétricasQuando as chaves para a cifragem e decifragem das informações são iguais ou de fácil dedução, podemos colocá-las na categoria de "Chaves Simétricas". Isso requer que o remetente/destinatário concordem com uma chave comum para poderem se comunicar de modo seguro. Logo, podemos concluir que a segurança de um sistema baseado em algoritmo simétrico,está baseado na chave. Se a chave for divulgada, qualquer pessoa poderá ler a mensagem cifrada. Para manter as informações secretas, a chave deve se manter secreta.

CRIPTOGRAFIA

Chaves Assimétricas

Chaves Assimétricas foram criadas com a idéia de que a chaveusada para cifragem deve ser diferente da usada para decifragem. Além disso, pela chave de decifragem, não teria como conseguir achar a chave de cifragem (Pelo menos em um tempo bemlongo. Isso será explicado melhor adiante).

O sistema baseado em Chave Assimétrica é chamado de Algoritmos de Chave Pública, pois a chave de cifragem pode ser deixada em público e somente o possuidor da chave de decifragem poderá ler o conteúdo da mensagem. A chave de cifragem é geralmente chamado de Chave-Pública e a chave de decifragem de Chave-Privada

CRIPTOGRAFIA

Tipos de Cifras

A criptografia em tempos remotos, antes do surgimento decomputadores, utilizava apenascaracteres.

Diferentes algoritmos utilizavam técnicas de substituição de um carácter a outro, e/ouentão, faziam a transposição de um carácter com outro. Literalmente era uma sopa de letrinhas misturadas.

CRIPTOGRAFIA

Tipos de CifrasCifras de Substituição

abordagem principal dessas cifras é a substituição de cada carácter do texto pleno por outroda cifra. Para voltar ao texto original, o receptor inverte a substituição do carácter na cifra para o texto pleno

Cifras Monoalfabéticas - é conhecida também como substituição simples, substitui-se cadaum dos caracteres do texto original por outro, de acordo com uma pré-estabelecida, para se obter o texto cifrado

Alfabeto normal: abcdefghijklmnopqrstuvwxyzAlfabeto para a cifragem: PORTUGALBCDEFHIJKMNQSVWXYZAssim, a mensagemFujam todos depressa! Fomos descobertos!é cifrada paraGSCPF QITIN TUJMUNNP! GIFIN TUNRIOUMQIN!

CRIPTOGRAFIA

Tipos de CifrasCifras de Substituição

abordagem principal dessas cifras é a substituição de cada carácter do texto pleno por outroda cifra. Para voltar ao texto original, o receptor inverte a substituição do carácter na cifra para o texto pleno

Cifras Monoalfabéticas - é conhecida também como substituição simples, substitui-se cadaum dos caracteres do texto original por outro, de acordo com uma pré-estabelecida, para se obter o texto cifrado

Alfabeto normal: abcdefghijklmnopqrstuvwxyzAlfabeto para a cifragem: PORTUGALBCDEFHIJKMNQSVWXYZAssim, a mensagemFujam todos depressa! Fomos descobertos!é cifrada paraGSCPF QITIN TUJMUNNP! GIFIN TUNRIOUMQIN!

CRIPTOGRAFIA

Tipos de CifrasCifras de Substituição

Um exemplo famoso deste tipo de cifra é a Cifra de Caesar, na qual cada texto original é substituído por outro carácter na direita modulo 26 ("A"é substituído por "D", "B"é substituído por "E",... , "X"é substituído por "A- o modulo 26 significa que se chegar na letra de posição 26, retornar para o começo do alfabeto).

CRIPTOGRAFIA

Tipos de CifrasCifras Homofônicas tem o funcionamento semelhante ao anterior, exceto a parte na qual cada carácter do texto original pode ser mapeado em vários caracteres da cifra.

Exemplo,"X"poderia corresponder a 20, 25 e 55. "Y"poderia corresponder a 9,13, 30 e 45, etc...Alfabeto normal: a b c d e f g h i j k l m n o p q r s t u v w x y zAlfabeto para a cifragem:8 F H G 3 l 1 L E I w o M X 6 Q P b V 9 a Z S D j rz - k m x n B u 0 - - O A v 5 p - R y f 4 g - - - -K - s N q - - - J - - a c - 2 - - T e Y h - - - - -7 - - - t - - - - - - - - - W - - C - - - - - - - -i - - - - - - - - - - - - - d - - - - - - - - - - -

CRIPTOGRAFIA

Tipos de Cifras

Cada letra do alfabeto normal é substituída por uma das que lhe correspondem:

Assim, a Mensagem:Fujam todos depressa! Fomos descobertos!

poderia, por exemplo, ser cifrada para:l4IiA 9WNdy GqpCxyVz! n2M5V GxeHdF3Rf2e!

que tomaria, em blocos de cinco letras, o aspecto algo incompreensível de:l4IiA 9WNdy GqpCx yVzn2 M5VGx eHdF3 Rf2e

CRIPTOGRAFIA

Tipos de Cifras

Cifras de substituição de poligramas - nesse caso, os blocos de caracteres são cifrados em grupo. Por exemplo, "KXK"pode corresponder a "LOP", "KYK"pode corresponder a "LPL", etc.

Cifras de substituição polialfabética - composto de múltiplas substituições simples ao longo do texto e também múltiplos alfabetos são usados. A idéia é substituir cada letra do alfabeto por outro e repetir este procedimento várias vezes.

CRIPTOGRAFIA

Tipos de Cifras

Por exemplo, supondo que se quer encriptar o texto:

ATACARBASESUL ("atacar base Sul")

Escolhendo a chave e repetindo-a até ter o comprimento do texto a cifrar, por exemplo, se a chave for"LIMAO":

LIMAOLIMAOLIM

A primeira letra do texto, A, é cifrada usando o alfabeto na linha L

CRIPTOGRAFIA

Tipos de Cifras

Cifras de Transposição

O funcionamento deste tipo de cifra faz com que os caracteres do texto original sejam misturados, mas que os caracteres mantém os mesmos.

Em mensagens curtas, como no caso de uma única palavra, este método não é seguro porque existem poucas maneiras de variar a distribuição das letras. Por exemplo, uma palavra de três letras só pode assumir 6 formas diferentes (fatorial de 3 é 6, ou 3!=6). Desta forma, a palavraSOL só pode adquirir as seguintes formas: sol, slo, osl, ols, lso e los.

CRIPTOGRAFIA

Tipos de Cifras

Cifras de Transposição

Uma transposição aleatória parece oferecer um alto nível de segurança, mas há um inconveniente.

Os sistemas de transposição, usados isoladamente, possuem um grau de segurança muito baixo, mas podem ser muito úteis quando utilizados em combinação com outros sistemas (a chamada sobrecifragem ou recifragem)

CRIPTOGRAFIA

Tipos de CifrasCifras de Transposição

Exemplos: Cifra das colunas, o texto a cifrar é escrito por colunas, com passagem para a coluna seguinte sempre que se atingir o número máximo de linhas. A mensagem é então escrita ou transmitida por linhas. Por exemplo, se houver 3 "linhas"a mensagem FUJAM TODOS. FOMOS DESCOBERTOS é escrita numa grelha como:

F A O S M D C E O PU M D F O E O R S DJ T O O S S B T X Q

As letras no final servem para confundir o criptanalista ou obter um número já fixado de caracteres na mensagem. Esta fica assim:

FAOSM DCEOP UMDFO EORSD JTOOS SBTXQ

CRIPTOGRAFIA

Tipos de CifrasCifras de Transposição

Transposição de Colunas: consiste na escrita de uma chave como cabeçalho da grelha, seguida da mensagem escrita por linhas - sendo a última eventualmente completa por caracteres sem significado. Depois, a mensagem é escrita (ou transmitida) por colunas, por ordem alfabé-tica das letras no cabeçalho. Por exemplo, se a chave for ZEBRAS, e a mensagem for VAMOS EMBORA, FOMOS DESCOBERTOS, começa-se por obter a grelha:

Z E B R A S

CRIPTOGRAFIA

Tipos de CifrasCifras de Transposição

Seedutiuitqãethasonasogecanaeprtorasap

Ler-se-ia como:SADEE MOOOS ABMCO ORSBJ EFERU VMOST

Para a decifrar, o destinatário tem apenas que dividir o comprimento da mensagem (30) pelo da chave (6), e ler as colunas pela ordem das letras da chave.

Apesar de muitos sistemas utilizarem transposição, o grande problema desta técnica é o usobastante da memória e as vezes necessitam de que as mensagens sejam de um tamanho fixo.

CRIPTOGRAFIA

Protocolo não arbitrado (executado sempre):1. Fred e Ana negociam os termos de contrato.2. Ana assina o contrato.3. Fred assina o contrato.

Protocolo ajuizável (executado apenas em caso de disputa):1. Fred e Ana aparecem antes do juiz.2. Fred apresenta seus termos.3. Ana apresenta seus termos.4. O juiz determina as regras em cima dos termos.

PROTOCOLO

Protocolo para Sigilo na Comunicação em Rede

Estrutura Básica de Protocolos Criptográficos

DES - Data Encryption StandardÉ um algoritmo de encriptação muito utilizado em criptografia.

Foi criado por J.Orlin Grade e éum dos algoritmos mais utilizados no mundo.

É um algoritmo rápido mas pouco seguro e existem variantes desse algoritmo como o NewDES e o 3DES.

Algoritmo DES

Com o poder computacional atual, este algoritmo já não é mais considerado seguro, pois évulnerável a ataques de força bruta.

Eff DES Cracker Levou 3 dias para quebrar o algoritimo DES Challenge II

em Janeiro de 1999 quebrou o DES Challenge III em 22 horas usando milhares de computadores espalhados pelomundo.

Em 19 de maio de 2005, foi desaprovado seu uso pelo Governo Americano.

Algoritmo DES

Por exemplo,

se tomarmos a mensagem clara "8787878787878787"e a encriptarmos com a chave DES "0E329232EA6D0D73",

obteremos o texto cifrado "0000000000000000".

Se o texto cifrado for decifrado com a mesma chave secreta DES "0E329232EA6D0D73",

o resultado é otexto claro original "8787878787878787"

Algoritmo DES

Por exemplo, considere a seguinte mensagem: "Criptologia sempre Numa Boa". Esta mensa-gem clara possui 28 bytes (56 dígitos hexadecimais) de comprimento. Neste caso, para encriptara mensagem, seu comprimento precisa ser ajustado com a adição de alguns bytes extras no final.Depois de decifrar a mensagem, estes bytes extras são descartados. É lógico que existem váriosesquemas diferentes para adicionar bytes. Aqui nós iremos adicionar apenas zeros no final demodo que a mensagem total seja um múltiplo de 8 bytes (ou 16 dígitos hexadecimais, ou 64 bits).

Algoritmo DES

O texto claro "Criptologia sempre Numa Boa"é, em hexadecimal,43 72 69 70 74 6F 6C 6F67 69 61 20 73 65 6D 7072 65 20 4E 75 6D 61 426F 61 0D 0A

Se cifrarmos agora a mensagem clara em blocos de 64 bits (16 dígitos hexadecimais), usandoa mesma chave DES "0E329232EA6D0D73", obtemos o seguinte texto cifrado:9B 79 70 61 C1 12 1E C628 A2 65 05 91 17 7D 3651 FB 97 E9 00 78 7D B479 F2 A0 29 CE 58 D6 F4

Algoritmo DES

RSA - Ron Rivest, Adi Shamir e Len Adleman

Até 2005 este foi o algoritmo mais sucedido na implementação de sistemas de chaves assimétricas e está baseado todo na áreade estudo da matemática chamada de Teoria Clássica dos Números.

Ela é considerada um dos mais seguros com os inúmeros testes já feitos.

RSA baseia-se em dois fatos: encontrar números primos de grandes dimensões (p.e. 100 dígitos) ser computacionalmente fácil mas, conseguir fatorar o produto de tais dois números éconsiderado computacionalmente quase impossível (o tempo estimado para o conseguir é na casa dos milhares de anos)

Algoritmo RSA

Você pode acessar outras máquinas via SSH sem senha utilizando chaves pública/privada. Na máquina de onde partirá o acesso execute o comando abaixo para criar as chaves, lembre-se de deixa o passphrase em branco, esse é o segredo.

$ ssh-keygen -b 1024 -t rsa

Onde -b indica o tamanho em bits e -t o tipo da chave. A chave por padrão é armazenada em ~/.ssh com os nomes id_rsa para chave privada e id_rsa.pub para chave pública. Copie a chave pública para o servidor que você deseja conectar-se, depois adicione o seu conteúdo no arquivo authorized_keys em ~/.ssh.

$ scp ~/.ssh/id_rsa.pub USER@SERVIDOR:id_rsa.pub$ ssh SERVIDOR$ cat id_rsa.pub >> .ssh/authorized_keys

SSH sem senha através de chave pública/privada

$ sudo apt-get install gnupgApós instalar o gnupg, execute o comando gpg para criar o diretório ~/.gnupg, que armazenará as chaves pública e privada.

$ gpg

4. Gerando suas chaves gnupgMas antes, algumas informações devem ser levadas em consideração:

4.1. A chave criptográfica - Selecione DSA e ELGamal (default), a não ser que tenha necessidades específicas.4.2. O tamanho da chave - 1024 bits traz uma boa combinação de proteção/velocidade, mas você pode ter também uma chave de 2048 bits. 4.3. A validade da chave - 0 a chave não expira. Um número positivo tem o valor de dias, que pode ser seguido das letras w (semanas), m (meses) ou y (anos). A minha por exemplo, é valida por "5y".** Após o prazo definido, a chave será considerada inválida.

Instalando o gnuPG e gerando seu par de chaves

4.4. O nome de usuário - Nome para identificar a chave

4.5. O e-mail - E-mail do dono da chave

4.6. O comentário - Uma descrição sobre a chave do usuário.

4.7. A confirmação - Tecle "O" para confirmar os dados ou uma das outras letras para modificar os dados de sua chave.

4.8. A "Frase Senha" - Senha que irá identificá-lo(a) como proprietário da chave privada. É chamada de "Frase Senha" pois pode conter espaços e não há limite de caracteres. Para alterá-la posteriormente.

4.9. E a confirmação, aguarde a geração da chave pública/privada.

Instalando o gnuPG e gerando seu par de chaves

$ gpg --gen-key

Please select what kind of key you want:

(1) DSA and ElGamal (default)(2) DSA (sign only)(4) ElGamal (sign and encrypt)Your selection? 1 <enter>

5. Selecione o tamanho de sua chave: 2048 ( sugestão)

DSA keypair will have 1024 bits.About to generate a new ELG-E keypair.minimum keysize is 768 bitsdefault keysize is 1024 bitshighest suggested keysize is 2048 bits

Vamos então ver como isso funciona na prática

What keysize do you want? (1024) 2048 <enter>Do you really need such a large keysize? yes <enter>

5a. Configure a validade de sua chave: 5 anos é um bom tempo.

Requested keysize is 2048 bitsPlease specify how long the key should be valid.0 = key does not expire<n> = key expires in n days<n>w = key expires in n weeks<n>m = key expires in n months<n>y = key expires in n yearsKey is valid for? (0) 5y <enter>Key expires at Sat Dec 03 16:17:15 2010 EDT

Is this correct (y/n)? y <enter>

Vamos então ver como isso funciona na prática

5b. Entre com seu endereço(s) de e-mail...

Real name: Novo Usuário <enter>Email address: [MAILTO] [email protected] <enter>Comment: "meu primeiro par de chaves =D"

You selected this USER-ID:"Novo Usuário <[MAILTO] [email protected]>"

Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O

Pronto!! Sua chave será gerada nesse momento!

Vamos então ver como isso funciona na prática

Servidor de chaves públicas PGP do CAIS/RNP

O servidor de chaves PGP (Pretty Good Privacy) implementado pelo Centro de Atendimento a Incidentes de Segurança da RNP (CAIS) é o primeiro da América Latina com conexão para a rede mundial de servidores deste gênero. Um servidor de chaves consiste em um software especial capaz de cadastrar, buscar e excluir chaves públicas de usuários em qualquer parte do mundo.

O uso de chaves públicas assegura a integridade e a confidencialidade de mensagens sigilosas, por meio de criptografia. Isso garante que apenas o destinatário tenha acesso ao conteúdo da mensagem. O software PGP também permite a autenticação de mensagens não criptografadas, através de assinatura digital. Neste caso, o destinatário pode verificar a autenticidade do remetente.

gpg --keyserver keyserver.cais.rnp.br --send-keys keyid

KEYSERVER

6. Enviando sua chave para um keyserver:

$ gpg --keyserver <keyserver> --send-key [sua_chave]

Talvez, seja mostrada uma mensagem de sucesso com esta:

gpg: success sending to `<keyserver>' (status=200)

**No final desse howto, estará disponível uma lista pública de keyservers

Enviando sua chave para um keyserver e fazendo alterações

7. Modifique sua chave se você quiser. Por exemplo, se você tem múltiplos e-mails e deseja inseri-los na sua chave, execute os seguintes passos:$ gpg --list-secret-keys

/home/demo/.gnupg/secring.gpg---------------------------------------------sec 1024D/C01BAFC3 2000-09-21 Novo Usuário <[MAILTO] [email protected]>ssb 2048g/7A4087F3 2000-09-21

$ gpg --edit-key C01BAFC3$ gpg --edit-key [user-id]

Command> adduidCommand> save

Feito isso, execute novamente o passo 6 para enviar sua chave atualizada para o keyserver.

Enviando sua chave para um keyserver e fazendo alterações

8. Assinando arquivos

Assinar um arquivo é garantir que você é a pessoa que realmente enviou aquele arquivo. Use a opção -s para assinar arquivos usando sua chave privada:

$ gpg -s arquivo.txt

A "Frase Senha" será pedida para assinar os dados usando sua chave privada. Será gerado um arquivo arquivo.txt.gpg (assinado e compactado). Adicionalmente a opção --clearsign poderá ser usada para fazer uma assinatura em um texto plano, este é um recurso muito usado por programas de e-mails com suporte ao gpg:

$ gpg -s --clearsign arquivo.txt

Será criado um arquivo chamado arquivo.txt.asc contendo o arquivo assinado e sem compactação.

Assinando arquivos e extraindo sua chave pública do chaveiro

9. Extraindo sua chave pública do chaveiro

Sua chave pública deve ser distribuída a outros usuários para que possam enviar dados criptografados ou checar a autenticidade de seus arquivos. Para exportar sua chave pública em um arquivo que será distribuído a outras pessoas ou servidores de chaves na Internet, use a opção --export:

$ gpg --export -a usuário >chave-pub.txt

Ao invés do nome do usuário, poderá ser usado seu e-mail, ID da chave, etc. A opção -a permite que os dados sejam gerados usando bits ASCII 7.

Assinando arquivos e extraindo sua chave pública do chaveiro

10. Mudando sua "Frase Senha"

Execute o comando "gpg --edit-key [usuário]", quando o programa entrar em modo de comandos, digite "passwd". Será lhe pedida a "Frase Senha" atual e a nova "Frase Senha". Digite "save" para sair e salvar as alterações ou "quit" para sair e abandonar o que foi feito.

$ gpg --edit-key [usuário]

Command> passwdCommand> save

O "gpg --edit-key" permite gerenciar diversos aspectos de suas chaves, é interessante explorá-lo digitando "?" ou "help" para exibir todas as opções disponíveis.

Finalmente! Agora você poderá assinar a chave de pessoas que você conhece e também participar de keysigning party, =)

Mudando sua "Frase Senha" e escolhendo seu keyserver.

1. Lista pública de key servers

1.CryptNET Keyserver Network gnv.keyserver.cryptnet.net 2.pgp.net wwwkeys.us.pgp.net wwwkeys.nl.pgp.net wwwkeys.ch.pgp.net wwwkeys.uk.pgp.net wwwkeys.cz.pgp.net wwwkeys.de.pgp.net wwwkeys.dk.pgp.net wwwkeys.es.pgp.net

Mudando sua "Frase Senha" e escolhendo seu keyserver.

3.www.keyserver.net Network search.keyserver.net seattle.keyserver.net germany.keyserver.net belgium.keyserver.net finland.keyserver.net thailand.keyserver.net 4.pgp.mit.edu 5.pgp.cc.gatech.edu 6.pgp.es.net 7.pgp.rediris.es 8.pgp.uk.demon.net 9.pgp.uni-mainz.de pgp.nic.ad.jp ds.carnet.hr

Visão Geral do SeaHorseO Seahorse um ótimo software para manipular graficamente todas as suas chaves digitais, ele é integrado com o nautilus, gedit e outros softwares para fazer operações de cifragem.

Este software permite:

• Criar e Manipular Chaves PGP;

• Criar e Manipular Chaves SSH;

• Publicar e Obter Chaves de um Servidor;

• Fazer Backup de Suas Chaves e seu Chaveiro.

Instalação do SeahorseObtenha permissão de root;

• su <enter>

• <senha>

Agora Digite:

• apt-get install seahorse

E estará tudo pronto para o uso!

Utilização do SearHorseCom o Seahorse instalado, vamos abrí-lo indo em :Aplicações > Acessórios > Passwords and Encryption Keys.

Vamos agora criar nosso par de chaves. Clique em:Chaves > Create New Key e escolha a opção “PGP Key”.Clique em “Continue” e preencha os dados com seu nome completo, endereço de e-mail e um comentário qualquer (pode ser uma frase que você goste no comentário, por exemplo.

O preenchimento deste campo é opcional).

Utilização do SearHorseSe desejar, clique em cima da opção “Advanced Options” para mudar o tipo de encriptação e a quantidade de bits. Para um computador de uso pessoal, as opções padrão (DSA 2048) são mais que suficientes.

Selecione também uma data para sua chave expirar caso queira, ou deixe selecionada a opção “Never Expires” para que a chave seja eterna (você pode mudar estes dados depois se quiser,e pode cancelar sua chave caso seja comprometida).

Em seguida você será solicitado para digitar uma senha. Escolha uma senha bem difícil mas de fácil memorização por você, ou, se preferir, deixe em branco (eu não recomendo) para usar sua chave privada sem senha.

Utilização do SearHorse

Utilização do SearHorseApós algum tempo, sua chave estará criada e aparecerá na janela principal do Seahorse.Agora você poderá dar um duplo clique sobre sua chave e alterar seus dados, se desejar.Aproveite para anexar uma foto sua e adicionar todos os seus outros endereços de e-mail.Quando terminar, clique em “Remote > Sync and Publish Keys” para que os dados sejam envia-dos para o servidor online de chaves. Agora vamos aprender a usar melhor o Seahorse!Em primeiro lugar, vamos iniciar o daemon do Seahorse. Este daemon deverá ficar rodandono plano de fundo o tempo todo, portanto pressione “Alt + F2” e entre com o comando “seahorse-daemon” (sem as aspas)

Utilização do SearHorseAgora vamos configurar para que o Gnome inicie o daemon automaticamente no login indo em:

Sistema > Preferências > SessõesVá na aba “Programas Iniciais” e clique em “Adicionar”. Entre com o comando “seahorse-daemon” (sem aspas) novamente e clique em Ok. E pronto!

Agora, com o daemon rodando, quando quiser assinar um arquivo qualquer, basta clicar como botão direito sobre ele, conforme podemos ver abaixo:

Utilização do SearHorse

Utilização do SearHorseVocê ainda poderá escolher a opção “Criptografar” e escolher, na janela que se abrirá, para quem deseja enviar o arquivo criptografado.

O Seahorse irá gerar automaticamente um novo ar quivo com extensão “.pgp”. Para descriptografá-lo, basta dar um duplo clique sobre ele e digitar a senha de sua chave privada. Muito fácil não é mesmo?

Agora vamos configurar o seu Evolution para enviar e receber e-mails assinados e criptogra fados.

Com o Evolution aberto, vamos em:“Editar > Preferências > Contas de Correio”

Utilização do SearHorseSelecione sua conta de e-mail e clique em Editar. Vá até a aba “Segurança” e coloque o ID da sua chave (você poderá ver qual o ID da sua chave na janela principal do Seahorse) no campo correto e ative a caixa “Sempre assinar mensagens enviadas ao usar esta conta”. Agora é só começar a enviar seus e-mails assinados digitalmente (quando você for enviar um e-mail, será solicitado pela sua senha da chave). Agora vamos aprender a criptografar!Para enviar um e-mail criptografado a um amigo, você precisará primeiro possuir uma cópia da chave pública dele. Na janela principal do Seahorse você poderá clicar em “Procurar Chaves Remotas” e colocar o e-mail dele no campo. Selecione a chave correta e clique em “Importar”.De volta à janela principal do Seahorse e já com a chave pública de seu amigo importada, vá até a aba “Keys I?ve Collected”.

Utilização do SearHorseIMPORTANTE: Quando você localizar a chave de alguém pelo servidor, entre em contato com a pessoa e certifique-se de que aquela é mesmo a chave verdadeira (passe o Key ID da chave para a pessoa confirmar). Você deve ter notado que é possível criar dezenas de chaves usando qualquer nome e qualquer e-mail, portanto tenha certeza de que a chave que está importando é a correta e não uma falsa. Uma boa dica é procurar as pessoas que assinaram esta chave e atestaram ser válida (trataremos disto à seguir).Na aba “Keys I’ve Collected”, selecione a chave de seu amigo e clique em “Properties“. Na janela que abrir, clique na aba ”Confiar“ e marque a caixa ”I have verified that this key belongs to who it says it does“ que irá dizer ao GnuPG que você confia naquela chave e que verificou se achave é mesmo da pessoa que diz ser. Clique em ”Fechar“.

Utilização do SearHorseAgora vá até a aba ”Keys I Trust“ e verá lá as chaves que você confia. Se você realmente tem certeza de que aquela chave é da pessoa que diz ser a dona, você poderá assinar com sua chave privada a chave pública de seu amigo, atestando publicamente que você confia naquelachave (como pode ver, a rede de chaves públicas é uma grande rede de confiança).

Para assinar a chave (você não é obrigado a assiná-la para enviar um e-mail criptografado a ela, mas é bom ajudar os amigos não é verdade?) selecione-a e clique no botão ”Properties“ novamente. Vá até a aba ”Confiar“ e clique no botão ”Sign“ para fazer a assinatura.

Utilização do SearHorseDepois de assinar, clique em ”Fechar“, selecione a chave de seu amigo, clique com o botão direito e selecione a opção ”Sync and Publish Keys“ para que as alterações sejam enviadas para o servidor. Peça para seus amigos assinarem a sua chave pública também garantindo uma maiorconfiabilidade para a mesma.Bom, se você já importou a chave de um amigo e disse ao GnuPG que confia nela, basta da janela do seu Evolution, criar um novo e-mail, e na janela de redigir, selecione a opção:”Segurança > Criptografar com PGP“.

Note que o Daemon do Seahorse deve estar rodando e sua senha (a da chave) será solicitada ao clicar em ”Enviar“.

Utilização do SearHorseSe alguém lhe enviar um e-mail criptografado, ao selecioná-lo na lista, você já será solicitadopara digitar sua senha da chave privada. Ao digitar a senha, o Evolution irá descriptografar oe-mail automaticamente para você e exibi-lo. Com isso a garantia é muito maior de que ninguémconsiga ler seus e-mails no meio do caminho entre você e seu amigo