Академический Документы
Профессиональный Документы
Культура Документы
SEGURANA
Criptografia:
teoria e prtica
Todos sabem que a criptografia promove a segurana.
Entenda como e por qu us-la ao mximo.
por Marcio Barbado Jr. e Tiago Tognozi
Tipos de algoritmos
http://www.linuxmagazine.com.br
Criptografia | SEGURANA
Simetria
Terminologia
Bits
65
SEGURANA | Criptografia
Algoritmos
Criptografia simtrica
Algoritmos simtricos
Salt
A chave pblica pode ser divulgada de duas formas: individualmente, pelo dono, para cada interlocutor, ou do dono para um servidor
de chaves, que se encarrega de distribu-la para quem a desejar.
66
http://www.linuxmagazine.com.br
Criptografia | SEGURANA
Criptografia
assimtrica
Hermticas, mas eficazes e portanto, desejveis. Assim eram vistas
as tcnicas assimtricas at pouco
tempo atrs. As patentes sobre os
principais algoritmos os isolavam do
conhecimento pblico. Tais tcnicas,
em verdade, ganham projeo ao se
considerar a interceptao de informaes, um incmodo atemporal.
Pode-se citar 1976 como o ano
do nascimento da criptografia assimtrica, pois foi quando Whitfield
Diffie e Martin Hellman publicaram
o primeiro trabalho descrevendo um
sistema assimtrico (ento patenteado) nos moldes atuais.
Atualmente, a utilizao desregrada de correio eletrnico, alimentada
pela sede de produtividade e resultados constitui uma das lacunas mais
bem preenchidas pela criptografia
assimtrica.
O email desprotegido compromete, mais do que o fechamento de negcios, a vida dos seres humanos por
trs dele. Tal conjuntura fez da ento
hermtica criptografia assimtrica
uma dribladora das interceptaes
no autorizadas de dados.
So duas as componentes da segurana proporcionada pela criptografia
assimtrica: privacidade e autenticidade, como mostra a
.
As componentes so independentes e podem ser utilizadas separadamente. So teis, por exemplo,
na troca de emails. Porm, tais conceitos so recomendados a qualquer
troca de informaes entre pessoas
ou servios. Todavia, seu uso exige
que cada um dos lados possua um
par de chaves, sendo uma chamada
pblica e a outra privada.
A chave pblica de um usurio
de email deve ser do conhecimento
das pessoas que lhe desejam enviar
Tabela 1:
Componentes da segurana por criptografia simtrica
Par de chaves
Confere
Importncia
Do destinatrio
Privacidade
Do remetente
Autenticidade
Chave
Tamanho da chave
67
SEGURANA | Criptografia
Chave privada
Chave pblica
e
--END PGP PUBLIC KEY BLOCK--
68
http://www.linuxmagazine.com.br
Criptografia | SEGURANA
Sobre os autores
Marcio Barbado Jr. (marcio.barbado@bdslabs.com.br) e Tiago Tognozi (tiago.tognozi@bdslabs
.com.br) so especialistas em segurana na BDS Labs (www.bdslabs.com.br).
Nota de licenciamento
Copyright 2010 Marcio Barbado Jr. e Tiago Tognozi
garantida a permisso para copiar, distribuir e modificar este documento sob os termos da Licena de Documentao Livre GNU (GNU Free Documentation License), Verso 1.2 ou qualquer
verso posterior publicada pela Free Software Foundation. Uma cpia da licena est disponvel
em http://www.gnu.org/licenses/fdl.html
Gostou do artigo?
Queremos ouvir sua opinio. Fale conosco em
cartas@linuxmagazine.com.br
Este artigo no nosso site:
http://lnm.com.br/article/3241
69
SEGURANA
Criptografia: teoria
e prtica, parte 2
Chaves pblicas e privadas tm diversos usos e formas. Veja
como us-las e como elas so mal utilizadas.
por Marcio Barbado Jr. e Tiago Tognozi
chave pblica;
d uma chave de decriptao
pertencente a K, ou seja, uma
chave privada;
D um sistema de decriptao
com uma coleo de funes
inversas Dd, ditas D ndice
dezinho e formalizadas como:
K;
70
E um sistema de encriptao
Dd : d
tal que:
Ee (m) = c
e
Dd (c) = m
http://www.linuxmagazine.com.br
Criptografia | SEGURANA
Dd (Ee (m)) = m
Decifrar a si mesma
Por que uma chave pblica no consegue decifrar o que ela mesma encripta? Utilizar uma chave pblica e
encriptar uma mensagem envolve a
aplicao de uma funo bijetora do
tipo trapdoor. Tal funo devolve
a mensagem encriptada.
Vamos relembrar alguns conceitos de funes. Considere a funo:
x = (y-1)
Ento:
x = (11-1)
x=5
f(x) = y
Funes bijetoras (
) so
injetoras (diferentes valores de X
levam a diferentes valores em Y,
) e sobrejetoras (todo elemento
de Y corresponde a pelo menos um
elemento de X,
).
Portanto, uma funo bijetora,
sendo injetora e sobrejetora, possui o
mesmo nmero de elementos em X e
Y. Durante o perodo escolar bsico,
um contra-exemplo clssico oferecido aos alunos a seguinte funo:
f(x) = x2
Note na
que no se trata de
uma funo injetora. A tabela mostra
que diferentes valores de X nem sempre conduzem a resultados distintos
em Y. A funo no injetora, logo,
no h bijeo. Ela no serve a fins
de encriptao assimtrica.
Convm, entretanto, salientar que
a funo tambm no sobrejetora,
pois os valores negativos de Y jamais
sero alcanados.
Assim como nos casos mais simples da Matemtica, aps aplicar uma
Algoritmos
assimtricos
Os algoritmos apresentados a seguir
se referem componente de privacidade, ou seja, so utilizados para
encriptao e decriptao:
sistema ElGamal: algoritmo de
criptografia assimtrica baseado
em Diffie-Hellman.
O GnuPG se refere a ele como
ELG-E;
SEGURANA | Criptografia
Tabela 1:
Funo no injetora
x
f(x)
-2
Autenticao
Assinatura digital
http://www.linuxmagazine.com.br
Criptografia | SEGURANA
Arquivo
original
DSA
Servidores de
chaves pblicas
comum disponibilizar chaves pblicas em servios gratuitos oferecidos na Internet. Indubitavelmente,
um dos mais notrios servidores de
Remetente
(Brasil)
Destinatrio
(Uganda)
Chave
privada
Chave
pblica
Assinatura
digital
Arquivo
digitalmente
assinado
Verificao
Arquivo
digitalmente
verificado
73
SEGURANA | Criptografia
Comum
chave pblica
chave privada
Certificao digital
certificado digital
chave privada
O padro OpenPGP
Certificado digital
http://www.linuxmagazine.com.br
Criptografia | SEGURANA
ARs e ACs
75
SEGURANA | Criptografia
CRL
ICP-Brasil
Aberraes de cloud
Mais informaes
[1] Marcio Barbado Jr. e Tiago Tognozi, Criptografia: teoria e prtica:
http://lnm.com.br/article/3241
[2] Lista de servidores de chaves: http://www.dmoz.org/Computers/
Security/Products_and_Tools/Cryptography/PGP/Key_Servers/
[3] RFC 2440 do IETF: http://www.apps.ietf.org/rfc/rfc2440.html
[4] Instituto Nacional de Tecnologia da Informao:
http://www.iti.gov.br
Sobre os autores
Marcio Barbado Jr. (marcio.barbado@bdslabs.com.br) e Tiago Tognozi (tiago.tognozi@bdslabs
.com.br) so especialistas em segurana na BDS Labs (www.bdslabs.com.br).
Nota de licenciamento
Copyright 2010 Marcio Barbado Jr. e Tiago Tognozi
garantida a permisso para copiar, distribuir e modificar este documento sob os termos da Licena de Documentao Livre GNU (GNU Free Documentation License), Verso 1.2 ou qualquer
verso posterior publicada pela Free Software Foundation. Uma cpia da licena est disponvel
em http://www.gnu.org/licenses/fdl.html
Gostou do artigo?
Queremos ouvir sua opinio. Fale conosco em
cartas@linuxmagazine.com.br
Este artigo no nosso site:
http://lnm.com.br/article/3292
http://www.linuxmagazine.com.br
Complete
a sua coleo
Mais
informaes
Site:
www.linuxmagazine.com.br
SEGURANA
Criptografia: teoria
e prtica, parte 3
Entenda os algoritmos de hash e comece a
praticar a criao de pares de chaves.
por Marcio Barbado Jr. e Tiago Tognozi
Hash
Funes de hash
http://www.linuxmagazine.com.br
Criptografia | SEGURANA
Message
O mundo das funes de hash chama os argumentos (tambm conhecidos como entradas) de message
(mensagem), ou seja, caso uma
dessas funes resolva extrair o hash
de um arquivo MP3, tal arquivo a
message da funo, e o checksum
extrado chamado de message digest (mensagem digerida).
Tamanho da sada
Aplicaes
A camada de aplicao
65
SEGURANA | Criptografia
PCI DSS
Encriptao de disco
Gerenciamento
de identidades
O termo gerenciamento de identidades designa uma categoria de
produtos e servios que fazem uso
das tcnicas assimtricas de autenticao.
GnuPG ou GPG
Poltica de
backup ideal
Considere a to tradicional quanto
frequente necessidade que as empresas possuem de realizar backups.
Os arquivos presentes nas referidas
cpias de segurana costumam ser
guardados em mdias fisicamente
separadas de suas mquinas de origem, ou seja, os backups so feitos
em CD-Rs, CD-RWs, DVDs diversos, unidades de fita etc. Se, por um
lado, isso oferece segurana mediante
fontes redundantes das informaes
em questo, acaba, por outro lado,
disponibilizando aqueles arquivos
em mais de um lugar e, consequentemente, expondo-os ao dobro do
risco de ser indevidamente acessados
ou manipulados.
Hipoteticamente, estando os arquivos originais em um servidor seguro,
quo protegidas estaro suas cpias?
Considerando um cenrio plausvel de furto das as mdias de backup,
o emprego do GnuPG em polticas
de backup reduziria significativamente as chances dos criminosos
utilizarem os arquivos, uma vez que
as informaes estariam encriptadas.
Funcionamento
http://www.linuxmagazine.com.br
Criptografia | SEGURANA
Criptografia no KDE
Prtica
fundamental no comportamento
do programa. Trata-se de um arquivo texto utilizado para se ativar ou
desativar recursos do GPG.
Algumas instalaes do GnuPG
trazem a proteo integridade MDC
desativada por motivos de compatibilidade com o PGP. Isso faz com
que o programa gere avisos como:
Passphrase
load-extension idea
Mdulo IDEA
ou
$ gpg2 --version
Por meio desses comandos, o algoritmo IDEA deve surgir como uma
opo de cipher.
SEGURANA | Criptografia
Mais informaes
[1] CPqD: http://www.cpqd.com.br/
[2] Truecrypt: http://www.truecrypt.org/
[3] PGP na Wikipdia: http://pt.wikipedia.org/wiki/PGP
[4] Mtodo de criptografia Diffie-Hellman na Wikipdia:
http://pt.wikipedia.org/wiki/Diffie-Hellman
[5] Plugin IDEA para GnuPG: ftp://ftp.gnupg.dk/pub/contrib-dk
[6] Marcio Barbado Jr. e Tiago Tognozi, Criptografia: teoria e prtica,
parte 2:
http://lnm.com.br/article/3292
Sobre os autores
Marcio Barbado Jr. (marcio.barbado@bdslabs.com.br) e Tiago Tognozi (tiago.tognozi@bdslabs
.com.br) so especialistas em segurana na BDS Labs (www.bdslabs.com.br).
Nota de licenciamento
Copyright 2010 Marcio Barbado Jr. e Tiago Tognozi
garantida a permisso para copiar, distribuir e modificar este documento sob os termos da Licena de Documentao Livre GNU (GNU Free Documentation License), Verso 1.2 ou qualquer
verso posterior publicada pela Free Software Foundation. Uma cpia da licena est disponvel
em http://www.gnu.org/licenses/fdl.html
Gostou do artigo?
Queremos ouvir sua opinio. Fale conosco em
cartas@linuxmagazine.com.br
Este artigo no nosso site:
http://lnm.com.br/article/3330
http://www.linuxmagazine.com.br
SEGURANA
Criptografia: teoria
e prtica, parte 4
Entenda por que os servidores de chaves tm falhas graves e veja
como importar chaves de outras entidades com o GnuPG.
por Marcio Barbado Jr. e Tiago Tognozi
a ltima edio [1], explicamos na prtica como gerar um novo par de chaves
criptogrficas com o GnuPG. Agora, vamos comear a explorar o uso
dessas chaves para garantir tanto a
privacidade quanto a legitimidade
das informaes.
Utilizao
Publicar e recuperar
chaves pblicas
Uma maneira de se disponibilizar
amplamente uma chave pblica
cadastr-la em ao menos um servidor
de chaves. Servidores dessa natureza
tambm podem ser utilizados para
obter chaves pblicas pertencentes
a outras entidades (pessoas, empresas, organizaes etc.). O GnuPG
j traz embutidos os recursos necessrios para:
publicar em servidores de chaves (remotos) cpias de chaves
que a princpio esto localmente
armazenadas; e
acessar servidores de chaves
(remotos) para obter chaves e
cadastr-las localmente.
http://www.linuxmagazine.com.br
Criptografia | SEGURANA
0xB17B1E29
Servidores negligentes
O contedo desta seo possui finalidade educacional e carter denunciatrio. Um servidor de chaves mal
administrado prejudica as comunicaes entre seus usurios, causando um problema que pode assumir
propores indesejveis, dependendo
dos usurios prejudicados.
Exemplo melhor no h. O renomado key server do MIT (Massachusetts Institute of Technology),
localizado em pgp.mit.edu, o alvo
de nossa demonstrao. nele que
iremos demonstrar como a negligncia administrativa elimina todo
o sentido do uso desse servio.
Esta prova de conceito vai simular,
mas no efetivar o cadastro de uma
chave pblica que supostamente
pertence ao presidente dos Estados
Unidos da Amrica, Barack Obama.
ou seja:
$ gpg --keyserver \
pgp.mit.edu \
--send-keys 8753E6D3
SEGURANA | Criptografia
Backup
Por exemplo:
$ gpg2 --output rfc1918.txt.gpg \
--symmetric rfc1918.txt
Restaurao
Por exemplo:
Fluxo de operaes para envio de dados criptografados.
70
http://www.linuxmagazine.com.br
Criptografia | SEGURANA
Comunicao
Descrio
No sei ou no responderei
No confio
Confio pouco
Confio muito
Confio totalmente
Cadastrar
chaves pblicas
2DAtAxkLr7bwH+aL9PzEIWka3iLNZKnAJcyjj4Dxj9bEU64gtRGEIWDEoG4Cwh9u
O cadastro de uma nova chave pblica feito pela opo --import, utilizada juntamente com o comando
gnupg ou gnupg2.
Vamos tomar dois protagonistas
para uma srie de exemplos prticos que se estendero pelas prximas sees: Manuel e Luiza. Eles
possibilitaro apresentar situaes
e comandos recorrentes no uso da
criptografia assimtrica.
Supondo que Manuel trabalha
na matriz de uma fbrica e Luiza, na filial. Ambos possuem o
GnuPG instalado em seus sistemas operacionais e uma srie de
chaves pblicas j gravadas. Cada
uma dessas chaves corresponde a
um destinatrio.
0I8EuFdSN5QAXumvrTCfXwnQ53bLePCz8R9rEuX9zu6oFa2nzCthKoH+kos3fhx9
K0ooZCJKUi9/j2kkU+fbpTw0st2H5R8xEWkTOWXy3Lclzi8bydaAAyvrfjfnxTac
rbEcA/93MN6UyNUUXXRv+QWD7YqnZSrAcAZaH289imJP7LtFrH+8IQQC97MVAKVq
QxtAQDYnCJiD/Mq/7tOntZKmerkxxzfzrScv75rsPQslrrGO+bRCTWFyY2lvIEJh
cmJhZG8gSnIgKGJkc2xhYnMuY29tLmJyKSA8bWFyY2lvLmJhcmJhZG9AYmRzbGFi
cy5jb20uYnI+iFkEExECABkFAkkdvC4ECwcDAgMVAgMDFgIBAh4BAheAAAoJEI1o
tYNuFxtYY6UAoL9BYLtQnKjp68iWwFPcjLSC7cAEAKDoYLbNcdYX9d+7bsMqaMn0
LadXAIhGBBARAgAGBQJKVPfsAAoJEDFGSJOKmKWE3rcAn3W5d3JUBv4AVaCVP9Yf
w15x7fDRAJ4z3X+S102+FcWqpB9lGdSh5FvVnLkBDQRJHbwvEAQAlLr9rpf7+0VV
1CLkXHza64TWuohYHvvBeiaDErPMqvyPTJVhQiePtt/kHDYjtT/lsyaKggkLbXd6
C1xAjkconDVULfiJMniVcEFfKyPNezqnwFt6IsggFk/ukakkkSO4hbYKBVFMM76c
PjnFWBi4Jxv64HmAFy4qc/Zc/DwEcV8AAwUD/AwsG53w0H7p6AybHE/kJ8Xe+5Sx
gltdtGmrI5uE32/hq9qDQObK0wEt3QH/QjItzqX31WqEokIID3wEvYJnJMgUvBll
BmEQXDCZ0rwSD8wUHrdiQZfaK7xqRyEkmQdGWTbGVzhBClezXSPlKIdEiPy9LY2g
xaefelfbPNPwDUrQiEYEGBECAAYFAkkdvC8ACgkQjWi1g24XG1jAfwCg6GMoeP4W
8gWnLUq8XPxqhsJNohMAni7Ll32CgFIt3YkiH4rwNsUWh2uc
=IdBq
--END PGP PUBLIC KEY BLOCK--
71
SEGURANA | Criptografia
Depois, o comando:
$ gpg --list-keys
Mais informaes
[1] Marcio Barbado Jr. e Tiago Tognozi, Criptografia:
teoria e prtica, parte 3: http://lnm.com.br/article/3330
> trust
Exerccio
72
Sobre os autores
Marcio Barbado Jr. (marcio.barbado@bdslabs.com.br) e Tiago Tognozi (tiago.tognozi@bdslabs
.com.br) so especialistas em segurana na BDS Labs (www.bdslabs.com.br).
Nota de licenciamento
Copyright 2010 Marcio Barbado Jr. e Tiago Tognozi
garantida a permisso para copiar, distribuir e modificar este documento sob os termos da Licena de Documentao Livre GNU (GNU Free Documentation License), Verso 1.2 ou qualquer
verso posterior publicada pela Free Software Foundation. Uma cpia da licena est disponvel
em http://www.gnu.org/licenses/fdl.html
Gostou do artigo?
Queremos ouvir sua opinio. Fale conosco em
cartas@linuxmagazine.com.br
Este artigo no nosso site:
http://lnm.com.br/article/3405
http://www.linuxmagazine.com.br
SEGURANA
Criptografia, teoria
e prtica: parte 5
No artigo final desta srie, consolidam-se as prticas para envio e recepo
de arquivos e mensagens criptografados e assinados.
por Marcio Barbado Jr. e Tiago Tognozi
Mltiplos destinatrios
SEGURANA | GnuPG
Decriptar ao receber
que solicitar a passphrase para utilizar sua chave privada e ento decriptar o arquivo, transformando-o
de volta numa planilha que possa
ser aberta e utilizada por Luiza:
Faturamento-Julho09.ods.
ou simplesmente:
iD8DBQFKiz6VFTizx1Qd664RApsZAKCR87GzrdUhi4vnUaJD6kMz0BU5NQCgkmcq
LGD5Jn3u4qbqJfcM2KGjp7g=
=8RLi
---END PGP SIGNATURE---
70
http://www.linuxmagazine.com.br
GnuPG | SEGURANA
Verificar assinatura
ao receber
Esta seo pressupe que o destinatrio
j possua a chave pblica do remetente
(confira a seo Cadastrar chaves pblicas do quarto artigo desta srie [1]).
O comando --verify permite
que o lado receptor de um arquivo
digitalmente assinado possa conferir
a autenticidade desse arquivo utilizando a chave pblica da entidade
que o enviou.
Luiza recebe ento o arquivo mara.
txt.asc. Para saber se este veio mes-
Emails
Envio
71
SEGURANA | GnuPG
ou simplesmente:
$ gpg --clearsign reuniao.txt
72
Recepo
http://www.linuxmagazine.com.br
GnuPG | SEGURANA
Soluo de problemas
Concluses
Mais informaes
[1] Marcio Barbado Jr. e Tiago Tognozi, Criptografia: teoria e
prtica, parte 4: http://lnm.com.br/article/3405
[2] Listas de discusso do GnuPG:
http://www.gnupg.org/documentation/mailing-lists.html
[3] Histrico da lista dos usurios do GnuPG:
http://marc.theaimsgroup.com/?l=gnupg-users&r=1&w=2
[4] Histrico da lista dos desenvolvedores do GnuPG:
http://marc.theaimsgroup.com/?l=gnupg-devel&r=1&w=2
[5] Rastreamento de bugs do GnuPG:
https://bugs.g10code.com/gnupg/index
Sobre os autores
Marcio Barbado Jr. (marcio.barbado@bdslabs.com.br) e Tiago Tognozi (tiago.tognozi@bdslabs
.com.br) so especialistas em segurana na BDS Labs (www.bdslabs.com.br).
Nota de licenciamento
Copyright 2010 Marcio Barbado Jr. e Tiago Tognozi
garantida a permisso para copiar, distribuir e modificar este documento sob os termos da Licena de Documentao Livre GNU (GNU Free Documentation License), Verso 1.2 ou qualquer
verso posterior publicada pela Free Software Foundation. Uma cpia da licena est disponvel
em http://www.gnu.org/licenses/fdl.html
Gostou do artigo?
Queremos ouvir sua opinio. Fale conosco em
cartas@linuxmagazine.com.br
Este artigo no nosso site:
http://lnm.com.br/article/3475
73