Escolar Documentos
Profissional Documentos
Cultura Documentos
Criptografia:
SEGURANÇA
teoria e prática
Todos sabem que a criptografia promove a segurança.
Entenda como e por quê usá-la ao máximo.
por Marcio Barbado Jr. e Tiago Tognozi
A
criptografia diz respeito ao tocolos) criptográficos da atualidade, mensagem. Um exemplo simples
conjunto de princípios e téc- bem como sua forma de utilização. é a transformação de “muito obri-
nicas utilizados na proteção A crescente complexidade dos gado” em “omtui oobdraig”. Para
digital ou mecânica de informações. cálculos envolvidos na criptografia quem gosta de Matemática, é in-
Utilizadas desde a antiguidade greco- fez com que o advento da computa- teressante destacar que esta cate-
romana, as práticas criptográficas ção pudesse explorar tais conceitos goria de algoritmo criptográfico é
eram inicialmente aplicadas por com maior eficácia, devido à rapidez composta por uma função bijetora
ferramentas mecânicas muito sim- com que os computadores processam para efetuar encriptações e sua
ples e perspicazes, que ocultavam operações. Hoje, diversos programas inversa faz a mensagem voltar à
mensagens legíveis, cifrando-as em comuns, criados para outras finalida- forma original;
formatos incompreensíveis. des que não a proteção de conteúdo, algoritmo de substituição: subs-
Historicamente, quatro grupos já apresentam funções criptográficas titui caracteres ou grupos de ca-
de pessoas contribuíram para sua através das quais o usuário pode en- racteres por outros caracteres ou
evolução: criptar suas informações. No caso grupos de caracteres. Um exem-
os militares (o grupo mais im- das distribuições Linux, os editores plo simples: “muito obrigado” é
portante); de texto Vi e Vim são dois exemplos. transformado em “nvjup pcsjh-
os diplomatas; bep”, substituindo cada letra pela
pessoas que gostam de guardar Tipos de algoritmos próxima na sequência alfabética.
memórias; e A criptografia possui duas abordagens. Cabe aqui menção à eficácia
os amantes. Uma, bastante acessível, sustenta-se que alguns algoritmos deste tipo
em leis matemáticas e é conhecida têm demonstrado no combate ao
Foram os militares que percebe- como “criptografia clássica”. A outra, spam, empregados para proteger
ram uma das principais necessida- chamada “criptografia quântica”, é endereços de e-mail.
des advindas da adoção de técnicas estruturada sobre a primeira e, além
criptográficas: alternar rápida e efi- disso, faz uso de leis da física. Porém, Diversas são as maneiras de se
cientemente entre as metodologias sua adoção ainda enfrenta barreiras, empregar produtivamente algumas
utilizadas. Isso porque vislumbravam dada a necessidade dos altos investi- técnicas criptográficas clássicas por
a possibilidade de seus especialistas mentos em infraestrutura envolvidos. meio de computadores. Pode-se des-
serem capturados por inimigos. A abordagem quântica utiliza fótons tacar dentre elas o fortalecimento de
Uma macroanálise da criptografia para gerar chaves inquebráveis, as duas práticas comuns a qualquer u-
a revela como um conjunto de algo- ditas “chaves quânticas”. suário ou empresa: o backup e a troca
ritmos que, bem empregados, bene- O foco adotado neste artigo é a de mensagens eletrônicas.
ficiam diversos processos. Assim, este criptografia clássica, cujos tipos de Entre as organizações que contri-
primeiro artigo de uma série sobre algoritmo utilizados são: buíram para a evolução da criptogra-
criptografia procura apresentar os algoritmo de transposição: rearran- fia, destacam-se a RSA Security e a
mais respeitados algoritmos (e pro- ja a ordem dos caracteres de uma BT Counterpane.
64 http://www.linuxmagazine.com.br
Criptografia | SEGURANÇA
Exemplificando de forma tão con- A solução elementar encontrada A confusão começa com o termo
creta quanto prosaica, os conceitos para caso 1 foi chamada de criptogra- “codificar”, cujo oposto é “decodificar”.
criptográficos buscam solucionar fia simétrica, pois a chave que fecha Há um respeitado padrão do go-
problemas universais comuns a duas o acesso à informação é a mesma verno norte americano, chamado
situações básicas: que o abre. “Federal Standard 1037C”, que é em
1. proteger informações armaze- Já para o segundo caso, encontrou- verdade um glossário de termos utili-
nadas e utilizadas sempre pela se uma solução na qual a chave de zados em telecomunicações, e define
mesma pessoa ou entidade, e abertura é diferente daquela que o termo encrypt (“encriptar”) como
2. proteger informações trocadas fecha o documento e, por isso, tal sinônimo de encode (“codificar”):
entre duas pessoas (ou entidades) mecanismo foi chamado assimétrico.
diferentes. A proposta apresentada neste artigo encrypt: 1. [A] generic term
é de uso simplificado sob qualquer encompassing encipher and en-
ponto de vista. code. [NIS] 2. To convert plain
Simetria Esta primeira parte teórica apresen- text into unintelligible forms by
Antes de caracterizar rigorosamen- ta uma coletânea de conceitos funda- means of a cryptosystem. Note:
te esses dois casos, é conveniente mentais para o devido entendimento The term “encrypt” covers the
registrar o significado da palavra dos próximos tutoriais desta série. meanings of “encipher” and
“simetria”. “encode.” [JP1]
Simetria, cujo antônimo chama- Terminologia
se assimetria, diz respeito à igualda- Rigorosamente, os sinônimos “encrip- Contudo, ocorre que, em determi-
de de propriedades existente entre tar” (com essa nova acepção) e “cifrar” nados contextos, existem diferenças
dois lados opostos de uma mesma são os termos mais precisos para des- entre “encriptar” e “codificar”.
situação. Um exemplo simples e crever a transformação de informações
concreto da existência de simetria úteis em dados enigmáticos não apro- Bits
é a imagem frontal do famoso mau- veitáveis. Os opostos de “encriptar” e É comum ouvir de vendedores de
soléu indiano Taj Mahal (figura 1). “cifrar” são, respectivamente, “decrip- equipamentos, especialmente no
Nota-se que, imaginando uma linha tar” e “decifrar” – também sinônimos caso de roteadores sem fio, que a
vertical dividindo a imagem do mau- que denotam a transformação contrá- troca de informações proporciona-
soléu ao meio, é possível identificar ria, que faz dados aparentemente sem da pelo equipamento é segura, com
características estéticas de uma me- sentido tornarem-se informações úteis. o único argumento de que utiliza
tade que também estarão presentes O termo “criptografar” não estaria er- criptografia com 256 bits.
–- espelhadas no outro lado. Mais do rado em qualquer das situações acima; Além de passarem uma ideia
que isso, é possível enxergar que os é apenas pouco específico. equivocada e simplista de ser a crip-
referidos detalhes correspondentes
possuem a mesma distancia da linha
divisória imaginária.
O contexto abordado neste artigo
trata o conceito de simetria aplican-
do-o às pessoas e serviços que par-
ticipam do processo criptográfico.
Então, voltando às duas situações
já destacadas, a proteção de infor-
mações para uso próprio é um caso
simétrico, já que a pessoa a utilizar
um dado arquivo é a mesma que o
guardou. Uma situação comum que
se enquadra nesse caso é o backup.
O segundo caso – proteção de in-
formações trocadas com outros – é
assimétrico, pois envolve dois usuá-
rios distintos. O exemplo básico é a
troca de e-mails confidenciais. Figura 1 O Taj Mahal é um exemplo de simetria.
tografia fundamentada em potên- bits não oferecem segurança. No en- fecha) é a mesma que decripta (lado
cias de 2, esses números que muitos tanto, se tal valor fosse empregado às que abre). É aí que está a simetria:
fabricantes vendem como prova de chaves utilizadas nas comunicações a mesma pessoa em ambos os lados.
segurança realmente convencem os sem fio, inviabilizaria a comodidade Um caso digno de destaque pela
consumidores. oferecida pelo padrão Wi-Fi, pois distorção explícita com que trata a
Cabe a indagação: por qual razão tornaria mais lenta a troca de dados. criptografia é o Wi-Fi, cuja prote-
exatamente esses 256 bits devem Portanto, não há razões para tran- ção mais elaborada até o momento,
tranquilizar o usuário? quilidade ao se adquirir um roteador descrita pelo padrão WPA2, utiliza
Inicialmente, tais números são que empregue chaves de 256 bits. cifras simétricas em comunicações
utilizados tanto na criptografia si- entre dois pontos distintos.
métrica quanto na assimétrica. Po- Algoritmos O motivo dessa aberração é o ga-
dem referir-se, no caso simétrico, Também chamados de cifras, os al- nho de desempenho proporcionado
ao tamanho do bloco utilizado no goritmos criptográficos são utilizados por algoritmos simétricos.
algoritmo conhecido por “cifra de em criptografia simétrica e assimétri-
blocos”; e no caso assimétrico, ao ca para fins diversos, e nem sempre Algoritmos simétricos
tamanho da chave. estão diretamente ligados a encrip- AES: Também conhecido como
Como no roteador sem fio estamos tações ou decriptações. Podem servir Rijndael, AES significa Advanced
falando em comunicações entre duas a outros propósitos, como a geração Encryption Standard (padrão de
ou mais partes diferentes, o tipo de de pares de chaves, ou ainda para encriptação avançada). O algorit-
criptografia utilizado é o assimétri- assinaturas digitais. mo é um padrão FIPS resultante
co. Provavelmente, os vendedores se de um projeto do NIST, instituto
referem a um número que especifica Criptografia simétrica americano de normas tecnoló-
tamanhos de chaves utilizadas pelo Simples e útil, a criptografia simétrica gicas. A cifra está presente nos
equipamento. deve cobrir situações nas quais uma softwares BitLocker e WinZip,
Cabe salientar o consenso cientí- só parte esteja envolvida. Por exem- assim como no padrão WPA2
fico de que mesmo as chaves de 512 plo, a pessoa que encripta (lado que (802.11i para Wi-Fi) e outros;
DES: Algoritmo criptográfico
criado pela IBM;
IDEA: IDEA significa Internatio-
nal Data Encryption Algorithm
ou “algoritmo internacional para
encriptação de dados”;
Blowfish: Elaborado por Bruce
Schneier em 1993, este algoritmo
criptográfico leva o nome do pei-
xe que conhecemos por baiacu.
Salt
Recurso poderoso para encriptar
conteúdo de texto simples, o salt
diz respeito a valores pseudoalea-
tórios concatenados ao texto sim-
ples antes deste ser passado a uma
função. Os valores e o tamanho do
salt podem variar em acordo com
a necessidade. Após aplicado à in-
formação, o resultado é entregue à
função KDF para que o resultado,
Figura 2 A chave pública pode ser divulgada de duas formas: individualmen- já considerado protegido, seja então
te, pelo dono, para cada interlocutor, ou do dono para um “servidor armazenado. O salt utilizado pode
de chaves”, que se encarrega de distribuí-la para quem a desejar. ser o IV (vetor de inicialização),
66 http://www.linuxmagazine.com.br
Criptografia | SEGURANÇA
so interessante entre desempenho e privacidade sobre as chaves privadas clientes com os quais troca emails.
segurança das operações. de modo a compensar essa vulnera- São duas as situações nas quais eles
bilidade. Frequentemente, esse pro- a utilizarão:
Chave privada blema pode ser resolvido protegendo- quando forem encriptar infor-
Uma chave privada deve sempre ser se a chave privada com uma senha mações que devem ser revela-
de conhecimento exclusivo de seu u- mais curta e memorizável. das apenas a ele (e poderão ser
suário. Apresenta-se como uma senha decifradas apenas pela chave
bem grande em um arquivo texto, Chave pública privada dele); e
com no mínimo 1024 bits, ou seja, Assim como no caso da chave priva- quando desejarem verificar
uma cadeia extensa de caracteres. da, a apresentação mais simples da a autenticidade da assinatura
Sendo muito comprida, sua me- pública ocorre por meio de um ar- digital de Marcio (veja a se-
morização é muito difícil. É exata- quivo texto, como mostra a listagem ção “Assinatura digital”) que
mente neste ponto que as chaves pri- 1. Ela representa a chave pública do eventualmente constar em al-
vadas diferem de senhas tradicionais, coautor do presente texto. gum email ou arquivo que ele
pois, ao passo que uma senha pode Há muita informação importante lhes enviar.
e deve ser memorizada, chaves pri- entre as linhas:
vadas devem justamente evitar esse Essas situações podem sugerir
fenômeno. –--BEGIN PGP PUBLIC KEY BLOCK–-- que uma chave pública é melhor
Por isso, essas chaves devem ser aproveitada quando amplamente di-
armazenadas digitalmente no com- e vulgada. Isso é verdade em um caso,
putador de seus donos, o que não se mas, no outro, requer algum cuida-
aconselha fazer com senhas tradicio- –--END PGP PUBLIC KEY BLOCK–-- do para que não seja uma mentira.
nais, pois o armazenamento desse Os dois casos estão respectivamente
tipo de informação em computado- incluindo um nome e um endereço apresentados na figura 2. Note que
res constitui um risco de segurança. eletrônico. muitos usuários da criptografia as-
É preciso, portanto, adotar proce- Suponha que Marcio tenha for- simétrica utilizam ambos os meios
dimentos adicionais que garantam a necido sua chave pública a todos os para divulgar suas chaves.
Na figura 2, a primeira forma de
Listagem 1: Chave pública do autor deste artigo divulgação é trabalhosa. Requer co-
municações individuais com cada
–--BEGIN PGP PUBLIC KEY BLOCK–-- um dos contatos e, além disso, exige
Version: GnuPG v2.0.11 (GNU/Linux)
novos informes sempre que o dono
mQGiBEkdvC4RBACs31hu82H75EAzMCNehjYtokIqqkH2z1nEw1NDpm8EtjPMQCxw da chave pública precisar se comuni-
g+RwLc7VHf+EfwdbC6nYuuI9RLr/Yb92/tmIy8PuhZMpuddBJWW1D0vcKJqUpS4j car com um novo contato. É seguro,
XHXm3DsF/cax0xBtuUb43myckOrL25ZGQXS1M/ZqtTNR/8PEGZkaD/5KkwCg/FX8 entretanto, já que os contatos possui-
ZWzw3P8uLdRvh/UlDzXN+lcD/3b2vvYvYMhh5FwdlnASVatot03DdZ122wH3wJay rão cópias da chave, que receberam
2DAtAxkLr7bwH+aL9PzEIWka3iLNZKnAJcyjj4Dxj9bEU64gtRGEIWDEoG4Cwh9u
diretamente de seu detentor.
K0ooZCJKUi9/j2kkU+fbpTw0st2H5R8xEWkTOWXy3Lclzi8bydaAAyvrfjfnxTac
rbEcA/93MN6UyNUUXXRv+QWD7YqnZSrAcAZaH289imJP7LtFrH+8IQQC97MVAKVq A segunda forma parece mais
0I8EuFdSN5QAXumvrTCfXwnQ53bLePCz8R9rEuX9zu6oFa2nzCthKoH+kos3fhx9 prática, e pode, de fato, ser. Porém,
QxtAQDYnCJiD/Mq/7tOntZKmerkxxzfzrScv75rsPQslrrGO+bRCTWFyY2lvIEJh tão prática quanto insegura, caso
cmJhZG8gSnIgKGJkc2xhYnMuY29tLmJyKSA8bWFyY2lvLmJhcmJhZG9AYmRzbGFi não se tome algumas providências.
cy5jb20uYnI+iFkEExECABkFAkkdvC4ECwcDAgMVAgMDFgIBAh4BAheAAAoJEI1o
O ponto-chave é a confiabilidade das
tYNuFxtYY6UAoL9BYLtQnKjp68iWwFPcjLSC7cAEAKDoYLbNcdYX9d+7bsMqaMn0
LadXAIhGBBARAgAGBQJKVPfsAAoJEDFGSJOKmKWE3rcAn3W5d3JUBv4AVaCVP9Yf fontes intermediárias, responsáveis
w15x7fDRAJ4z3X+S102+FcWqpB9lGdSh5FvVnLkBDQRJHbwvEAQAlLr9rpf7+0VV por fornecer chaves públicas. Essas
1CLkXHza64TWuohYHvvBeiaDErPMqvyPTJVhQiePtt/kHDYjtT/lsyaKggkLbXd6 fontes representam participantes
C1xAjkconDVULfiJMniVcEFfKyPNezqnwFt6IsggFk/ukakkkSO4hbYKBVFMM76c adicionais no processo de distribui-
PjnFWBi4Jxv64HmAFy4qc/Zc/DwEcV8AAwUD/AwsG53w0H7p6AybHE/kJ8Xe+5Sx
gltdtGmrI5uE32/hq9qDQObK0wEt3QH/QjItzqX31WqEokIID3wEvYJnJMgUvBll
ção de chaves. No mais otimista dos
BmEQXDCZ0rwSD8wUHrdiQZfaK7xqRyEkmQdGWTbGVzhBClezXSPlKIdEiPy9LY2g cenários, são instâncias adicionais a
xaefelfbPNPwDUrQiEYEGBECAAYFAkkdvC8ACgkQjWi1g24XG1jAfwCg6GMoeP4W ser protegidas. Isso consome recursos
8gWnLUq8XPxqhsJNohMAni7Ll32CgFIt3YkiH4rwNsUWh2uc de diversas naturezas.
=IdBq Essas instâncias são locais da In-
–--END PGP PUBLIC KEY BLOCK–--
ternet, chamados de servidores de
68 http://www.linuxmagazine.com.br
Criptografia | SEGURANÇA
chaves, que hospedam chaves pú- tenção de sua chave pública servidor for administrado indevida-
blicas gratuitamente. Muitas vezes, por seus contatos; mente, é possível, por exemplo, que
facilitam o trabalho de divulgação e se o responsável pelo servidor usuários mal intencionados realizem
disponibilização de chaves às custas de chaves não cumprir seu pa- um segundo cadastro do referido de-
da segurança. A chave é disponibili- pel, é possível explorar falhas do tentor, com uma chave pública falsa.
zada uma única vez em um desses referido serviço, sendo uma das Isso confunde os contatos do dono
servidores, que geralmente é público. principais o cadastro de chaves da verdadeira chave e prejudica suas
Trata-se de uma forma de divulga- falsas com nomes de pessoas comunicações seguras.
ção que, para aumentar a segurança, reais (e que, em certos casos, Convém salientar que, ao dispo-
exige procedimentos específicos das possuem um par de chaves); nibilizar uma chave pública em um
três partes envolvidas, a saber: caso o contato não cumpra seu servidor de chaves, muitos poderão
o dono da chave pública, que de- papel, pode acabar obtendo obtê-la. Ela poderá ser encontrada
seja divulgá-la e disponibilizá-la; uma chave falsa que de nada por qualquer um com acesso à In-
o responsável pelo servidor de lhe servirá, e ainda prejudicará ternet, mesmo que nenhum contato
chaves, que será a parte inter- suas tentativas de se comunicar de seu dono tenha sido notificado
mediária, e irá abrigar a chave com o suposto dono da chave. sobre sua existência. E isso não
pública; e constituirá uma vulnerabilidade
o contato, também um usuário Percebe-se que o segundo modo apenas se os responsáveis pelo ser-
da criptografia, que precisa obter de divulgação, assim como o pri- vidor possuírem controle sobre o
a chave pública do dono. meiro, exige uma postura ativa do cadastro de chaves.
detentor da chave e possui o agra- Um bom exemplo de controle
Assumindo suas responsabilidades, vante do intermediário. Portanto, pode ser realizado enviando emails
cada uma dessas três partes pode re- é ilusória a percepção de que um que solicitem confirmação de cadas-
duzir os riscos inerentes à segunda servidor de chaves proporciona pra- tro. Nesses casos, tais serviços cons-
forma de divulgação: ticidade ao usuário. tituem uma facilidade bem vinda.
o dono de uma chave públi- O ponto que desperta preocupação Uma prova de conceito que de-
ca, disponibilizando-a em um fica por conta da independência dos monstra a fragilidade do método de
servidor de chaves, deve se cer- servidores de chaves. Mesmo que divulgação via servidores de chaves
tificar de que o serviço é bem o detentor da chave pública e seus será apresentada no próximo artigo
administrado e deve fornecer contatos atuem corretamente, se o desta série. Até lá! n
a seus contatos as informações
de acesso a este. Por exemplo,
o endereço do servidor; Sobre os autores
o responsável pelo servidor de Marcio Barbado Jr. (marcio.barbado@bdslabs.com.br) e Tiago Tognozi (tiago.tognozi@bdslabs
chaves deve configurar e admi- .com.br) são especialistas em segurança na BDS Labs (www.bdslabs.com.br).
nistrar corretamente seu serviço,
principalmente no que se refere
ao cadastro de chaves; e
Nota de licenciamento
o contato, ao buscar uma chave
pública, deve utilizar as informa- Copyright © 2010 Marcio Barbado Jr. e Tiago Tognozi
ções de acesso fornecidas pelo É garantida a permissão para copiar, distribuir e modificar este documento sob os termos da Li-
dono desta, que o conduzirão cença de Documentação Livre GNU (GNU Free Documentation License), Versão 1.2 ou qualquer
versão posterior publicada pela Free Software Foundation. Uma cópia da licença está disponível
corretamente ao servidor de em http://www.gnu.org/licenses/fdl.html
chaves.